You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
You're using JmhBytecodeGenerator, which seems to have been pretty much abandoned upstream and is completely incompatible with any module-info related artifacts.
To Reproduce
Steps to reproduce the behavior:
Specify a module-info in any jmh related artifact to be processed by gradle plugin
Try and run
See error
./gradlew jmh
> Configure project :
Version: 5.0.7
> Task :jmhRunBytecodeGenerator FAILED
Processing 6 classes from /home/cpw/projects/minecraft/eventbus/build/classes/java/jmh with "reflection" generator
Writing out Java source to /home/cpw/projects/minecraft/eventbus/build/jmh-generated-sources and resources to /home/cpw/projects/minecraft/eventbus/build/jmh-generated-resources
Exception in thread "main" java.lang.NoClassDefFoundError: module-info is not a class because access_flag ACC_MODULE is set
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1010)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:855)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:753)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:676)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:634)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:573)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:466)
at org.openjdk.jmh.generators.bytecode.JmhBytecodeGenerator.main(JmhBytecodeGenerator.java:90)
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':jmhRunBytecodeGenerator'.
> Process 'command '/usr/lib/jvm/adoptopenjdk-16-hotspot-amd64/bin/java'' finished with non-zero exit value 1
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
See https://docs.gradle.org/7.4.2/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 743ms
4 actionable tasks: 1 executed, 3 up-to-date
I've tried the asm generator, but that has similar difficulties
./gradlew jmh
> Configure project :
Version: 5.0.7
> Task :jmhRunBytecodeGenerator FAILED
Processing 6 classes from /home/cpw/projects/minecraft/eventbus/build/classes/java/jmh with "asm" generator
Writing out Java source to /home/cpw/projects/minecraft/eventbus/build/jmh-generated-sources and resources to /home/cpw/projects/minecraft/eventbus/build/jmh-generated-resources
Exception in thread "main" java.lang.UnsupportedOperationException: Module requires ASM6
at org.objectweb.asm.ClassVisitor.visitModule(ClassVisitor.java:145)
at org.objectweb.asm.ClassReader.readModuleAttributes(ClassReader.java:781)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:580)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:424)
at org.openjdk.jmh.generators.asm.ASMGeneratorSource.processClass(ASMGeneratorSource.java:60)
at org.openjdk.jmh.generators.asm.ASMGeneratorSource.processClass(ASMGeneratorSource.java:53)
at org.openjdk.jmh.generators.asm.ASMGeneratorSource.processClasses(ASMGeneratorSource.java:47)
at org.openjdk.jmh.generators.bytecode.JmhBytecodeGenerator.main(JmhBytecodeGenerator.java:81)
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':jmhRunBytecodeGenerator'.
> Process 'command '/usr/lib/jvm/adoptopenjdk-16-hotspot-amd64/bin/java'' finished with non-zero exit value 1
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
See https://docs.gradle.org/7.4.2/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 721ms
4 actionable tasks: 1 executed, 3 up-to-date
Looking upstream it seems this particular generator (bytecode) is not getting a lot of attention and hasn't for some time. The only focus is in the annotation processor, which you seem to have specifically abandoned.
I can't figure out any way to change to using the annotation processor with the gradle plugin sadly.
The text was updated successfully, but these errors were encountered:
Describe the bug
You're using JmhBytecodeGenerator, which seems to have been pretty much abandoned upstream and is completely incompatible with any module-info related artifacts.
To Reproduce
Steps to reproduce the behavior:
I've tried the asm generator, but that has similar difficulties
Looking upstream it seems this particular generator (bytecode) is not getting a lot of attention and hasn't for some time. The only focus is in the annotation processor, which you seem to have specifically abandoned.
I can't figure out any way to change to using the annotation processor with the gradle plugin sadly.
The text was updated successfully, but these errors were encountered: