Gradle替代mvn安装
我有2个不同的项目build立在MVN。 我正在尝试replace为Gradle。
项目1是SDK,项目2是使用sdk(例子)
在maven的时候,它使用mvn install来创build工件,将整个项目添加到本地存储库中。
我喜欢这样的工作。 我喜欢项目1 build.gradle需要将其发布为gradle本地存储库,然后示例项目需要使用它。
在maven中,我们进行mvn安装,将项目工件添加到.m2文件夹中,但是如何在gradle中执行,以便将项目artefact添加到本地存储库中。
任何方式,我可以这样做?
SDK /的build.gradle:
apply plugin: "maven" group = "foo" version = "1.0"
例如/的build.gradle:
repositories { mavenLocal() } dependencies { compile "foo:sdk:1.0" }
$ sdk> gradle安装
$ example> gradle构build
您可能正在寻找:
gradle publishToMavenLocal
可用于:
apply plugin: 'maven-publish'
请参阅: https : //docs.gradle.org/current/userguide/publishing_maven.html
查看Gradle有关多项目构build的文档 。
这是一个例子,有一些额外的依赖关系。 只需在根文件夹中调用gradle install
,所有内容都将被构build并放到本地仓库中。
文件夹结构:
root +--> build.gradle +--> settings.gradle +--> sdk | +--> build.gradle +--> example +--> build.gradle
根/的build.gradle:
allprojects { apply plugin: 'java' apply plugin: 'maven' group = 'myGroup' version = '0.1-SNAPSHOT' }
根/ settings.gradle:
include 'sdk' include 'example'
根/ SDK /的build.gradle:
dependencies { // just an example external dep. compile group:'commons-lang', name:'commons-lang', version:'2.3' }
根/示例/的build.gradle:
dependencies { compile project(':sdk') compile group:'log4j', name:'log4j', version:'1.2.16' }