Gradleに依存関係を最新の利用可能なバージョンに更新する簡単な方法はありますか?
ビルドの再現性のために、build.gradleファイルでは、すべての依存関係が次のようなバージョン番号で定義されています。
dependencies {
compile 'namespace:package1:version'
compile 'namespace:package2:version'
compile 'namespace:package3:version'
}
定期的にすべてのパッケージを最新バージョンに更新します。通常、これはリリース後の新しいスプリントで最初に行うことです。
パッケージごとに手動でこれを行うのは非常に苦痛です。理想的には、build.gradleファイルを更新するコマンドが必要ですが、少なくとも、更新が必要なパッケージと最新バージョン番号を出力するコマンドが必要です。
Ruby landでは、Bundler Updateを実行します。
これが私が思い付くことができたすべてです。これを手動で行う方法があまりない場合は、別の答えを喜んで受け入れます。
Android studioでは、すべての依存関係バージョンをプラスの例に置き換えます:compile 'namespace:package1:+'
プロジェクトを同期またはビルドすると、すべての依存関係が最新バージョンに解決されます。
Android Studioはbuild.gradleの各依存関係行にカーソルを置き、alt + enterを押します。メニューがポップアップ表示され、特定の場所に置き換えるバージョン
ライブラリにはコードを壊す可能性のある変更が含まれる可能性があるため、これはあまり良い方法ではありません。
共通の「許容」構文
compile 'namespace:package:major_version.minor_version.revision'
のようになります
compile 'namespace:package:1.0.+'
revisionを考慮すると、ライブラリの作成者はバグの修正と改善の更新として使用します。
注:私はそれをやっただけで、あなたはできる
compile 'namespace:package:+'
編集:
A 概念実証 私の 最新のコメント テストすることもできます。
これは5分で作成されたので、完璧でも柔軟でもないことを期待しないでください。
build.gradle
に追加:
plugins {
id 'com.github.ben-manes.versions' version '0.17.0'
}
その後、gradle dependencyUpdates
を実行して、新しいバージョンのレポートを取得できます。有名なMavenプラグインとは異なり、build.gradle
を自動的に更新する方法はまだないようです。
その他のドキュメント: https://github.com/ben-manes/gradle-versions-plugin
私も苦しんでいます。また、依存関係を手動で確認する最良の方法は、プロジェクト構造を調べて依存関係名を検索し、新しいバージョンがあるかどうかを確認することです。
このクエリがMavenリポジトリに存在する依存関係のみをチェックするという問題。少なくとも、Googleにはすでに行きます。
注:新しいバージョンに依存関係を追加することを選択した場合、これによりApp Gradleに重複が追加されるため、必ず古い依存関係行を削除してください。
別の可能なクイックフィックスは、コマンドラインを使用することです。
./gradlew app: dependencies
これにより、以下のような出力が生成されます。アスタリスクは、新しい既存のバージョンを指していることに注意してください。