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

时间:2015-07-01 13:50:22

标签: 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
------- project3
-----------build.gradle
------- project4
-----------build.gradle
--build.gradle
--settings.gradle

build.gradle projects(1,2,3,4):

apply plugin: 'java'

dependencies {
// other dependencies
}

ROOT_FOLDER / settings.gradle

include ':project1', ':project2', ':project3', ':project4'

ROOT_FOLDER /的build.gradle

????????

请告诉我如何组织脚本中所有项目的构建顺序?

1 个答案:

答案 0 :(得分:0)

在您的根build.gradle

dependencies {
    compile project(':project1'), project(':project2')
}

现在,当您在根项目中运行gradle build时,Gradle将始终首先构建project1project2

您可以在User Guide中了解有关多项目构建和构建顺序的更多信息。

请注意,每次构建时都要“干净”通常是一种不好的做法,因为它只需要时间而不会带来任何好处。 Gradle自动跟踪项目的哪些部分需要重建,哪些部分不需要更改(因此不需要重新构建)。

您可以详细了解Gradle如何确定this section of the user's guide中哪些任务是最新的。

  

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

     

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