Java 示例gradle脚本以正确的顺序构建(清理、构建)多个项目

Java 示例gradle脚本以正确的顺序构建(清理、构建)多个项目,java,eclipse,groovy,gradle,build.gradle,Java,Eclipse,Groovy,Gradle,Build.gradle,有几个项目需要按顺序构建。按顺序构建,含义如下: 1. clean, build - project 2 2. clean, build - project 1 3. clean, build - project 4 4. clean, build - project 3 每一个项目 -Root Folder ------- project1 -----------build.gradle ------- project2 -----------build.gradle ------- pro

有几个项目需要按顺序构建。按顺序构建,含义如下:

1. clean, build - project 2
2. clean, build - project 1
3. clean, build - project 4
4. clean, build - project 3
每一个项目

-Root Folder
------- project1
-----------build.gradle
------- project2
-----------build.gradle
------- project3
-----------build.gradle
------- project4
-----------build.gradle
--build.gradle
--settings.gradle
build.gradle项目1,2,3,4:

apply plugin: 'java'

dependencies {
// other dependencies
}
根文件夹/settings.gradle

include ':project1', ':project2', ':project3', ':project4'
根文件夹/build.gradle

????????
请告诉我如何在一个脚本中组织所有项目的生成顺序?

在您的根生成中。gradle:

现在,当您在根项目中运行gradle build时,gradle保证总是首先构建project1和project2

您可以在中阅读有关多项目生成和生成顺序的更多信息

请注意,每次构建时都进行清理通常是一种不好的做法,因为它只需要时间而没有任何好处。Gradle会自动跟踪项目的哪些部分需要重新构建,哪些部分没有更改,因此不需要重新构建

您可以阅读更多关于Gradle如何确定中哪些任务是最新的

在第一次执行任务之前,Gradle会对输入进行快照。此快照包含输入文件集和每个文件内容的哈希。然后Gradle执行任务。如果任务成功完成,Gradle将对输出进行快照。此快照包含输出文件集和每个文件内容的哈希。Gradle会在下次执行任务时保留这两个快照

每次之后,在任务执行之前,Gradle都会对输入和输出进行新的快照。如果新快照与以前的快照相同,Gradle会假定输出是最新的,并跳过任务。如果它们不相同,Gradle将执行任务。Gradle会在下次执行任务时保留这两个快照


为什么执行顺序很重要?是因为project1/依赖于project2吗?在这种情况下,您应该正确地组织它们的/dependency/,gradle将自动处理执行顺序。编辑:我不明白你用“收集”这个词,请澄清。收集这个词意味着所有项目——它是一个大项目的一部分。关于依赖关系-子项目之间并不是相互关联的,并且是作为大型项目的一部分的项目,因此它们需要交替收集独立的脚本。需要实现上面描述的顺序收集动词:把一些东西集合起来。这就是你的意思吗?在这种情况下,应该收集什么?为什么他们需要特别的订货?是的。实施任务清洁构建每个项目收集意味着什么?项目清理的顺序无关紧要。
dependencies {
    compile project(':project1'), project(':project2')
}