私はマルチプロジェクトのGradleの設定を持っている:`compile project(:dependency)`の依存関係のための格子マッピング?
-- root (folder 'gradle_test')
L--wrapper (depends on some 3rd-party maven libs)
L--module1 (depends on wrapper)
L--app
私は(推移的依存関係としてラッパージャー)Module1のjarファイルを必要とするローカルのMavenリポジトリで公開されます。
ルートbuild.gradle
:
// for maven
ext {
groupId = 'mygroup'
version = '3.0'
}
ラッパーbuild.gradle
:
apply plugin: 'maven'
...
// maven pom
install {
repositories.mavenInstaller {
pom.groupId = rootProject.ext.groupId
pom.artifactId = 'wrapper'
pom.version = rootProject.ext.version
}
}
Module1のbuild.gradle
:
dependencies {
compile project(':wrapper')
...
}
// maven pom
install {
repositories.mavenInstaller {
pom.groupId = rootProject.ext.groupId
pom.artifactId = 'module1'
pom.version = rootProject.ext.version
}
}
Howeven i 'はラッパー' に依存関係を見ることができますローカルのMavenキャッシュにモジュール1をインストールしますモジュールが正しく生成されない(バージョンは指定されていません)。レポでModule1をpom.xml
:のGradleはcompile project(:wrapper)
宣言からマッピングされたMavenの依存関係のmavenモジュールのgroupId /たartifactId /バージョンを使用していないすなわち
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>mygroup</groupId>
<artifactId>module1</artifactId>
<version>3.0</version>
<dependencies>
<dependency>
<groupId>gradle_test</groupId> // error 1: gradle project name (instead of overriden mvn groupId)
<artifactId>wrapper</artifactId>
<version>unspecified</version> // error 2: not set at all
<scope>compile</scope>
</dependency>
</dependencies>
</project>
。
どうすればいいですか?