Originally reported as https://github.com/apache/camel-quarkus/issues/454
Steps to reproduce:
./mvnw clean install results in [INFO] Running org.acme.ExampleResourceTest
10:14:57,734 INFO [org.jbo.threads] JBoss Threads version 3.0.0.Final
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 2.018 s <<< FAILURE! - in org.acme.ExampleResourceTest
[ERROR] testHelloEndpoint Time elapsed: 0.009 s <<< ERROR!
org.junit.jupiter.api.extension.TestInstantiationException:
TestInstanceFactory [io.quarkus.test.junit.QuarkusTestExtension] failed to instantiate test class [org.acme.ExampleResourceTest]: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[error]: Build step io.quarkus.vertx.core.deployment.VertxCoreProcessor#eventLoop threw an exception: java.lang.IllegalArgumentException: Build item class must be leaf (final) types: class io.quarkus.netty.deployment.EventLoopSupplierBuildItem
at io.quarkus.builder.item.BuildItem.<init>(BuildItem.java:22)
at io.quarkus.builder.item.SimpleBuildItem.<init>(SimpleBuildItem.java:10)
at io.quarkus.netty.deployment.EventLoopSupplierBuildItem.<init>(EventLoopSupplierBuildItem.java:13)
at io.quarkus.vertx.core.deployment.VertxCoreProcessor.eventLoop(VertxCoreProcessor.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at io.quarkus.deployment.ExtensionLoader$1.execute(ExtensionLoader.java:941)
at io.quarkus.builder.BuildContext.run(BuildContext.java:415)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2011)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1535)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1426)
at java.lang.Thread.run(Thread.java:748)
at org.jboss.threads.JBossThread.run(JBossThread.java:479)
Caused by: java.lang.RuntimeException:
io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[error]: Build step io.quarkus.vertx.core.deployment.VertxCoreProcessor#eventLoop threw an exception: java.lang.IllegalArgumentException: Build item class must be leaf (final) types: class io.quarkus.netty.deployment.EventLoopSupplierBuildItem
at io.quarkus.builder.item.BuildItem.<init>(BuildItem.java:22)
at io.quarkus.builder.item.SimpleBuildItem.<init>(SimpleBuildItem.java:10)
at io.quarkus.netty.deployment.EventLoopSupplierBuildItem.<init>(EventLoopSupplierBuildItem.java:13)
at io.quarkus.vertx.core.deployment.VertxCoreProcessor.eventLoop(VertxCoreProcessor.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at io.quarkus.deployment.ExtensionLoader$1.execute(ExtensionLoader.java:941)
at io.quarkus.builder.BuildContext.run(BuildContext.java:415)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2011)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1535)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1426)
at java.lang.Thread.run(Thread.java:748)
at org.jboss.threads.JBossThread.run(JBossThread.java:479)
EXPECTED: it should pass
EventLoopSupplierBuildItem is made final in Quarkus 1.0.0.CR2 while it is still broken in CR1.quarkus-maven-plugin probably relies on quarkus-universe-bom-deployment and the root cause seems to be there: it imports camel-quarkus-parent instead of camel-quarkus-bom-deployment
https://github.com/quarkusio/quarkus-platform/blob/1.0.0.CR2/bom/deployment/pom.xml#L40
WDYT @aloubyansky ?
Looking
Hm... changing this line to camel-quarkus-bom-deployment https://github.com/quarkusio/quarkus-platform/blob/1.0.0.CR2/bom/deployment/pom.xml#L40 does not help.
I see how that happens. Working on a fix.
This is probably something we want fixed for Final.
I marked it as backport?.
The linked PR was tested on the attached project and passed the platform testsuite.
Thanks, @aloubyansky !
Actually, thank you @ppalaga, that's a pretty nasty bug.