我对这个人非常不满。这是场景:
问题:我遇到的问题是依赖于另一个swc的swc正在编译旧版本而不是刚刚在ant任务中构建的版本。
所以我们先编译common.swc然后mydependantswc.swc。当我编译mydependantswc.swc正在编译common.swc - 刚建立的那个。当我编译它像common.swc已被缓存时,它忽略了曾经只是构建并编译旧版本。
我知道在重新编译之前不删除旧的swc库时会发生这种情况。但是我的ant任务会删除这些文件。我发现在Mac上,如果我手动进入finder并删除了那些库,然后编译,它工作正常。即使ant任务这样做,它也行不通。
有什么想法吗?听起来像这可能是一个常见的问题?
以下是一些蚂蚁代码片段,我认为它非常简单。
<target name="install-libraries" description="standalone build libs">
<delete includeEmptyDirs="true">
<fileset dir="${bin.dir}/${managed.libs.dest}"/>
</delete>
<mkdir dir="${bin.dir}/${managed.libs.dest}"/>
<antcall target="compile-libraries"/>
</target>
后面是标准的compc任务。
在Twitter上讨论后,我怀疑它与文件夹结构有关。您看到一个库依赖于此文件夹bin.dir中的另一个已编译库,该文件夹也是我要构建的文件夹。我不知道为什么,但我感觉到了一股气味!