依存関係のアップグレードを分析して自動化する

依存関係管理を簡素化したいですか?プロセスにツールを追加すると、処理がスピードアップし、もう少し注意が必要な領域を特定できます。

バージョンの自動アップグレード

Android Studio は、古いライブラリ バージョンをエディタでハイライト表示し、アップグレードするためのクイック修正も表示します。ただし、そのためにはすべてのビルドファイルを定期的に確認する必要があります。

このプロセスを自動化し、ビルドファイルをアップグレードし、必要に応じて変更のプル リクエストを作成できるサードパーティ製ツールがいくつかあります。各依存関係の利用可能な最新バージョンを見つけて更新しますが、動作の互換性を確保するために、リリース前に結果を分析する必要があります。一般的な例は次のとおりです。

利用可能なアップグレードを確認する

Gradle バージョン プラグインを使用すると、手動アップグレードをより細かく制御できます。dependencyUpdates タスクを実行すると(./gradlew :dependencyUpdates を介して)、ライブラリの依存関係の新しいバージョンのレポートが生成されます。これは、ライブラリのステータスを確認し、特定の時点でアップグレードするライブラリを手動でターゲットにする場合に便利です。

これは、バージョン カタログではなく、カスタム アプローチを使用して依存関係のバージョンを指定する場合に特に便利です。

依存関係の変更を報告する

直接使用するライブラリのバージョンをアップグレードすると、アプリケーションに大きな影響が及ぶ可能性があります。使用するライブラリごとに他のライブラリの依存関係が必要になる場合があり、より大きな推移的依存関係グラフが形成される可能性があります。

Dependency Guard は、アプリケーションまたはライブラリのバージョン間でグラフ内の変更を公開します。これは、直接アップグレードと間接アップグレードを考慮して、アップグレード分析に非常に役立つツールです。

未使用の依存関係と誤用された依存関係を検出する

ビルドを正常に保つことで、ビルド速度を向上させ、アプリケーションとライブラリが必要な依存関係にアクセスできるようにします。依存関係分析 Gradle プラグインには、依存関係を調べ、ビルドファイルでの適切な使用を確認するためのツールが用意されています。

レポートの内容は次のとおりです。

  • 未使用の依存関係
  • 使用される推移的な依存関係(直接依存関係が使用を停止した場合にアプリケーションがアクセスできるように、これらの依存関係を明示的に宣言する必要があります)
  • 依存関係が間違ったスコープで宣言されている
  • 一部のプラグインの不要な使用
  • 依存関係の GraphViz ビュー

ライセンス管理

各ライブラリのデベロッパーが、ライブラリの使用を許可するライセンスを付与しています。ライセンスの条項に準拠する必要があります。準拠していない場合、そのライブラリは使用できません。一部のライセンスは非常に寛大で、使用の通知のみが必要な場合もあります。「クチコミ」と見なされるものもあり、そうしたライブラリを使用する場合は、アプリまたはライブラリに同じライセンスを適用する必要があります。

ライセンスはリリースごとに変更される場合があります。アップグレードするたびに、使用している依存関係のライセンスがアプリやライブラリと互換性があることを確認する必要があります。

ライセンスを報告する

Gradle License Report プラグインは、すべての依存関係のライセンスを報告するのに役立ちます。依存関係をアップグレードする際は、必ずこのレポートを確認してください。ライセンスが要件と互換性があることを確認し、必要な利用規約を満たしていることを確認します。

ライセンス通知を生成する

ライセンス条項では、多くの場合、アプリのユーザーやライブラリの利用者がアクセスできることを通知することが義務付けられています。Gradle License Plugin は、このような通知をアプリに表示するためのデータまたは HTML を生成します。

これにより、通知の要件の多くが自動化されますが、リソース ライセンス(フォント、画像、サウンドに必要なライセンスなど)や、インターネットからコピーしたコード スニペットのライセンスは報告されません。このような使用状況を手動で追跡して報告する必要があります。