diffplug / diffplug/spotless

spotless configuration crash when using convention plugins combined with settings plugins.

オープン
#1,633 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る
bug
主要言語
Java
スター
5.6k
フォーク
559
平均マージ
1日 14時間
マージ済み PR(30日)
43

説明

- Gradle 8.0.2
- Spotless 6.17.0

Stacktrace:

```
* What went wrong:
A problem occurred configuring root project 'foo'.
> Could not resolve all files for configuration ':spotless1316845977'.
> Cannot resolve external dependency com.facebook:ktfmt:0.43 because no repositories are defined.
Required by:
project :
```

If a convention plugin applies Spotless on the root project and this convention plugin is applied via a settings plugin, I got this crash.

I think there is a warning from Gradle about resolving this configuration in the configuration phase instead of lazily too.

In the root project, it is used `predeclareDepsFromBuildscript()`

If I apply the convention plugin directly instead of being applied by the settings plugin this is not happening.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Gradle 8.0.2 と Spotless 6.17.0 で、root プロジェクトで predeclareDepsFromBuildscript() を使用し、settings plugin を介して convention plugin を適用することでクラッシュを再現します。その構成を convention plugin を直接適用する場合と比較し、configuration-resolution warning を調査します。settings-plugin setup が、リポジトリを早期に要求したり、configuration phase 中に configuration を解決したりせずに正常に構成されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

領域
build-system
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。