我现在正在开发项目-A,我承认,外包一些零件会让这些东西可以重复使用。我现在想着用gradle(Project-B)创建一个新项目,将所有这些可重用的源放在那里,并再次将它们作为依赖包含在Project-A中。如何使用Gradle创建可重用源的Jar库?
我对gradle-build-files有非常基本的知识,所以我的问题是,build.gradle文件中的基本步骤是什么?
我现在正在开发项目-A,我承认,外包一些零件会让这些东西可以重复使用。我现在想着用gradle(Project-B)创建一个新项目,将所有这些可重用的源放在那里,并再次将它们作为依赖包含在Project-A中。如何使用Gradle创建可重用源的Jar库?
我对gradle-build-files有非常基本的知识,所以我的问题是,build.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'
使用
gradle clean uploadArchives
uploadArchives {
repositories {
mavenDeployer {
repository(url: file://localhost/path/to/repo)
}
}
}
然后,您可以上传您的项目到仓库:
设定从其它文件中的这些变量:
group = pGroup
version = pVersion
此外,定义上传任务Project-A
添加您的本地r epository到Maven仓库名单:
repositories {
maven {
url /path/to/repo
}
mavenCentral()
}
添加您的项目-B的依赖关系:
dependencies {
compile 'your-group-name:your-project-name:1.0.0'
}
就是这样,项目,正在运行的任务时,应自动拉项目-B的jar文件如gradle build
或gradle eclipse
如果你想项目-B的来源包括在M艾文库让您的IDE可以显示库的源代码,添加到您的build.gradle
:
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
artifacts {
archives sourcesJar
}
生成项目B中的罐子,并在Maven仓库发布。生成一个jar是gradle中的默认设置,并且有一个发布插件(甚至两个实际的)将您的artefacts发布到repo。从A使用B,就像从Maven存储库中使用任何其他库一样。 –