我现在正在开发项目a,我意识到外包一些部分是有意义的,因为这些东西是可重用的。我现在正在考虑用gradle (project - b)创建一个新项目,将所有这些可重用的资源放在那里,然后再次将它们作为依赖项包含在project - a中。
我对gradle-build-files有非常基本的了解,所以我的问题是,构建的基本步骤是什么?Gradle文件实现这一点?
我认为最好的选择是将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
<标题>为—h1> 本地存储库添加到maven存储库列表中:
repositories {
maven {
url /path/to/repo
}
mavenCentral()
}
然后在你的Project-B上添加一个依赖项:
dependencies {
compile 'your-group-name:your-project-name:1.0.0'
}
就是这样,项目a应该在运行gradle build
或gradle eclipse
等任务时自动拉出项目b的jar文件
可选发布源
如果您希望将Project-B的源代码包含在maven存储库中,以便您的IDE可以显示库的源代码,请将此添加到build.gradle
:
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
artifacts {
archives sourcesJar
}
标题>