1年ぶり2度目の遭遇です(泣)。
[発生事象]
IntelliJでGradleプロジェクトを開くと、見覚えのあるエラーがコンソールに表示された。
* What went wrong:
Execution failed for task ':getVersion'.
> One of setGitDir or setWorkTree must be called.
JGitのライブラリを利用しているところでエラーなのは昨年と同じ。
昨年同様のデバッグログを仕込むと、プロジェクトのルートディレクトリが取得できるはずの箇所がなぜかGradleデーモンのディレクトリになっており、昨年と同じ事象と判明(泣)。
[調査・解決]
流石に、JDKのバグが再発していることもなかろうと思い、JDKのissueを探してみるも、それらしいものは見当たらなかった。
問題になった元のチケットを見なおしてみると、Java 11での変更がJava 8にバックポートされて、昨年の問題を引き起こしていた。そして、問題が修正されたのはJava 8の方だけ...。
ということは、インストールしたJava 8ではなく、別の11以降のバージョンが利用されている可能性がある?と考え、調査を継続。System.getProperties()で出力したログを見ると、使った覚えのないAzureJDK13になっていることが判明。
どこで設定してるんだ?と思いながら必死でIntelliJの設定を漁っていると、Gradleが利用するJDKの設定がAzul JDK 13になっていたことが判明。
Gradle JVMの設定をJava 8に変更したらビルドが通った。めでたしめでたし。とはいえ、結局これはどうしたらいいんだ...Javaバージョンを上げられないのか?