私はmvnで2つの異なるプロジェクトをビルドしています。私はGradleに置き換えようとしています。
プロジェクト1はSDKで、プロジェクト2はSDKを使用します(例)
Mavenの時点で、mvn installを使用してアーティファクトを作成し、プロジェクト全体をローカルリポジトリに追加します。
私はそのようなgradleで働くのが好きです。私はプロジェクト1 build.gradleがgradleローカルリポジトリとして投稿する必要があり、サンプルプロジェクトがそれを使用する必要があるのが好きです。
Mavenでは、プロジェクトアーティファクトを.m2フォルダーに追加するmvnインストールを行いますが、プロジェクトアーティファクトをローカルリポジトリに追加できるようにgradleで行う方法です。
私ができる方法はありますか?
sdk/build.gradle
:
apply plugin: "maven"
group = "foo"
version = "1.0"
example/build.gradle
:
repositories {
mavenLocal()
}
dependencies {
compile "foo:sdk:1.0"
}
$sdk> gradle install
$example> gradle build
あなたが探しているかもしれません:
gradle publishToMavenLocal
利用可能な:
apply plugin: 'maven-publish'
参照: https://docs.gradle.org/current/userguide/publishing_maven.html
Gradleのマルチプロジェクトビルドに関するドキュメント をご覧ください。
いくつかの追加の依存関係がある例を次に示します。ルートフォルダーでgradle install
を呼び出すだけで、すべてがビルドされ、ローカルリポジトリに配置されます。
フォルダー構造:
root
+--> build.gradle
+--> settings.gradle
+--> sdk
| +--> build.gradle
+--> example
+--> build.gradle
root/build.gradle:
allprojects {
apply plugin: 'Java'
apply plugin: 'maven'
group = 'myGroup'
version = '0.1-SNAPSHOT'
}
root/settings.gradle:
include 'sdk'
include 'example'
root/sdk/build.gradle:
dependencies {
// just an example external dep.
compile group:'commons-lang', name:'commons-lang', version:'2.3'
}
root/example/build.gradle:
dependencies {
compile project(':sdk')
compile group:'log4j', name:'log4j', version:'1.2.16'
}