如何在没有jar依赖项的情况下在Gradle中创建共享项目

时间:2015-01-30 15:12:20

标签: java gradle

我的根项目下有4个项目:shared,proj1,proj2和proj3。

Proj1,proj2和proj3都使用'共享'项目代码。我试图了解如何将共享项目中的来源包含在其他3个项目中,以便在我创建项目时#& archives和javadoc以及sources jar它们也将包含共享项目内容。

2 个答案:

答案 0 :(得分:0)

确保每个模块(~project)都有自己的build.gradle。在项目的build.gradle中的一个

dependencies {
    ...
    compile project('shared')
    // If you have a dependency tree between projects
    compile project('project2')
    ...
}

在你的settings.gradle中,这是全局的

include 'project1', 'project2', 'project3', 'shared'
// Only if your project is not on on the same path
project(':project2').projectDir = new File('../stuff/project2')

答案 1 :(得分:0)

我找到了答案:在3个依赖项目(proj1,proj2和proj3)的每一个中,源集应该按以下方式扩展:

sourceSets {
    main {
        java {
            srcDirs(project(':shared').sourceSets.main.java)
        }
    }
}

这样,当使用Gradle的内置'javadoc'并为每个项目提供任务时,输出jar也将包含'shared'项目内容(即.class文件,文档和.java文件)。