如何用gradle创建一个可重用源码的jar库



我现在正在开发项目a,我意识到外包一些部分是有意义的,因为这些东西是可重用的。我现在正在考虑用gradle (project - b)创建一个新项目,将所有这些可重用的资源放在那里,然后再次将它们作为依赖项包含在project - a中。

我对gradle-build-files有非常基本的了解,所以我的问题是,构建的基本步骤是什么?Gradle文件实现这一点?

我认为最好的选择是将Project-B作为库发布到本地maven存储库(这只是文件系统中的一个目录)。当然,如果需要的话,您也可以在某个时候将其发布到公共存储库。

假设您在/path/to/repo上创建了这样一个本地存储库,您可以执行以下操作。

为项目b

在您的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 buildgradle eclipse等任务时自动拉出项目b的jar文件

可选发布源

如果您希望将Project-B的源代码包含在maven存储库中,以便您的IDE可以显示库的源代码,请将此添加到build.gradle:

task sourcesJar(type: Jar, dependsOn: classes) {
    classifier = 'sources'
    from sourceSets.main.allSource
}
artifacts {
    archives sourcesJar
}

最新更新