オープンソースプロジェクト
ben-manes/gradle-versions-plugin avatar
ben-manes/gradle-versions-plugin

Gradle Versions Plugin: 更新候補をレポートへ集約する

依存関係の更新を検出するための Gradle プラグイン。 Gradle バージョン プラグイン このプラグインは、Maven バージョン プラグインの精神に基づいて、ビルドの依存関係、プラグイン、および Gradle 自体のどの新しいバージョンが利用可能であるかを報告します。

スター 4,085フォーク 204GroovyApache-2.0
GitHub

ひと目でわかる

これは何?
依存関係、プラグイン、Gradle本体の更新を報告するプラグインの適用方法、安定版フィルタ、出力形式を整理する。
誰に向いている?
このプロジェクトは、READMEが示すGradle plugin to discover dependency updates. Gradle Versions Plugin This plugin reports which of your build's dependencies, plugins, and Gradle itself have newer versions available, in the spirit of the Maven Versions Plugin.という対象と、記載された環境・権限・入力条件が一致するチームに向きます。
商用利用できる?
できます。Apache-2.0 は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。直近 1 日以内に新しいコミットがあります。
何の言語で書かれている?
主に Groovy です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

Gradle Versions Pluginで見る対象と設計上の焦点

Gradle Versions Plugin は Groovy で書かれた Gradle プラグインで、ビルドで宣言された依存関係、プラグイン、Gradle 自体に新しいバージョンがあるかを調べます。Maven Versions Plugin の精神に沿ったものと説明されています。このプラグインは報告のみを行い、README にはビルドファイルやバージョンカタログを編集することはないと明記されています。自動更新を適用するツールについては、関連プラグインの節が参照されています。

Gradle Versions Pluginは更新候補を見つけて報告するプラグインです。READMEはビルドファイルやversion catalogを編集しないと明記しています。更新の自動適用器ではないため、レポートを承認し、別の変更としてレビューする運用に向きます。 gradle-versions-pluginでは第1節の確認対象を独立させ、入力、結果、失敗時の記録を同じ単位で残します。READMEに明記された値と、手元で観測した値を分けて記録することで、gradle-versions-plugin固有の判断材料になります。

Gradle Versions Pluginで見る導入条件と依存関係

推奨される方法は、settings スクリプトで settings プラグインを適用することです。これにより、settings スクリプトで宣言されたプラグインと buildscript 依存関係の更新も報告でき、マルチプロジェクトビルドのすべてのサブプロジェクトを自動的にカバーします。./gradlew dependencyUpdates を実行すると、コンソールにレポートが出力され、build/dependencyUpdates/report.txt に書き込まれます。タスクはルートプロジェクトのビルドスクリプトか、ルートビルドスクリプトがない場合は settings スクリプトから設定します。README では、$version プレースホルダを現在のリリースに置き換えるよう求めています。

settingsプラグインを使う構成では、settingsスクリプトのプラグインとbuildscript依存関係、マルチプロジェクトのサブプロジェクトをまとめて対象にできます。`./gradlew dependencyUpdates` の結果は `build/dependencyUpdates/report.txt` に出力され、`outputFormatter` をjson、xml、htmlへ変更できます。 gradle-versions-pluginでは第2節の確認対象を独立させ、入力、結果、失敗時の記録を同じ単位で残します。READMEに明記された値と、手元で観測した値を分けて記録することで、gradle-versions-plugin固有の判断材料になります。

Gradle Versions Pluginで見る処理経路と設定項目

revision タスクプロパティは、最新バージョンを決定する Ivy 解決戦略を制御します。Gradle は release、milestone(デフォルト)、integration をネイティブにサポートしています。Maven リポジトリはプレリリース版を区別しないため、どのリビジョン戦略でもアルファ版やリリース候補が最新版として表示される可能性があります。安定版のみを受け入れるには、rejectVersionIf { ... } を定義するか、完全な componentSelection 解決戦略を設定します。README には、非安定版をすべて拒否する例、現在のバージョンが安定版の場合にリリース候補を拒否する例、alpha や beta などのクオリファイアを比較する成熟度ベースのフィルタの例が含まれています。

Gradle 8.4以上が適用条件です。revisionはrelease、milestone、integrationを扱いますが、Mavenリポジトリ側でプレリリースの区別が弱い場合があります。`rejectVersionIf`やcomponentSelectionでalpha、beta、candidateを拒否する規則を設定し、安定版を現在の依存関係ごとに確認する必要があります。 gradle-versions-pluginでは第3節の確認対象を独立させ、入力、結果、失敗時の記録を同じ単位で残します。READMEに明記された値と、手元で観測した値を分けて記録することで、gradle-versions-plugin固有の判断材料になります。

Gradle Versions Pluginで見る出力と運用記録

outputFormatter プロパティは plain(デフォルト)、json、xml、html と、カスタムフォーマッタとして Closure または Action をサポートします。outputDir はデフォルトで build/dependencyUpdates、reportfileName はデフォルトで report です。revision、gradleReleaseChannel、outputFormatter、outputDir、reportfileName はシステムプロパティとしても設定でき、一時的にタスク設定を上書きできます。XML と JSON レポートは Gradle の3つのリリースチャネル(current、release-candidate、nightly)をすべてカバーし、更新チェックが失敗したかどうかとその理由のフィールドを含みます。プレーンテキストレポートは Gradle の更新を別のカテゴリとして表示し、nightly ビルドを除外します。

