ソース管理のために Microsoft Team Foundation Server (TFS) を介してプロジェクトを管理しています。
Worklight プロジェクトで「Build All and Deploy」を実行した後に Ant ビルド スクリプトを実行すると、次のエラーが表示されます。
ビルドファイル: 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 ファイルの 'touch' が提供する目的と、それによって引き起こされるエラーに対処する必要があるかどうかです。