Skip to content
This repository was archived by the owner on Dec 20, 2025. It is now read-only.

chore(dependency): add explicit dependency of groovy-json in gate-web while upgrading groovy 3.x - #1712

Merged
mergify[bot] merged 1 commit into
spinnaker:masterfrom
j-sandy:groovy-test
Sep 20, 2023
Merged

mergify[bot] merged 1 commit into
spinnaker:masterfrom
j-sandy:groovy-test

Conversation

@j-sandy

@j-sandy j-sandy commented Sep 20, 2023

Copy link
Copy Markdown
Contributor

With groovy 2.5.15 and spockframework 1.3-groovy-2.5, groovy-json appear as transitive dependency of spockframework as shown below:

$ ./gradlew gate-web:dI --dependency groovy-json --configuration testCompileClasspath

> Task :gate-web:dependencyInsight
org.codehaus.groovy:groovy-json:2.5.15
  Variant compile:
    | Attribute Name                 | Provided | Requested         |
    |--------------------------------|----------|-------------------|
    | org.gradle.status              | release  |                   |
    | org.gradle.category            | library  | library           |
    | org.gradle.libraryelements     | jar      | classes+resources |
    | org.gradle.usage               | java-api | java-api          |
    | org.gradle.dependency.bundling |          | external          |
    | org.gradle.jvm.environment     |          | standard-jvm      |
    | org.gradle.jvm.version         |          | 11                |
   Selection reasons:
      - By constraint
      - Forced

org.codehaus.groovy:groovy-json:2.5.15
\--- io.spinnaker.kork:kork-bom:7.190.0
     \--- testCompileClasspath

org.codehaus.groovy:groovy-json:2.5.4 -> 2.5.15
+--- org.spockframework:spock-core:1.3-groovy-2.5
|    +--- testCompileClasspath (requested org.spockframework:spock-core)
|    +--- io.spinnaker.kork:kork-bom:7.190.0
|    |    \--- testCompileClasspath
|    \--- org.spockframework:spock-spring:1.3-groovy-2.5
|         +--- testCompileClasspath (requested org.spockframework:spock-spring)
|         \--- io.spinnaker.kork:kork-bom:7.190.0 (*)
\--- org.spockframework:spock-spring:1.3-groovy-2.5 (*)

While upgrading groovy 3.0.10 and spockframework 2.0-groovy-3.0, groovy-json is not part of spockframework and and encounter below error during test compilation:

> Task :gate-web:compileTestGroovy FAILED
startup failed:
/gate/gate-web/src/test/groovy/com/netflix/spinnaker/gate/controllers/ApplicationControllerSpec.groovy: 22: unable to resolve class groovy.json.JsonSlurper
 @ line 22, column 1.
   import groovy.json.JsonSlurper
   ^

/gate/gate-web/src/test/groovy/com/netflix/spinnaker/gate/controllers/BuildControllerSpec.groovy: 23: unable to resolve class groovy.json.JsonSlurper
 @ line 23, column 1.
   import groovy.json.JsonSlurper
   ^

/gate/gate-web/src/test/groovy/com/netflix/spinnaker/gate/controllers/EcsClusterControllerSpec.groovy: 22: unable to resolve class groovy.json.JsonSlurper
 @ line 22, column 1.
   import groovy.json.JsonSlurper
   ^

3 errors

So, adding explicit dependency of groovy-json in gate-web.gradle

… while upgrading groovy 3.x

With groovy 2.5.15 and spockframework 1.3-groovy-2.5, groovy-json appear as transitive dependency of [spockframework](https://mvnrepository.com/artifact/org.spockframework/spock-core/1.3-groovy-2.5) as shown below:

```
$ ./gradlew gate-web:dI --dependency groovy-json --configuration testCompileClasspath

> Task :gate-web:dependencyInsight
org.codehaus.groovy:groovy-json:2.5.15
  Variant compile:
    | Attribute Name                 | Provided | Requested         |
    |--------------------------------|----------|-------------------|
    | org.gradle.status              | release  |                   |
    | org.gradle.category            | library  | library           |
    | org.gradle.libraryelements     | jar      | classes+resources |
    | org.gradle.usage               | java-api | java-api          |
    | org.gradle.dependency.bundling |          | external          |
    | org.gradle.jvm.environment     |          | standard-jvm      |
    | org.gradle.jvm.version         |          | 11                |
   Selection reasons:
      - By constraint
      - Forced

org.codehaus.groovy:groovy-json:2.5.15
\--- io.spinnaker.kork:kork-bom:7.190.0
     \--- testCompileClasspath

org.codehaus.groovy:groovy-json:2.5.4 -> 2.5.15
+--- org.spockframework:spock-core:1.3-groovy-2.5
|    +--- testCompileClasspath (requested org.spockframework:spock-core)
|    +--- io.spinnaker.kork:kork-bom:7.190.0
|    |    \--- testCompileClasspath
|    \--- org.spockframework:spock-spring:1.3-groovy-2.5
|         +--- testCompileClasspath (requested org.spockframework:spock-spring)
|         \--- io.spinnaker.kork:kork-bom:7.190.0 (*)
\--- org.spockframework:spock-spring:1.3-groovy-2.5 (*)
```
While upgrading groovy 3.0.10 and spockframework 2.0-groovy-3.0, groovy-json is not part of [spockframework](https://mvnrepository.com/artifact/org.spockframework/spock-core/2.0-groovy-3.0) and and encounter below error during test compilation:
```
> Task :gate-web:compileTestGroovy FAILED
startup failed:
/gate/gate-web/src/test/groovy/com/netflix/spinnaker/gate/controllers/ApplicationControllerSpec.groovy: 22: unable to resolve class groovy.json.JsonSlurper
 @ line 22, column 1.
   import groovy.json.JsonSlurper
   ^

/gate/gate-web/src/test/groovy/com/netflix/spinnaker/gate/controllers/BuildControllerSpec.groovy: 23: unable to resolve class groovy.json.JsonSlurper
 @ line 23, column 1.
   import groovy.json.JsonSlurper
   ^

/gate/gate-web/src/test/groovy/com/netflix/spinnaker/gate/controllers/EcsClusterControllerSpec.groovy: 22: unable to resolve class groovy.json.JsonSlurper
 @ line 22, column 1.
   import groovy.json.JsonSlurper
   ^

3 errors

```
So, adding explicit dependency of groovy-json in gate-web.gradle
@dbyron-sf dbyron-sf added the ready to merge Approved and ready for merge label Sep 20, 2023
@mergify mergify Bot added the auto merged label Sep 20, 2023
@mergify
mergify Bot merged commit 0c04a78 into spinnaker:master Sep 20, 2023
@j-sandy
j-sandy deleted the groovy-test branch September 21, 2023 14:19
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

auto merged ready to merge Approved and ready for merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants