Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(dependency): add explicit byte-buddy dependency while upgrading spockframework to 2.2-groovy-3.0 #4771

Merged
merged 1 commit into from
Aug 6, 2024

Commits on Aug 6, 2024

  1. chore(dependency): add explicit byte-buddy dependency while upgrading…

    … spockframework to 2.2-groovy-3.0
    
    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 orca-mine, orca-pipelinetemplate, orca-applications, orca-echo, orca-clouddriver-provider-titus, orca-front50, orca-igor, orca-peering, orca-interlink and orca-webhook 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 @5f9b2141
            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 [email protected]/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 @5f9b2141
            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.
    j-sandy committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    44a5832 View commit details
    Browse the repository at this point in the history