如何指定gradle构建执行顺序

时间:2016-08-31 06:40:13

标签: gradle groovy

我的项目结构是:

--Root project
  -- child 1
  * build.gradle
  * settings.gradle
  -- child 2
  * build.gradle
  * settings.gradle
  -- child 3
  * build.gradle
  * settings.gradle

子级1依赖于子级2的jar文件。以下是我的build.gradle

group = 'com.test.test'
description = """project1"""
dependencies{
compile project(':project2')
}

Settings.gradle

rootProject.name = 'project1'
include ":Project2"
project(":Project2").projectDir = file("../Project2")

有没有可能在gradle中提到项目2应该在project1之前执行,我可以使用像

这样的东西来访问项目2的依赖项
compile group: 'com.test.test', name: 'project2', version:'1.0'

注意:我在gradle文件中使用Maven插件。所以我希望项目2的依赖关系将在.m2文件夹中更新,并且可以通过项目1访问

1 个答案:

答案 0 :(得分:1)

您的settings.gradle文件必须位于Root文件夹中。它将包括您的3个子项目。

include ":child 1"
include ":child 2"
include ":child 3"

从您的所有子项目中删除所有settings.gradle。您的孩子项目被认为是一个"模块"您的单根"项目"。

新项目结构:

--Root project
* build.gradle
* settings.gradle
  -- child 1
  * build.gradle
  -- child 2
  * build.gradle
  -- child 3
  * build.gradle

然后在您的子项目中,您可以像现在一样指定依赖项

项目孩子1:

dependencies{
    compile project(':child 2')
}

它将编译儿童2"首先,然后"孩子1"

根据您为项目配置maven插件的方式,您将能够使用依赖项生成的pom.xml发布工件。