2013-11-20 4 views
0

4.0. +를 사용하여 특정 라이브러리의 최신 버전을 사용하도록 기본적으로 설정되어있는 샘플 Android 앱 모음을 작성했습니다.이 버전은 잘 작동하며 다음과 같이 재정의 할 수 있습니다. Gradle 속성을 사용하는 사용자, fwiw.Gradle : 특정 종속성을 얻는 방법 RELEASE 버전 번호

특정 라이브러리의 실제 버전이 사용되는 빌드 타임 및/또는 런타임에보고하고 싶습니다. 4.0.7. Gradle은이 실제 버전에 액세스 할 수 있습니까? 실패한 경우, Maven 저장소에 RELEASE 버전 번호를 얻기 위해 질의하는 방법이 있습니까?

답변

1
apply plugin: 'java' 
apply plugin: 'maven' 

repositories { 
    mavenCentral() 
} 

task prepare << { 
    configurations.runtime.resolvedConfiguration.resolvedArtifacts.each { 
     def vers = it.getModuleVersion().getId().getVersion() 
     logger.lifecycle "${it.name} ${it.type} has version=$vers" 
    } 
} 

dependencies { 
    runtime group: 'org.apache.commons', name: 'commons-io', version: '1.3.2' 
    runtime group: 'commons-logging', name: 'commons-logging', version: '1.0.4', ext: 'jar' 
} 

위의 build.gradle 파일을 잘라내어 실행할 수 있어야합니다.

'런타임'구성을 '의존성'에서 사용하는 구성으로 대체해야합니다. 참고로, 나는 '런타임'구성이 'java'플러그인에 의해 추가된다고 생각한다.

+0

이 스 니펫을 프로젝트 구성에 추가했을 때 Gradle은 "구성 컨테이너에서 '런타임'속성을 찾을 수 없습니다."라고 불평했습니다. 아주 간단한 예를 사용하여 올바르게 사용하는 방법을 보여주기 위해 답을 편집/정교 할 수 있습니까? – pajato0

+0

아마도 더 많은 gradle 코드를 게시 할 수 있으며 댓글을 달 수 있습니다. 나는 위의 것을 발견 할 때까지 오랫동안 같은 문제로 고투했다. – cjtkirk