Skip to content

Commit 67091ab

Browse files
authored
chore(dependency): add explicit byte-buddy dependency while upgrading spockframework to 2.2-groovy-3.0 (#6257)
While upgrading spockframework from 2.0-groovy-3.0 to 2.2-groovy-3.0, encountered similar errors as mentioned below during test execution of clouddriver-elasticsearch, clouddriver-google-common, clouddriver-oracle and clouddriver-titus module: ``` Caused by: net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InaccessibleObjectException-->Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @3e07d849 at app//net.sf.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:464) at app//net.sf.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:339) at app//net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:96) at app//net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:94) at app//net.sf.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54) at java.base@17.0.2/java.util.concurrent.FutureTask.run(FutureTask.java:264) at app//net.sf.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61) at app//net.sf.cglib.core.internal.LoadingCache.get(LoadingCache.java:34) at app//net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:119) at app//net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:294) at app//net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:221) at app//net.sf.cglib.core.KeyFactory.create(KeyFactory.java:174) at app//net.sf.cglib.core.KeyFactory.create(KeyFactory.java:153) at app//net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:73) ... 10 more Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @3e07d849 at net.sf.cglib.core.ReflectUtils$1.run(ReflectUtils.java:61) at java.base/java.security.AccessController.doPrivileged(AccessController.java:569) at net.sf.cglib.core.ReflectUtils.<clinit>(ReflectUtils.java:52) at net.sf.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:243) at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) at net.sf.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:332) ... 22 more ``` This issue caused due to dropping of `net.bytebuddy:byte-buddy` transitive dependency from [spock 2.2](https://repo1.maven.org/maven2/org/spockframework/spock-core/2.2-groovy-3.0/spock-core-2.2-groovy-3.0.pom), while it is part of [spock 2.0](https://repo1.maven.org/maven2/org/spockframework/spock-core/2.0-groovy-3.0/spock-core-2.0-groovy-3.0.pom). So, introducing the `testRuntimeOnly` byte-buddy explicit dependency to fix this issue. Since spring boot 2.7.18 bring byte-buddy as transitive dependency with [1.12.23](https://repo1.maven.org/maven2/org/springframework/boot/spring-boot-dependencies/2.7.18/spring-boot-dependencies-2.7.18.pom) version, so tying the byte-buddy version with spring boot by unpinning it.
1 parent 11707d4 commit 67091ab

File tree

4 files changed

+4
-0
lines changed

4 files changed

+4
-0
lines changed

clouddriver-elasticsearch/clouddriver-elasticsearch.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,6 @@ dependencies {
2020
testImplementation "org.spockframework:spock-core"
2121
testImplementation "org.spockframework:spock-spring"
2222
testImplementation "org.springframework:spring-test"
23+
testRuntimeOnly "net.bytebuddy:byte-buddy"
2324

2425
}

clouddriver-google-common/clouddriver-google-common.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,5 @@ dependencies {
1616
testImplementation "cglib:cglib-nodep"
1717
testImplementation "org.objenesis:objenesis"
1818
testImplementation "org.spockframework:spock-core"
19+
testRuntimeOnly "net.bytebuddy:byte-buddy"
1920
}

clouddriver-oracle/clouddriver-oracle.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ dependencies {
2424
testImplementation "org.spockframework:spock-core"
2525
testImplementation "org.spockframework:spock-spring"
2626
testImplementation "org.springframework:spring-test"
27+
testRuntimeOnly "net.bytebuddy:byte-buddy"
2728
}
2829

2930
def allSourceSets = sourceSets

clouddriver-titus/clouddriver-titus.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ dependencies {
4949
testImplementation "org.spockframework:spock-spring"
5050
testImplementation "org.springframework:spring-test"
5151
testImplementation "io.spinnaker.kork:kork-test"
52+
testRuntimeOnly "net.bytebuddy:byte-buddy"
5253
}
5354

5455
sourceSets {

0 commit comments

Comments
 (0)