Closed kazurayam closed 2 months ago
VBACallGraphプロジェクトはルートプロジェクトの配下にlibプロジェクトを持っている。#22でpluginプロジェクトを追加しようと思う。二つのサブプロジェクトがどちらも implementation 'org.slf4j:slf4j-api:2.0.13' に依存するとしよう。lib/build.gradle ファイルと plugin/build.gradle ファイルの2箇所に同じ宣言を書くという方法がある。しかしそれは良くない。将来、外部依存ライブラリのバージョンを変更したくなるだろう。libプロジェクトのbuild.gradleでは2.0.13から2.1.0に書き換えたが、pluginプロジェクトのbuild.gradleを書き換えるのを忘れてしまうかもしれない。このリスクを避けるには、VBACallGraphプロジェクトが依存するライブラリの識別情報をsettings.gradleファイルで
implementation 'org.slf4j:slf4j-api:2.0.13'
lib/build.gradle
plugin/build.gradle
dependencyResolutionManagement
を利用して宣言することだ。lib/build.gradleとplugin/build.gradle は settings.gradle において宣言されたlibsを参照する。
settings.gradle
kazurayamが過去に開発したプロジェクトで dependencyResolutionManagement を適用した例がある。下記のコードを参考にせよ。
https://github.com/kazurayam/materialstore/blob/develop/settings.gradle
dependencyResolutionManagementの使い方については下記の記事が詳しい
https://www.theserverside.com/tutorial/How-to-tame-Gradle-dependency-version-management
done at v0.1.25
VBACallGraphプロジェクトはルートプロジェクトの配下にlibプロジェクトを持っている。#22でpluginプロジェクトを追加しようと思う。二つのサブプロジェクトがどちらも
implementation 'org.slf4j:slf4j-api:2.0.13'
に依存するとしよう。lib/build.gradle
ファイルとplugin/build.gradle
ファイルの2箇所に同じ宣言を書くという方法がある。しかしそれは良くない。将来、外部依存ライブラリのバージョンを変更したくなるだろう。libプロジェクトのbuild.gradleでは2.0.13から2.1.0に書き換えたが、pluginプロジェクトのbuild.gradleを書き換えるのを忘れてしまうかもしれない。このリスクを避けるには、VBACallGraphプロジェクトが依存するライブラリの識別情報をsettings.gradleファイルでdependencyResolutionManagement
を利用して宣言することだ。
lib/build.gradle
とplugin/build.gradle
はsettings.gradle
において宣言されたlibsを参照する。kazurayamが過去に開発したプロジェクトで
dependencyResolutionManagement
を適用した例がある。下記のコードを参考にせよ。https://github.com/kazurayam/materialstore/blob/develop/settings.gradle