198

mvnで2つの異なるプロジェクトをビルドしています。Gradleに置き換えようとしています。

プロジェクト 1 は SDK であり、プロジェクト 2 はその SDK を使用しています (例)。

Maven では、プロジェクト全体をローカル リポジトリに追加する mvn install を使用してアーティファクトを作成します。

私はそのようにgradleで働くのが好きです。私はプロジェクト 1 build.gradle がそれを gradle ローカル リポジトリとして投稿する必要があり、サンプル プロジェクトがそれを使用する必要があるのが好きです。

Maven では、プロジェクト アーティファクトを .m2 フォルダーに追加する mvn install を実行しますが、プロジェクト アーティファクトをローカル リポジトリに追加できるように gradle で行う方法を説明します。

私ができる方法はありますか?

4

4 に答える 4

194

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
于 2011-05-25T11:47:58.013 に答える
9

マルチプロジェクトビルドに関する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'
}
于 2012-11-15T12:02:36.800 に答える