Uploaded image for project: 'Kogito'
  1. Kogito
  2. KOGITO-5665

Quarkus decision extension pulls in drools-core-dynamic when running through Gradle

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • None
    • None
    • None
    • 5
    • False
    • False
    • Undefined
    • 2021 Week 31-33 (from Aug 2)

      kogito-quarkus-decision-extension is bringing in org.drools:drools-core-dynamic, but only when running in Gradle. I can only assume that either

      1) the failure occurs because of the way the Quarkus platform is generated (in this case, double check whether this affects also the maven plugin with Quarkus platform)

      2) the failure occurs because of the way Gradle resolves the dependencies, and maybe some exclusions are weirdly not taken into account correctly...

      > Task :quarkusGenerateCode
      preparing quarkus application
      Loading failed because There already exists an implementation for service org.kie.internal.ruleunit.RuleUnitComponentFactory with same priority 0
      
      > Task :quarkusBuild FAILED
      building quarkus jar
      
      FAILURE: Build failed with an exception.
      
      * What went wrong:
      Execution failed for task ':quarkusBuild'.
      > io.quarkus.builder.BuildException: Build failure: Build failed due to errors
              [error]: Build step org.kie.kogito.quarkus.common.deployment.KogitoAssetsProcessor#generateModel threw an exception: java.lang.ExceptionInInitializerError
              at org.drools.dynamic.DynamicServiceRegistrySupplier.get(DynamicServiceRegistrySupplier.java:32)
              at org.drools.dynamic.DynamicServiceRegistrySupplier.get(DynamicServiceRegistrySupplier.java:23)
              at org.kie.api.internal.utils.ServiceRegistry$Impl.getServiceRegistry(ServiceRegistry.java:90)
              at org.kie.api.internal.utils.ServiceRegistry$ServiceRegistryHolder.<clinit>(ServiceRegistry.java:49)
              at org.kie.api.internal.utils.ServiceRegistry.getInstance(ServiceRegistry.java:41)
              at org.kie.api.internal.utils.ServiceRegistry.getService(ServiceRegistry.java:37)
              at org.drools.compiler.compiler.DecisionTableFactory.<clinit>(DecisionTableFactory.java:28)
              at org.kie.kogito.codegen.rules.IncrementalRuleCodegen.<init>(IncrementalRuleCodegen.java:131)
              at org.kie.kogito.codegen.rules.IncrementalRuleCodegen.ofResources(IncrementalRuleCodegen.java:113)
              at org.kie.kogito.codegen.rules.IncrementalRuleCodegen.ofCollectedResources(IncrementalRuleCodegen.java:98)
              at org.kie.kogito.codegen.rules.IncrementalRuleCodegenFactory.create(IncrementalRuleCodegenFactory.java:29)
              at org.kie.kogito.codegen.core.utils.ApplicationGeneratorDiscovery.lambda$loadGenerators$0(ApplicationGeneratorDiscovery.java:60)
              at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
              at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
              at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
              at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
              at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
              at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
              at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
              at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
              at org.kie.kogito.codegen.core.utils.ApplicationGeneratorDiscovery.loadGenerators(ApplicationGeneratorDiscovery.java:62)
              at org.kie.kogito.codegen.core.utils.ApplicationGeneratorDiscovery.discover(ApplicationGeneratorDiscovery.java:48)
              at org.kie.kogito.quarkus.common.deployment.KogitoAssetsProcessor.generateFiles(KogitoAssetsProcessor.java:114)
              at org.kie.kogito.quarkus.common.deployment.KogitoAssetsProcessor.generateModel(KogitoAssetsProcessor.java:85)
              at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
              at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.base/java.lang.reflect.Method.invoke(Method.java:566)
              at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:820)
              at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
              at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
              at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2442)
              at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1476)
              at java.base/java.lang.Thread.run(Thread.java:829)
              at org.jboss.threads.JBossThread.run(JBossThread.java:501)
        Caused by: java.lang.RuntimeException: Unable to build kie service url = jar:file:/Users/vladimirfx/.gradle/caches/modules-2/files-2.1/org.drools/drools-ruleunit/7.55.0.Final/6deabe72d8c663995694627ade411a33fe6b2e0c/drools-ruleunit-7.55.0.Final.jar!/META-INF/kie.conf
              at org.kie.api.internal.utils.ServiceDiscoveryImpl.registerConfs(ServiceDiscoveryImpl.java:105)
              at org.kie.api.internal.utils.ServiceDiscoveryImpl.lambda$getServices$1(ServiceDiscoveryImpl.java:83)
              at java.base/java.util.Optional.ifPresent(Optional.java:183)
              at org.kie.api.internal.utils.ServiceDiscoveryImpl.getServices(ServiceDiscoveryImpl.java:81)
              at org.kie.api.internal.utils.ServiceRegistry$Impl.<init>(ServiceRegistry.java:62)
              at org.drools.dynamic.DynamicServiceRegistrySupplier$LazyHolder.<clinit>(DynamicServiceRegistrySupplier.java:27)
              ... 35 more
        Caused by: java.lang.RuntimeException: There already exists an implementation for service org.kie.internal.ruleunit.RuleUnitComponentFactory with same priority 0
              at org.kie.api.internal.utils.ServiceDiscoveryImpl$PriorityMap.put(ServiceDiscoveryImpl.java:222)
              at org.kie.api.internal.utils.ServiceDiscoveryImpl.processKieService(ServiceDiscoveryImpl.java:124)
              at org.kie.api.internal.utils.ServiceDiscoveryImpl.registerConfs(ServiceDiscoveryImpl.java:101)
              ... 40 more
      
      
      * 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
      
      BUILD FAILED in 58s
      6 actionable tasks: 6 executed
      

            evacchi Edoardo Vacchi (Inactive)
            evacchi Edoardo Vacchi (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: