IBM Worklight 6.0 - Android构建错误

时间:2013-07-22 15:12:01

标签: android version-control ant tfs ibm-mobilefirst

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

在Worklight项目上执行“Build All and Deploy”后执行Ant构建脚本时,我看到了以下错误:

  

构建文件:   C:\ Users \用户ren04 \文件\工作区\ MCAMWorkspace \ MCAMWorklightPOCJQ \应用\ Fourcast \机器人\ native.externalToolBuilders \ wlprebuild.xml

     

运行:

     

建立失败

     

C:\用户\ ren04 \文件\工作区\ MCAMWorkspace \ MCAMWorklightPOCJQ \ APPS \ Fourcast \机器人\ native.externalToolBuilders \ wlprebuild.xml:10:   无法更改只读文件的修改日期   C:\ Users \用户ren04 \文件\工作区\ MCAMWorkspace \ MCAMWorklightPOCJQ \应用\ Fourcast \机器人\天然\ 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 worklight项目中的config.xml文件时,它无法修改时间戳。这是因为该文件是只读的,并且由TFS管理以便只读,直到它在编辑器中被修改(此时它从源代码存储库中检出并变得可编辑)。

我的问题是config.xml文件的'touch'用于什么目的,以及它引起的错误是否是我们需要解决的问题?

1 个答案:

答案 0 :(得分:0)

'触摸'文件是必需的,是的。

如果内存对我有用,这是因为在构建Worklight项目之后,如果服务器和/或设备之间存在时间差异,则应用程序中的Web资源可能无法更新。由于时间戳,网络资源现在始终是最新的。

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

  1. 保持config.xml文件可写
  2. 创建一个新文件并在wlprebuild.xml中指向它,以便'touch'不在config.xml中,而是在其他文件中