2013-07-22 230 views
1

我們通過Microsoft Team Foundation Server(TFS)管理我們的項目以進行源代碼管理。IBM Worklight 6.0 - Android構建錯誤

當Ant構建腳本做後執行「全部生成和部署」的工作燈項目,我看到這個錯誤:

Buildfile: C:\Users\ren04\Documents\Workspaces\MCAMWorkspace\MCAMWorklightPOCJQ\apps\Fourcast\android\native.externalToolBuilders\wlprebuild.xml

run:

BUILD FAILED

C:\Users\ren04\Documents\Workspaces\MCAMWorkspace\MCAMWorklightPOCJQ\apps\Fourcast\android\native.externalToolBuilders\wlprebuild.xml:10: Can not change modification date of read-only file C:\Users\ren04\Documents\Workspaces\MCAMWorkspace\MCAMWorklightPOCJQ\apps\Fourcast\android\native\res\xml\config.xml

Total time: 342 milliseconds

這些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> 

很顯然,當螞蟻嘗試「觸摸」在TFS管理的Android工作燈項目config.xml文件,它是無法修改的時間戳。這是因爲該文件是隻讀的,並且由TFS管理爲只讀文件,直到它在編輯器中修改(此時它從源代碼存儲庫簽出並變爲可編輯)。

我的問題是config.xml文件的'touch'用途是什麼目的,以及它引起的錯誤是我們需要解決的問題?

+0

此問題是否解決?請標記爲已回答。 –

回答

0

'需要觸摸文件,是的。

如果內存爲我服務,這是因爲在構建Worklight項目之後,如果服務器和/或設備之間存在時間差異,應用程序中的Web資源可能無法更新。由於時間戳,網絡資源現在總是最新的。

我沒有這個嘗試我自己,但也許你可以:

  1. 保持config.xml文件可寫的
  2. 在wlprebuild.xml創建一個新的文件,並指向它,以便'touch'將不在config.xml中,而是在其他文件中
相關問題