Java编译器提供增量构建,因此 javac ant任务也是如此。但大多数其他流程都没有。
考虑到构建过程,它们将一些文件集(源)转换为另一组文件(目标)。
我可以在这里区分两个案例:
什么是ant内部,第三方扩展或其他工具来实现延迟和增量构建? 你能提供一些广泛的构建文件示例吗?
我感兴趣的是特别适合GWT编译器。
答案 0 :(得分:5)
uptodate任务是Ant对此问题的通用解决方案。它足够灵活,适用于需要延迟编译或增量编译的大多数情况。
我遇到了和你一样的问题:我有一个GWT模块作为我的代码的一部分,我不想支付(重大!)成本,在我不需要时重新编译它。我案例中的解决方案看起来像这样:
<uptodate property="gwtCompile.mymodule.notRequired"
targetfile="www/com.example.MyGwtModule/com.example.MyGwtModule.nocache.js">
<srcfiles dir="src" includes="**"/>
</uptodate>
<target name="compile-mymodule-gwt" unless="gwtCompile.mymodule.notRequired">
<compile-gwt-module module="com.example.MyGwtModule"/>
</target>
答案 1 :(得分:1)
与GWT相关,不可能进行增量构建,因为GWT编译器一次查看所有源代码并优化和内联代码。这意味着未更改的代码可能会有不同的评估,例如,如果您开始使用未更改的类中的方法,则该方法在之前的编译步骤中被省略,但现在需要编译。< / p>