IBM Worklight 6.0-Android构建错误



我们的项目通过Microsoft Team Foundation Server(TFS)进行源代码管理。

当Ant构建脚本在Worklight项目上执行"全部构建并部署"后执行时,我会看到以下错误:

生成文件:C: \Users\ren04\Documents\Workspaces\MCAMWorkspace\MCAMWorklightPOCJQ\apps\Fourcast\android\native.externalToolBuilders\wlprebuild.xml

运行:

生成失败的

C: \Users\ren04\Documents\Workspaces\MCAMWorkspace\MCAMWorklightPOCJQ\apps\Fourcast\android\native.externalToolBuilders\wlprebuild.xml:10:无法更改只读文件的修改日期C: \Users\ren04\Documents\Workspaces\MCAMWorkspace\MCAMWorklightPOCJQ\apps\Fourcast\android\native\res\xml\config.xml

总时间:342毫秒

以下是Worklight生成的wlprebuild.xml Ant脚本的内容,该脚本会触发错误:

<project name="wlprebuild" basedir="." default="run">
    <!-- Licensed Materials - Property of IBM
                         5725-G92 (C) Copyright IBM Corp. 2006, 2013. All Rights Reserved.
                         US Government Users Restricted Rights - Use, duplication or
             disclosure restricted by GSA ADP Schedule Contract with IBM Corp. -->
        <!-- This is worklight file that change timestamp of the AndroidManifest.xml when running as android project -->
        <target name="run">
                <touch file="../res/xml/config.xml" verbose="false"/>
    </target>
</project>

很明显,当Ant试图"触摸"TFS管理的Android工作灯项目中的config.xml文件时,它无法修改时间戳。这是因为该文件是只读的,并且由TFS管理为只读,直到在编辑器中对其进行修改(此时它从源代码存储库中签出并变为可编辑)。

我的问题是,config.xml文件的"触摸"有什么作用,它引起的错误是否是我们需要解决的问题?

需要触摸文件,是的。

如果我没有记错的话,这是因为在构建Worklight项目后,如果服务器和/或设备之间存在时间差,应用程序中的web资源可能无法更新。由于时间戳的原因,web资源现在总是最新的。

我自己没有尝试过,但也许你也可以:

  1. 保持config.xml文件的可写性
  2. 创建一个新文件并在wlprebuild.xml中指向它,这样"触摸"就不会在config.xml中,而是指向另一个文件

相关内容

  • 没有找到相关文章

最新更新