Ich habe Multi-Projekt Gradle config:Gradle Mapping für `Projekt kompilieren (: Abhängigkeit)` Maven Abhängigkeiten?
-- root (folder 'gradle_test')
L--wrapper (depends on some 3rd-party maven libs)
L--module1 (depends on wrapper)
L--app
Ich brauche module1 jar (und Wrapper-Glas als transitive Abhängigkeit) in lokalen Maven Repo veröffentlicht werden.
root build.gradle
:
// for maven
ext {
groupId = 'mygroup'
version = '3.0'
}
wrapper 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 wenn module1 in lokale maven Cache Installation i Abhängigkeit zu 'wrapper' sehen Modul wird falsch generiert (Version ist nicht angegeben). module1 pom.xml
in Repo:
<?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>
Mit anderen Worten Gradle verwendet nicht Maven Modul groupId/artifactId/Version für Maven aus compile project(:wrapper)
Erklärung abgebildet Abhängigkeiten.
Wie kann ich es tun/reparieren?