我们有一个自定义构建应用程序,它构建并利用了ant。 这个应用程序称之为Bob读取一个xml文件来理解项目间的依赖关系。
我有以下项目文件/目录结构。
--root
|--P1
|--P2
|--P3
|--P4
每个项目(root除外)都有一个build.xml文件。 所以Bob的interproject依赖xml文件可能如下所示:
<project name="P1">
</project>
<project name="P2">
<dependencies>
<dependsOn name="P1"/>
</dependencies>
</project>
<project name="P3">
<dependencies>
<dependsOn name="P2"/>
</dependencies>
</project>
<project name="P4">
<dependencies>
<dependsOn name="P2"/>
</dependencies>
</project>
</projects>
所以你可以看到依赖树看起来像这样
--root
|P1
|--P2
|--P3
|--P4
要使用ant构建每个项目,只需调用构建目标即可。如果你告诉Bob构建P3,它就知道按顺序为P1,P2然后是P3调用每个项目的ant。
使用Gradle的ant.importBuild'builder.xml'最简单的方法是什么,并定义上面的项目结构,以便构建顺序始终正确?
我不想重新构建目录以使其成功。
答案 0 :(得分:1)
您必须定义多项目Gradle构建,并根据需要连接Ant目标(导入后成为Gradle任务)。但是,您最终会得到类似于传统Ant构建的遗留Gradle构建,并且错过了Gradle的大部分优势。如果咬住子弹并将构建移植到Gradle,则更有可能获得良好且持久的结果。移植的构建仍然偶尔会在真正需要的地方重用Ant任务,但不应导入任何Ant脚本。