【问题标题】:How to specify gradle build execution order如何指定gradle构建执行顺序
【发布时间】:2017-01-07 14:52:04
【问题描述】:

我的项目结构是:

--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 插件。所以希望project 2的依赖能在.m2文件夹中更新,可以被project 1访问

【问题讨论】:

    标签: gradle groovy


    【解决方案1】:

    您的 settings.gradle 文件必须在您的根文件夹中。它将包括您的 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')
    }
    

    它会先编译“child 2”,然后编译“child 1”

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

    【讨论】:

    • 不能像 spring jars 或其他东西一样将其包含为依赖项吗?
    • 可以,但每次修改时都必须发布项目。
    猜你喜欢
    • 2014-10-12
    • 1970-01-01
    • 2011-08-08
    • 1970-01-01
    • 2020-06-22
    • 2017-07-08
    • 2020-09-25
    • 2016-02-20
    • 2013-07-27
    相关资源
    最近更新 更多