2016-10-10 8 views
2

우리 팀에서는 여러 개의 응용 프로그램을 개발합니다. 모두 동일한 사내 프레임 워크를 사용합니다. 이 프레임 워크는 다수의 하위 모듈로 분리되어 있으며 각 하위 모듈은 고유 한 버전을 가지고 있으며 각 모듈은 artifactory (jar 저장소)에 jar로 게시됩니다.Gradle : 릴리스 브랜치의 실제 종속성 버전 굽기

우리가 응용 프로그램을 릴리스 할 때 분기를 만들고 각 프레임 워크 모듈의 최신 릴리스에 대해 해당 분기를 컴파일하려고합니다. 야간 회귀 분석에서 최신 스냅 샷과 비교하여 컴파일하기 때문에 좋습니다. 우리는 gradle을 사용하여 종속성 버전을 "latest.release"로 설정하여 수행합니다. 제작 과정에서 버그를 수정해야 할 때까지는 훌륭하게 작동합니다. 그런 다음 릴리스 지점을 확인하고 버그를 수정하고 응용 프로그램을 컴파일, 유효성 검사 및 패키징하여 출시 된 응용 프로그램에 대한 패치를 릴리스합니다.

문제점 : latest.release는 원래 컴파일 된 버전과 다른 릴리스 버전을 가리 킵니다.

내가 원하는 것 : 앱을 릴리스 할 때 build.gradle (또는 다른 파일)에서 해결 된 모든 버전 (해결 된 latest.release)을 구워서 나중에 다시 컴파일 할 때 이전 버전.

많은 개발자가이 문제에 직면 해 있다고 생각하지만이 온라인 솔루션을 찾지 못했습니다. 나는 Maven을 사용하지는 않았지만 솔루션을 검색하는 동안, 필자가 필요로하는 플러그인을 Maven에 릴리즈한다는 것을 발견했다.

이 문제에 대한 해결책이 있는지 알고 싶습니다. 최신 버전이 종속성을 식별 https://github.com/ben-manes/gradle-versions-plugin, 필요에 따라 수동으로 교체 : https://github.com/nebula-plugins/gradle-dependency-lock-plugin

  • 또한,이 플러그인을 사용할 수 있습니다

  • +1

    넷플릭스는이 작업을 수행 플러그인이 있습니다 https://github.com/nebula-plugins/gradle-dependency-lock-plugin – RaGe

    +0

    @RaGe 유망 보인다! 그걸 확인해 줄거야. 감사. – ItamarBe

    +0

    @RaGe 정확히 내가 필요한 것입니다! 고맙습니다 – ItamarBe

    답변

    2
    1. 은 넷플릭스는 releast 시간에 종속 버전을 잠금 처리하는 플러그인을 가지고 있습니다.