2
我試圖通過使用ANT <updtodate/>
任務來檢查更改並僅在必要時進行編譯,以加快構建速度。這是一個Flex項目。這裏是我的build.xml的相關部分:Ant uptodate任務不考慮刪除的文件
<target name="framework-clean"
description="Clean the Framework library">
<echo>Clean: Deleting dist directory in framework</echo>
<delete dir="${flex.framework.dir}/dist"/>
</target>
<target name="check-framework-changes">
<uptodate property="framework-no-changes" targetfile="${flex.framework.dir}/dist/imanager-framework.swc">
<srcfiles dir="${flex.framework.dir}/src" />
<srcfiles dir="${flex.framework.dir}/libs" />
</uptodate>
</target>
<target name="framework-compile"
depends="check-framework-changes"
unless="framework-no-changes"
description="Compile the Framework library">
<mkdir dir="${flex.framework.dir}/dist"/>
<echo>Compile: Compiling iManager Framework</echo>
<compc output="${flex.framework.dir}/dist/imanager-framework.swc"
debug="${debug}"
incremental="${incremental}">
<keep-as3-metadata name="Master"/>
<keep-as3-metadata name="Component"/>
<keep-as3-metadata name="Key"/>
<load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>
<source-path path-element="${flex.framework.dir}/src" />
<library-path dir="${flex.framework.dir}/libs" includes="*.swc" append="true"/>
<include-sources dir="${flex.framework.dir}/src" includes="*" />
</compc>
</target>
問題:
假設我添加一個名爲Foo.as文件在我的項目,該腳本將檢測到的變化和重新編譯SWC。但是如果我在不更改任何其他文件的情況下刪除此Foo.as,則該腳本不會編譯該項目。即使Foo父文件夾的上次修改時間戳已更新,該更改也會被忽略。
有什麼辦法解決這個問題嗎?
我ANT的版本是1.8.4,我使用Flex SDK 4.6