Gradle Versions Pluginは更新候補を見つけて報告するプラグインです。READMEはビルドファイルやversion catalogを編集しないと明記しています。更新の自動適用器ではないため、レポートを承認し、別の変更としてレビューする運用に向きます。 gradle-versions-pluginでは第4節の確認対象を独立させ、入力、結果、失敗時の記録を同じ単位で残します。READMEに明記された値と、手元で観測した値を分けて記録することで、gradle-versions-plugin固有の判断材料になります。

Gradle Versions Pluginで見る対応範囲の読み方

ルートプロジェクトでタスクを実行すると、すべてのプロジェクトをカバーする1つのマージ済みレポートが生成されます。レポートは各プロジェクトのタスクから集約されるため、並列実行、設定キャッシュ、オンデマンド設定で動作します。各プロジェクトは、設定を行った最も近い上位プロジェクトから解決設定を継承するため、ルートプロジェクトのタスクを設定すれば全プロジェクトをカバーできます。分離プロジェクトでは、settings プラグインが各プロジェクトの評価時にプラグインを適用するため、推奨される設定はそのまま機能します。settings プラグインを適用できないビルドでは、集約レポートに供給するプロデューサのみを登録する contributor プラグインを使用できます。インクルードされたビルドは独立したビルドであり、独自の settings スクリプトでプラグインを適用する必要があります。README では、各インクルードビルドの dependencyUpdates タスクに依存するライフサイクルタスクを登録する方法が示されています。

settingsプラグインを使う構成では、settingsスクリプトのプラグインとbuildscript依存関係、マルチプロジェクトのサブプロジェクトをまとめて対象にできます。`./gradlew dependencyUpdates` の結果は `build/dependencyUpdates/report.txt` に出力され、`outputFormatter` をjson、xml、htmlへ変更できます。 gradle-versions-pluginでは第5節の確認対象を独立させ、入力、結果、失敗時の記録を同じ単位で残します。READMEに明記された値と、手元で観測した値を分けて記録することで、gradle-versions-plugin固有の判断材料になります。

Gradle Versions Pluginで見る制約を切り分ける確認

このプラグインは Gradle 8.4 以降を必要とし、適用時にチェックされます。Java 8 バイトコードをターゲットにしているため、Gradle 自体を実行できる JVM であれば動作します。README には、並列実行、設定キャッシュ、オンデマンド設定、分離プロジェクトがサポートされていると記載されています。また、v0.54.0 以前から v0.59.0 までの移行ノートがあり、v0.59.0 で追加された属性行や、v0.58.0 での部分的に解決された依存関係の報告など、バージョン間の動作変更が説明されています。

Gradle 8.4以上が適用条件です。revisionはrelease、milestone、integrationを扱いますが、Mavenリポジトリ側でプレリリースの区別が弱い場合があります。`rejectVersionIf`やcomponentSelectionでalpha、beta、candidateを拒否する規則を設定し、安定版を現在の依存関係ごとに確認する必要があります。 gradle-versions-pluginでは第6節の確認対象を独立させ、入力、結果、失敗時の記録を同じ単位で残します。READMEに明記された値と、手元で観測した値を分けて記録することで、gradle-versions-plugin固有の判断材料になります。

Gradle Versions Pluginで見るライセンスと採用判断

リポジトリのメタデータでは SPDX ライセンスが Apache-2.0 と識別されていますが、提供された資料にはライセンス文書が含まれていないため、この記事では具体的な条件を説明できません。README にも、セキュリティ保証、サポート契約、本番環境への適合性については記載がありません。これらの点については、Apache 2.0 ライセンスの公式文書とプロジェクトのリリースノートを確認する必要があります。

Gradle Versions Pluginは更新候補を見つけて報告するプラグインです。READMEはビルドファイルやversion catalogを編集しないと明記しています。更新の自動適用器ではないため、レポートを承認し、別の変更としてレビューする運用に向きます。 gradle-versions-pluginでは第7節の確認対象を独立させ、入力、結果、失敗時の記録を同じ単位で残します。READMEに明記された値と、手元で観測した値を分けて記録することで、gradle-versions-plugin固有の判断材料になります。

編集部の結論

このプロジェクトは、READMEが示すGradle plugin to discover dependency updates. Gradle Versions Plugin This plugin reports which of your build's dependencies, plugins, and Gradle itself have newer versions available, in the spirit of the Maven Versions Plugin.という対象と、記載された環境・権限・入力条件が一致するチームに向きます。採用前にはGradle 8.4以上が適用条件です。revisionはrelease、milestone、integrationを扱いますが、Mavenリポジトリ側でプレリリースの区別が弱い場合があります。`rejectVersionIf`やcomponentSelectionでalpha、beta、candidateを拒否する規則を設定し、安定版を現在の依存関係ごとに確認する必要があります。を実際の小さな構成で確認し、READMEにない性能や互換性を前提にしないでください。

公式情報源

  1. Official README
  2. Project repository
  3. Release notes
コミュニティノート

コミュニティノート