gradle init で作ったプロジェクトをEclipseにインポートするとテストクラスがバージョン不一致エラー

# 事象
gradle init でJavaプロジェクトを作成しEclipseにインポートすると、spockのテストクラスでエラーが出たのでこの対応記録です。
依存関係のgroovyバージョンとEclipseのgroovyバージョンを合わせることで解消できました。

# 環境

* 環境変数のgradleバージョン
```bash
$ gradle -v

------------------------------------------------------------
Gradle 7.5.1
------------------------------------------------------------

Build time:   2022-08-05 21:17:56 UTC
Revision:     d1daa0cbf1a0103000b71484e1dbfe096e095918

Kotlin:       1.6.21
Groovy:       3.0.10
Ant:          Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM:          18.0.2 (Amazon.com Inc. 18.0.2+9-FR)
OS:           Windows 11 10.0 amd64
```

* Eclipse のGroovyバージョン
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1944226/4aac9a3d-75ef-4cc2-dac6-a3bb7ac283bc.png)

# 作成したプロジェクト

gradle initで作ったJava + spock のプロジェクトです。

```bash
gradle init
Select type of project to generate:
  1: basic
  2: application
  3: library
  4: Gradle plugin
Enter selection (default: basic) [1..4] 2

Select implementation language:
  1: C++
  2: Groovy
  3: Java
  4: Kotlin
  5: Scala
  6: Swift
Enter selection (default: Java) [1..6] 3

Split functionality across multiple subprojects?:
  1: no - only one application project
  2: yes - application and library projects
Enter selection (default: no - only one application project) [1..2] 1

Select build script DSL:
  1: Groovy
  2: Kotlin
Enter selection (default: Groovy) [1..2] 1

Generate build using new APIs and behavior (some features may change in the next minor release)? (default: no) [yes, no]
Select test framework:
  1: JUnit 4
  2: TestNG
  3: Spock
  4: JUnit Jupiter
Enter selection (default: JUnit Jupiter) [1..4] 3

Project name (default: sandbox):
Source package (default: sandbox):

> Task :init
Get more help with your project: https://docs.gradle.org/7.5.1/samples/sample_building_java_applications.html

BUILD SUCCESSFUL in 20s
2 actionable tasks: 2 executed
```

build.gralde にeclipseプラグインだけ追加してeclipseプロジェクト化します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1944226/0d962bdd-9a6f-73bf-cf92-de9a39ced985.png)

```bash
$ gradle clean eclipse
```

# エラー内容

Eclipseにプロジェクトをインポートすると問題タブに以下が出ました。
テストクラスがコンパイルされずに実行できない状態です。

```
Groovy:Unexpected problem with AST transform: The Spock compiler plugin cannot execute because Spock 2.1.0-groovy-3.0 is not compatible with Groovy 4.0.5. For more information (including enforce mode), see https://docs.spockframework.org (section 'Known Issues').
```

# 原因

自動生成されたビルドスクリプトを確認すると、groovyは3.0.10ですがEclipse上は4.0.5のためバージョンが合わないようです。
```gradle:build.gradle
dependencies {
    // Use the latest Groovy version for Spock testing
    testImplementation 'org.codehaus.groovy:groovy:3.0.10'

    // Use the awesome Spock testing and specification framework even with Java
    testImplementation 'org.spockframework:spock-core:2.1-groovy-3.0'
}
```

とりあえず4系に合わせて現在の最新バージョンに修正します。
groovyは4.0からグループIDが`org.apache.groovy`に変わってるので要注意。

https://groovy-lang.org/releasenotes/groovy-4.0.html

以下のように修正します。
```gradle:build.gradle
dependencies {
    // Use the latest Groovy version for Spock testing
    testImplementation 'org.apache.groovy:groovy:4.0.6'

    // Use the awesome Spock testing and specification framework even with Java
    testImplementation 'org.spockframework:spock-core:2.3-groovy-4.0'
}
```

これでもう一度clean するとエラーが解消されました。