-
Notifications
You must be signed in to change notification settings - Fork 3k
Closed
Description
Originally reported as apache/camel-quarkus#454
Steps to reproduce:
- generate a starter app with just RESTEasy JAX-RS and Camel Quarkus Netty HTTP on https://code.quarkus.io or use the attached
code-with-quarkus.zip ./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
Some observations
- The
EventLoopSupplierBuildItem
is made final in Quarkus 1.0.0.CR2 while it is still broken in CR1. - The Universe BOM pulls camel-quarkus-netty 0.4.0 which depends on quarkus-netty 1.0.0.CR1 - that's how the bad version comes into the play.
- The Maven compile class path of the reproducer project contains the correct quarkus-netty version 1.0.0.CR2
Possible cause
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 ?
Metadata
Metadata
Assignees
Labels
kind/bugSomething isn't workingSomething isn't working