Gradle:在不知道子项目细节的情况下包含项目

时间:2016-12-14 10:34:56

标签: gradle

我们说我们有以下项目结构。

A depends on B
B depends on C

我想要项目A,这样它对项目C一无所知。它应该只知道它的直接依赖项目B.项目B应该包含有关它如何依赖于项目C的所有信息。

所有项目的细节必须在他们自己的gradle文件中。

更具体的是,我们说应该有以下任务依赖

task build in A must depend on task build from B
task build in B must depend on task build from C

我该怎么做?

1 个答案:

答案 0 :(得分:0)

project(':a') {
    apply plugin: 'java'
    evaluationDependsOn(':b') // possibly not required but worth a mention
    dependencies {
        // add the 'foo' configuration to the 'compile' dependencies
        compile project(path: ':b', configuration: 'foo')
    }
}

project(':b') {
    configurations {
         foo
    }
    task makeCustomJar(type: Jar) {
         // configure the jar task
    }
    artifacts {
         // the custom jar is added to the 'foo' configuration
         foo makeCustomJar
    }
}