2016-10-10 7 views
2

私のチームではいくつかのアプリケーションを開発していますが、すべて同じ社内フレームワークを使用しています。このフレームワークは多くのサブモジュールに分かれており、それぞれに独自のバージョンがあり、それぞれがartifactory(mavenリポジトリ)のjarとして公開されています。Gradle:リリースブランチで実際の依存関係を焼く

アプリケーションをリリースすると、アプリケーションのブランチが作成され、最新のリリースの各フレームワークモジュールに対してそのブランチをコンパイルします(これは夜間の回帰で最新のスナップショットとコンパイルされるためです)。私たちはgradleを使います。これは、依存関係のバージョンを "latest.release"に設定することによって行われます。これは、プロダクションのバグを修正する必要があるまではうまくいきます。リリースブランチをチェックし、バグを修正し、アプリケーションをコンパイル、検証、パッケージ化することで、リリースされたアプリケーションのパッチをリリースします。

問題:latest.releaseは、元々コンパイルしたものとは異なるリリースのバージョンを指しています。

私が望むもの:アプリケーションをリリースするときに、解決されたすべてのバージョン(解決されたlatest.release)をbuild.gradle(または他のファイル)に書き込むので、将来コンパイルするときにコンパイルします古いリリース。

多くの開発者がこの問題に直面していると私は考えていますが、このオンラインでは解決策が見つかりませんでした。私は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. はNetflixがreleast時に依存関係のバージョンをロック処理するプラグインを持っています。

    関連する問題