2017-01-18 1 views
0

내부에서 "파일 전체/전역"변수를 참조 내 대답 here 참조) 다음 이것을 다른 디렉토리에 복사하십시오 (대답 here 참조). 하지만 기존 버전을 덮어 쓰지 않도록 jar 파일의 이름에 프로젝트의 버전 번호를 통합하려고합니다.Gradle을/그루비 내가 다음 줄이 내 빌드 파일에서 블록

Shadow Plugin User Guide 이름 설정하는 방법에 대해 설명합니다 :

shadowJar { 
    baseName = 'shadow' 
    classifier = null 
    version = "7.7.7" 
} 

을 ...하지만 어떻게 version 변수 (... 파일 전체/글로벌) 외부 사용하는 여기에 변수 version 설정할 수 있습니다?

+1

버전 = project.version –

+0

하 ... 대단히 감사합니다. 포인트를 원할 경우 답변을 추가하십시오. 명확히하기 위해, 관심있는 사람이라면, project.version 변수를 설정하는 라인은이 작업에서 참조하기 전에 *** 물리적으로 와야합니다. 어떻게 든 나 자신과 같은 Gradle newb는 변수가 모두 "첫 번째 라이프 사이클"에 설정 될 것이라고 가정합니다 ... –

답변

1

그라데이션 스크립트에는 범위가 위임되는 모든 범위에 Project 인스턴스가 있습니다. 당신이 version = '1.1.2'을 말할 때 실제로 프로젝트 버전을 숨기고 범위에서 최대 버전 이상 거기에 당신의 shadowJar 폐쇄에

getProject().setVersion('1.1.2') 

를 호출합니다. 그럼 할 수 있어요

shadowJar { 
    version = project.version 
    ... 
} 
관련 문제