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' }