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

Gradle support in Quarkus extension

    XMLWordPrintable

Details

    • False
    • False
    • Undefined
    • 2021 Week 31-33 (from Aug 2)

    Description

      Kogito extension fails because it assumes a Maven file system layout. Some path are hardcoded (e.g. try running {{

      {find . -name '*.java' |xargs grep '"src'}

      }} on kogito-runtimes).

      We should refactor these so that the paths are no longer hardcoded.

      Quarkus 2.0.0.Final:

      quarkus-kogito-gradle ./gradlew assemble
      Starting a Gradle Daemon (subsequent builds will be faster)
      
      > 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
      
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              evacchi Edoardo Vacchi (Inactive)
              Marian Macik Marian Macik
              Marian Macik Marian Macik
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: