2016-09-03 2 views
0

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?

Antwort

Verwandte Themen