gradle plugin に debugger をアタッチする

自分が利用したいなと思っている gradle plugin に実装を付け加えたいと考えている時に、gradle plugin を実行して debugger をアタッチする方法がわからなかったので調べたりした。

gradle タスクに IntelliJ で Debugger をアタッチする で紹介したものとほぼ同じで

./gradlew :project:some-task -Dorg.gradle.debug=true --no-daemon

で gradle タスクを起動して、 IntelliJ の Remote JVM Debug をアタッチすれば良い。

ただし当然内部で参照する形で plugin を利用している状態に限る。

.
├── build.gradle.kts
├── ....
├── plugin // gradle plugin の実装
│   ├── build.gradle.kts
│   ├── ....
│   ├── src // plugin のソースコードなど
│   └── settings.gradle.kts
├── sample // plugin を内部で参照して利用している
│   ├── src
│   └── build.gradle.kts // gradle タスクの記述など
└── ...

上記の例で言えば、 project を sample で指定して実行するイメージ

./gradlew :sample:some-task -Dorg.gradle.debug=true --no-daemon