2016-09-03 5 views
0

나는 멀티 프로젝트 Gradle을의 설정을 보내고 있습니다 :`프로젝트 (: 의존성) 컴파일을위한 Gradle 매핑은 의존성입니까?

-- root (folder 'gradle_test') 
    L--wrapper (depends on some 3rd-party maven libs) 
    L--module1 (depends on wrapper) 
    L--app 

나는 지역 받는다는의 repo에 게시 할 모듈 1 단지 (그리고 전이 의존의 래퍼 항아리)가 필요합니다.

루트 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 
    } 
} 

모듈 1 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 내가 '래퍼'에 대한 종속성을 볼 수있는 지역 받는다는 캐시로 모듈 1을 설치 모듈이 잘못 생성되었습니다 (버전이 지정되지 않았습니다). REPO의 모듈 1 pom.xml는 :

<?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> 

즉 Gradle을은 compile project(:wrapper) 선언에서 매핑 받는다는 종속성을 받는다는 모듈의 groupId/artifactId를/버전을 사용하지 않습니다.

어떻게해야합니까?

답변

관련 문제