我的根项目下有4个项目:shared,proj1,proj2和proj3。
Proj1,proj2和proj3都使用'共享'项目代码。我试图了解如何将共享项目中的来源包含在其他3个项目中,以便在我创建项目时#& archives和javadoc以及sources jar它们也将包含共享项目内容。
答案 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文件)。