我正在开发Project-A,并且我认识到,外包某些部件会使得因为这些东西可以重复使用。我现在正考虑使用gradle创建一个新项目(Project-B),将所有这些可重用的源放在那里,然后再将它们作为依赖项包含在Project-A中。
我对gradle-build-files有非常基本的了解,所以我的问题是,build.gradle文件中的基本步骤是什么来实现这个?
答案 0 :(得分:1)
我认为您最好的选择是将Project-B作为库发布到本地maven存储库(它只是文件系统中的目录)。当然,如果需要,您也可以发布到公共存储库。
假设您在/path/to/repo
创建了这样的本地存储库,您可以执行以下操作。
在gradle.properties
中定义一些变量:
pName=your-project-name
pGroup=your-group-name
pVersion=1.0.0
在settings.gradle
中,设置项目名称:
rootProject.name = pName
在build.gradle
中,应用maven插件:
apply plugin: 'maven'
从其他文件中设置这些变量:
group = pGroup
version = pVersion
另外,定义上传任务:
uploadArchives {
repositories {
mavenDeployer {
repository(url: file://localhost/path/to/repo)
}
}
}
然后,您可以使用
将项目上传到存储库gradle clean uploadArchives
将您的本地存储库添加到maven存储库列表中:
repositories {
maven {
url /path/to/repo
}
mavenCentral()
}
然后在Project-B上添加一个依赖项:
dependencies {
compile 'your-group-name:your-project-name:1.0.0'
}
就是这样,Project-A应该在运行gradle build
或gradle eclipse
如果您希望Project-B的源包含在maven存储库中,以便IDE可以显示库的源代码,请将其添加到build.gradle
:
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
artifacts {
archives sourcesJar
}