2015-01-03 4 views
6

maven 및 gradle 용 파일 시스템에서 동일한 저장소를 유지하려고합니다. 하지만 몇 가지 문제가 있습니다.Maven 저장소 대신 캐시에 의존성을 다운로드하는 Gradle

build.gradle 파일에 다음과 같은 내용이 있습니다.

repositories { 
    mavenLocal() 
    mavenCentral() 
} 

dependencies { 
    compile group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.3.9' 
    runtime group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.3.9' 
    runtime 'org.xerial:sqlite-jdbc:3.8.7' 
} 

GRADLE_HOME는 D:\Programming\Java\gradle-2.2.1
GRADLE_USER_HOME이 D:\Programming\Java\.m2

내 Gradle을 가정 내 메이븐 저장소와 동일한입니다.

그러나 종속성이 gradle을 통해 다운로드되면 저장소 폴더 대신 GRADLE_USER_HOME\cache에 다운로드됩니다. 어떤 설정이 누락 되었습니까?

편집 나는 Gradle In Action 책의 종속성 관리에 대한 장을 확인했습니다. 아무것도. 나는 gradle의 웹 사이트에서 dependency management을 확인했지만 캐시가 사용되었다고 말합니다.

그런 옵션은 gradle에서 사용할 수없는 것 같습니다. 누군가 확인할 수 있습니까?

답변

6

변경할 수있는 설정이 없습니다. 거기에 같은 gradle 저장소가 없습니다. 또한, 혼란 때문에 gradble이 저장소의 폴더를 종속성 캐시로 사용하는 것이 좋지 않은 것처럼 보입니다.

gradle로 만든 아티팩트를 위의 저장소에 게시하려는 경우 maven-publish 플러그인을 살펴 봐야합니다.

빌드에서 해당 저장소의 이슈를 사용하려는 경우, mavenLocal()을 리포지토리에 추가 한 다음 종속성에 compile 함수를 사용하면됩니다.

+1

나는 두 가지 모두에 대해 알고 있습니다. 그 부분은 maven 저장소에 아티팩트를 두어 다른 gradle/maven 빌드에서 재사용 할 수있게하려면 어떻게해야할까요? 현재 내가 먼저 Maven을 통해 다운로드 한 다음 필요에 따라 Maven/gradle에서 사용하여이 작업을 수행하고 있습니다. –

+0

@AseemBansal 같은 외부 (외부) 이슈를 사용하는 다른 빌드를 수행 할 때 다시 다운로드 할 필요가 없도록 배치하고 싶습니다. gradle에 이미 캐시에 아티팩트가 있으면 가능한 한 어디서나 재사용 할 것입니다. – Insomniac

+3

그래, 그게 내가 원하는거야. 그러나 Maven은 그 유물을 사용하지 않을 것입니다. [gradle에 대한 지원이 중단 되었기 때문에] maven이 필요합니다 (http://stackoverflow.com/questions/22339142/gradle-1-10-internal-maven-repository-indexing-forever-in-intellij-13) IntellijIdea에서 어디에서든지 gradle을 사용할 수 없습니다. 또한 어떤 이상한 이유로 gradle은 종속성을 다운로드하고 로컬 저장소에없는 경우 캐시에서 종속성을 재사용하지 않습니다. –

0

예, 소스 코드를 읽고 확인했습니다. 변경할 설정이 없습니다.

  1. 넥서스 같은 지역 받는다는 저장소 관리자를 설치합니다

    여기 내 솔루션입니다.

  2. 해당 저장소를 사용하는 설정.

관련 문제