나는 멀티 프로젝트 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를/버전을 사용하지 않습니다.
어떻게해야합니까?