Can someone please assist or point me in the right direction on gradle error seen during the build using JaCoCo plugin? Thanks in advance!
See details below on my setup and steps performed.
I am running Jenkins Job that has uses Gradle plugin(V1.26 from https://wiki.jenkins-ci.org/display/JENKINS/Gradle+Plugin) & JaCoCo plugin(V2.2.0 from https://wiki.jenkins-ci.org/display/JENKINS/JaCoCo+Plugin).
Here is how the Configuration in Jenkins Job is for Gradle & JaCoCo:
Gradle Plugin(uses build.gradle):
Uses Gradle Version 2.9 installed on Jenkins server
Calls gradle tasks “clean testjar -Dtest.single=AllTestsSuite test -DENVIRONMENT=dev2”. Note that -DENVIRONMENT is property used for distinguishing our test environments
JaCoCo Plugin:
Configured for recording of JacoCo coverage report
test {
println 'INFO: JUnit Test Properties’
jvmArgs “-javaagent:${configurations.testJMockitAgent.asPath}”,"-javaagent:${configurations.testSpringInstrumentAgent.asPath}"
// Override the DB type for this set of tests
systemProperties = System.getProperties();
systemProperties[‘user.dir’] = workingDir
//systemProperty ‘ENVIRONMENT’, 'dev2’
testLogging {
// Show that tests are run in the command-line output
events ‘started’, ‘passed’
}
finalizedBy jacocoTestReport
}
But the following is failing in Jenkins with the below mentioned error after the “test” task is executed. In the build workspace, I can see that test.exec is getting generated in the //build/jacoco/ :
--------------Many Lines Deleted-----------------
14:53:15 :jacocoTestReport FAILED
14:53:15
14:53:15 FAILURE: Build failed with an exception.
14:53:15
14:53:15 * What went wrong:
14:53:15 Execution failed for task ‘:jacocoTestReport’.
14:53:15 > org.jacoco.report.IReportGroupVisitor
14:53:15
14:53:15 * Try:
14:53:15 Run with --info or --debug option to get more log output.
14:53:15
14:53:15 * Exception is:
14:53:15 org.gradle.api.tasks.TaskExecutionException: Execution failed for task ‘:jacocoTestReport’.
14:53:15 at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
14:53:15 at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
14:53:15 at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
14:53:15 at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
14:53:15 at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
14:53:15 at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
14:53:15 at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
14:53:15 at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
14:53:15 at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
14:53:15 at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
14:53:15 at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
14:53:15 at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
14:53:15 at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
14:53:15 at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
14:53:15 at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
14:53:15 at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
14:53:15 at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
14:53:15 at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
14:53:15 at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
14:53:15 at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
14:53:15 at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
14:53:15 at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
14:53:15 at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
14:53:15 at org.gradle.internal.Factories$1.create(Factories.java:22)
14:53:15 at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
14:53:15 at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
14:53:15 at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
14:53:15 at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
14:53:15 at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
14:53:15 at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
14:53:15 at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
14:53:15 at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
14:53:15 at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
14:53:15 at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
14:53:15 at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
14:53:15 at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
14:53:15 at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
14:53:15 at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
14:53:15 at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
14:53:15 at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:77)
14:53:15 at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:47)
14:53:15 at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
14:53:15 at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
14:53:15 at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
14:53:15 at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
14:53:15 at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
14:53:15 at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
14:53:15 at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
14:53:15 at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
14:53:15 at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
14:53:15 at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
14:53:15 at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
14:53:15 at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
14:53:15 at org.gradle.launcher.Main.doAction(Main.java:33)
14:53:15 at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
14:53:15 at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
14:53:15 at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
14:53:15 at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
14:53:15 Caused by: java.lang.NoClassDefFoundError: org.jacoco.report.IReportGroupVisitor
14:53:15 at org.apache.tools.ant.ComponentHelper.checkTaskClass(ComponentHelper.java:376)
14:53:15 at org.apache.tools.ant.ComponentHelper.addTaskDefinition(ComponentHelper.java:341)
14:53:15 at org.apache.tools.ant.Project.addTaskDefinition(Project.java:968)
14:53:15 at org.apache.tools.ant.Project$addTaskDefinition.call(Unknown Source)
14:53:15 at org.gradle.api.internal.project.antbuilder.AntBuilderDelegate.taskdef(AntBuilderDelegate.groovy:34)
14:53:15 at org.gradle.api.internal.project.antbuilder.AntBuilderDelegate$taskdef.call(Unknown Source)
14:53:15 at org.gradle.testing.jacoco.tasks.JacocoReport$_generate_closure2.doCall(JacocoReport.groovy:88)
14:53:15 at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:67)
14:53:15 at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:130)
14:53:15 at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:91)
14:53:15 at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder$2.execute(DefaultIsolatedAntBuilder.java:140)
14:53:15 at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder$2.execute(DefaultIsolatedAntBuilder.java:122)
14:53:15 at org.gradle.api.internal.project.antbuilder.ClassPathToClassLoaderCache.withCachedClassLoader(ClassPathToClassLoaderCache.java:134)
14:53:15 at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder.execute(DefaultIsolatedAntBuilder.java:116)
14:53:15 at org.gradle.api.internal.project.IsolatedAntBuilder$execute$0.call(Unknown Source)
14:53:15 at org.gradle.testing.jacoco.tasks.JacocoReport.generate(JacocoReport.groovy:87)
14:53:15 at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
14:53:15 at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:227)
14:53:15 at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
14:53:15 at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
14:53:15 at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585)
14:53:15 at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568)
14:53:15 at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
14:53:15 at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
14:53:15 … 57 more
14:53:15 Caused by: java.lang.ClassNotFoundException: org.jacoco.report.IReportGroupVisitor
14:53:15 … 81 more
Thanks for your response!
Here is the debug stacktrace that got generated after I added the below lines in jacocoTestReport task in build.gradle
doFirst{
sourceSets.main.runtimeClasspath.each { println it}
}
Excerpt from stacktrace:
--------------------------------------Many Lines Deleted---------------------------------------------------------------
06:42:13 06:42:13.226 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.testing.jacoco.tasks.JacocoReport$_generate_closure2.doCall(JacocoReport.groovy:88)
06:42:13 06:42:13.226 [ERROR] [org.gradle.BuildExceptionReporter] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
06:42:13 06:42:13.226 [ERROR] [org.gradle.BuildExceptionReporter] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
06:42:13 06:42:13.226 [ERROR] [org.gradle.BuildExceptionReporter] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
06:42:13 06:42:13.226 [ERROR] [org.gradle.BuildExceptionReporter] at java.lang.reflect.Method.invoke(Method.java:620)
06:42:13 06:42:13.226 [ERROR] [org.gradle.BuildExceptionReporter] at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
06:42:13 06:42:13.226 [ERROR] [org.gradle.BuildExceptionReporter] at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
----Many Lines Deleted—
06:42:13 06:42:13.227 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
06:42:13 06:42:13.227 [ERROR] [org.gradle.BuildExceptionReporter] … 61 more
06:42:13 06:42:13.227 [ERROR] [org.gradle.BuildExceptionReporter] Caused by: java.lang.ClassNotFoundException: org.jacoco.report.IReportGroupVisitor
06:42:13 06:42:13.227 [ERROR] [org.gradle.BuildExceptionReporter] at java.net.URLClassLoader.findClass(URLClassLoader.java:600)
06:42:13 06:42:13.227 [ERROR] [org.gradle.BuildExceptionReporter] at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:786)
06:42:13 06:42:13.227 [ERROR] [org.gradle.BuildExceptionReporter] at java.lang.ClassLoader.loadClass(ClassLoader.java:764)
06:42:13 06:42:13.228 [ERROR] [org.gradle.BuildExceptionReporter] at java.lang.ClassLoader.loadClass(ClassLoader.java:741)
06:42:13 06:42:13.228 [ERROR] [org.gradle.BuildExceptionReporter] … 111 more
06:42:13 06:42:13.228 [ERROR] [org.gradle.BuildExceptionReporter]
06:42:13 06:42:13.228 [LIFECYCLE] [org.gradle.BuildResultLogger]
06:42:13 06:42:13.228 [LIFECYCLE] [org.gradle.BuildResultLogger] BUILD FAILED
06:42:13 06:42:13.228 [LIFECYCLE] [org.gradle.BuildResultLogger]
06:42:13 06:42:13.228 [LIFECYCLE] [org.gradle.BuildResultLogger] Total time: 9.79 secs
06:42:13 06:42:13.232 [DEBUG] [org.gradle.api.internal.project.antbuilder.FinalizerThread] Shutdown of classloader cache in progress
06:42:13 06:42:13.233 [DEBUG] [org.gradle.api.internal.project.antbuilder.FinalizerThread] Removing classloader from cache, classpath = [file:/opt/javab427/.gradle/caches/modules-2/files-2.1/org.jacoco/org.jacoco.ant/0.7.1.201405082137/fa7d7352cf2847db16efb1d2fc4eefa36e897690/org.jacoco.ant-0.7.1.201405082137.jar]
06:42:13 06:42:13.258 [DEBUG] [org.gradle.api.internal.project.antbuilder.FinalizerThread] Completed shutdown
I can get the artifacts org.jacoco:org.jacoco.ant:0.7.1.201405082137 & org.jacoco:org.jacoco.report:0.7.1.201405082137 in gradle cache during build. Still not sure why its failing to find the “ClassNotFoundException: org.jacoco.report.IReportGroupVisitor”?
The output of sourceSets.main.runtimeClasspath.each { println it} shows the runtime classpath of your main source set. However, what I’m really wanting to see is the output of the classpath being used for the jacocoTestReport task that is failing (i.e. jacocoTestReport.jacocoClasspath.each { println it } to match what you did). I can create a similar failure if I purposefully sabotage that classpath.
Also, is the Jacoco report successfully generated when a build is run somewhere other than the Jenkins server?
Please see the output from jacocoTestReport.jacocoClasspath.each { println it } as part of build log,:
-------------------------Excerpt from log-----------------------------
9:03:29 Executing task ‘:jacocoTestReport’ (up-to-date check took 0.282 secs) due to:
09:03:29 No history is available.
09:03:29 /opt/javab427/.gradle/caches/modules-2/files-2.1/org.jacoco/org.jacoco.ant/0.7.1.201405082137/fa7d7352cf2847db16efb1d2fc4eefa36e897690/org.jacoco.ant-0.7.1.201405082137.jar
09:03:29 :jacocoTestReport FAILED
09:03:29 :jacocoTestReport (Thread[main,5,main]) completed. Took 0.599 secs.
09:03:30
09:03:30 FAILURE: Build failed with an exception.
09:03:30
09:03:30 * What went wrong:
09:03:30 Execution failed for task ‘:jacocoTestReport’.
09:03:30 > org.jacoco.report.IReportGroupVisitor
09:03:30
09:03:30 * Try:
09:03:30 Run with --debug option to get more log output.
09:03:30
09:03:30 * Exception is:
09:03:30 org.gradle.api.tasks.TaskExecutionException: Execution failed for task ‘:jacocoTestReport’.
09:03:30 at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
09:03:30 at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
09:03:30 at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
09:03:30 at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
09:03:30 at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
09:03:30 at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
09:03:30 at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
09:03:30 at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
09:03:30 at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
09:03:30 at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
09:03:30 at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
09:03:30 at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
09:03:30 at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
09:03:30 at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
09:03:30 at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
09:03:30 at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
09:03:30 at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
09:03:30 at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
09:03:30 at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
09:03:30 at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
09:03:30 at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
09:03:30 at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
09:03:30 at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
09:03:30 at org.gradle.internal.Factories$1.create(Factories.java:22)
09:03:30 at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
09:03:30 at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
09:03:30 at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
09:03:30 at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
09:03:30 at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
09:03:30 at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
09:03:30 at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
09:03:30 at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
09:03:30 at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
09:03:30 at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
09:03:30 at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
09:03:30 at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
09:03:30 at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
09:03:30 at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
09:03:30 at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
09:03:30 at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:77)
09:03:30 at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:47)
09:03:30 at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
09:03:30 at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
09:03:30 at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
09:03:30 at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
09:03:30 at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
09:03:30 at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
09:03:30 at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
09:03:30 at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
09:03:30 at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
09:03:30 at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
09:03:30 at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
09:03:30 at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
09:03:30 at org.gradle.launcher.Main.doAction(Main.java:33)
09:03:30 at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
09:03:30 at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
09:03:30 at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
09:03:30 at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
09:03:30 Caused by: java.lang.NoClassDefFoundError: org.jacoco.report.IReportGroupVisitor
09:03:30 at org.apache.tools.ant.ComponentHelper.checkTaskClass(ComponentHelper.java:376)
09:03:30 at org.apache.tools.ant.ComponentHelper.addTaskDefinition(ComponentHelper.java:341)
09:03:30 at org.apache.tools.ant.Project.addTaskDefinition(Project.java:968)
09:03:30 at org.apache.tools.ant.Project$addTaskDefinition.call(Unknown Source)
09:03:30 at org.gradle.api.internal.project.antbuilder.AntBuilderDelegate.taskdef(AntBuilderDelegate.groovy:34)
09:03:30 at org.gradle.api.internal.project.antbuilder.AntBuilderDelegate$taskdef.call(Unknown Source)
09:03:30 at org.gradle.testing.jacoco.tasks.JacocoReport$_generate_closure2.doCall(JacocoReport.groovy:88)
09:03:30 at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:67)
09:03:30 at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:130)
09:03:30 at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:91)
09:03:30 at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder$2.execute(DefaultIsolatedAntBuilder.java:140)
09:03:30 at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder$2.execute(DefaultIsolatedAntBuilder.java:122)
09:03:30 at org.gradle.api.internal.project.antbuilder.ClassPathToClassLoaderCache.withCachedClassLoader(ClassPathToClassLoaderCache.java:134)
09:03:30 at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder.execute(DefaultIsolatedAntBuilder.java:116)
09:03:30 at org.gradle.api.internal.project.IsolatedAntBuilder$execute$0.call(Unknown Source)
09:03:30 at org.gradle.testing.jacoco.tasks.JacocoReport.generate(JacocoReport.groovy:87)
09:03:30 at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
09:03:30 at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:227)
09:03:30 at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
09:03:30 at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
09:03:30 at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585)
09:03:30 at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568)
09:03:30 at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
09:03:30 at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
09:03:30 … 57 more
09:03:30 Caused by: java.lang.ClassNotFoundException: org.jacoco.report.IReportGroupVisitor
09:03:30 … 81 more
09:03:30
09:03:30
09:03:30 BUILD FAILED
I have tried to run the build in one of local machine and it fails with similar error:
2017-05-03 14:23:53 INFO o.s.c.s.GenericApplicationContext - Closing org.springframework.context.support.GenericApplicationContext@1db4cfc: startup date [Wed May 03 13:50:47 BST 2017]; root of context hierarchy
2017-05-03 14:23:54 INFO o.s.jmx.export.MBeanExporter - Unregistering JMX-exposed beans on shutdown
2017-05-03 14:23:54 INFO o.s.jmx.export.MBeanExporter - Unregistering JMX-exposed beans
2017-05-03 14:23:54 WARN o.s.jmx.export.MBeanExporter - Could not unregister MBean [com.zaxxer.hikari:name=hikariConfig,type=HikariConfig] as said MBean is not registered (perhaps already unregistered by an external process)
2017-05-03 14:23:54 WARN o.s.jmx.export.MBeanExporter - Could not unregister MBean [com.zaxxer.hikari:name=dataSource,type=HikariDataSource] as said MBean is not registered (perhaps already unregistered by an external process)
2017-05-03 14:23:54 INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit ‘default’
Picked up _JAVA_OPTIONS: -agentlib:“C:\windows\System32\Aternity\Java\JAVAHO~1”
:jacocoTestReport
C:\Users\X200366.gradle\caches\modules-2\files-2.1\org.jacoco\org.jacoco.ant\0.7.1.201405082137\fa7d7352cf2847db16efb1d2fc4eefa36e897690\org.jacoco.ant-0.7.1.201405082137.jar
:jacocoTestReport FAILED
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ‘:jacocoTestReport’.
org/jacoco/core/analysis/ICoverageVisitor
Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 35 mins 56.648 secs
I am clueless on what needs to be done here, any thoughts please?
The root cause of your problem is likely in a part of your build that you did not share. Do you have any logic around disabling transitive dependencies? Something like the following would definitely cause your problem:
Thanks James, I also kind of figured out there were dependencies issues. I tried putting the dependencies in the buildscript section of our project build.gradle as below and not I am getting different error:
Note: I did not find any transitive dependencies in our build script.
What went wrong:
Execution failed for task ‘:jacocoTestReport’.
org/jacoco/core/analysis/ICoverageVisitor
Try:
Run with --info or --debug option to get more log output.
Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ‘:jacocoTestReport’.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:77)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:47)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
at org.gradle.launcher.Main.doAction(Main.java:33)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Caused by: java.lang.NoClassDefFoundError: org/jacoco/core/analysis/ICoverageVisitor
at org.apache.tools.ant.ComponentHelper.checkTaskClass(ComponentHelper.java:376)
at org.apache.tools.ant.ComponentHelper.addTaskDefinition(ComponentHelper.java:341)
at org.apache.tools.ant.Project.addTaskDefinition(Project.java:968)
at org.apache.tools.ant.Project$addTaskDefinition.call(Unknown Source)
at org.gradle.api.internal.project.antbuilder.AntBuilderDelegate.taskdef(AntBuilderDelegate.groovy:34)
at org.gradle.api.internal.project.antbuilder.AntBuilderDelegate$taskdef.call(Unknown Source)
at org.gradle.testing.jacoco.tasks.JacocoReport$_generate_closure2.doCall(JacocoReport.groovy:88)
at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:67)
at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:130)
at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:91)
at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder$2.execute(DefaultIsolatedAntBuilder.java:140)
at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder$2.execute(DefaultIsolatedAntBuilder.java:122)
at org.gradle.api.internal.project.antbuilder.ClassPathToClassLoaderCache.withCachedClassLoader(ClassPathToClassLoaderCache.java:134)
at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder.execute(DefaultIsolatedAntBuilder.java:116)
at org.gradle.api.internal.project.IsolatedAntBuilder$execute$0.call(Unknown Source)
at org.gradle.testing.jacoco.tasks.JacocoReport.generate(JacocoReport.groovy:87)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:227)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
… 57 more
Caused by: java.lang.ClassNotFoundException: org.jacoco.core.analysis.ICoverageVisitor
… 81 more
The buildscript section is not the right place to be adding these things. That’s for the classpath of the Gradle buildscript. These are where the plugins for the buildscript would go. In this case, the jacoco plugin creates another configuration with jacoco dependencies that it then uses when it delegates to the jacoco ant classes.
If you want to manually try to add these things back, you’d want to add those direct dependencies to your regular dependencies block, not the one in buildscript and on the jacocoAnt configuration, not classpath.
However, you should not really be having to do this, but it you can’t find it, it would be better to see if you can use
configurations.jacocoAnt.transitive = true
You might have to play around with where it goes though because it’d need execute after whatever is causing this problem.
As you said I removed the dependencies from buildscript dependencies block and added to regular dependencies block as below:
dependencies {
println 'INFO: Building JaCoCO Dependencies’
compile group:‘org.jacoco’, name:‘org.jacoco.core’, version:'0.7.1.201405082137’
compile group:‘org.jacoco’, name:‘org.jacoco.report’, version:'0.7.1.201405082137’
compile group:‘org.jacoco’, name:‘org.jacoco.agent’, version:'0.7.1.201405082137’
compile group:‘org.jacoco’, name:‘org.jacoco.ant’, version:‘0.7.1.201405082137’
}
The build shows it is able to download from our internal Artifactory repository as seen in the log:
-------Many Lines deleted-----
11:44:40 :compileJava
11:44:40 Download http:///artifactory/libs-release/org/jacoco/org.jacoco.core/0.7.1.201405082137/org.jacoco.core-0.7.1.201405082137.pom
11:44:43 Download http:////artifactory/libs-release/org/jacoco/org.jacoco.build/0.7.1.201405082137/org.jacoco.build-0.7.1.201405082137.pom
11:44:46 Download http:////artifactory/libs-release/org/ow2/asm/asm-debug-all/5.0.1/asm-debug-all-5.0.1.pom
11:44:49 Download http//artifactory/libs-release/org/ow2/asm/asm-parent/5.0.1/asm-parent-5.0.1.pom
11:44:53 Download http:////artifactory/libs-release/org/jacoco/org.jacoco.core/0.7.1.201405082137/org.jacoco.core-0.7.1.201405082137.jar
11:44:58 Download http:////artifactory/libs-release/org/ow2/asm/asm-debug-all/5.0.1/asm-debug-all-5.0.1.jar
11:44:58 Executing task ‘:compileJava’ (up-to-date check took 22.5 secs) due to:
11:44:58 Input file /opt/javab427/.gradle/caches/modules-2/files-2.1/org.jacoco/org.jacoco.ant/0.7.1.201405082137/fa7d7352cf2847db16efb1d2fc4eefa36e897690/org.jacoco.ant-0.7.1.201405082137.jar has been added.
11:44:58 Input file /opt/javab427/.gradle/caches/modules-2/files-2.1/org.jacoco/org.jacoco.core/0.7.1.201405082137/4e8449045f1ac3b845ad5947f87c96e31c88c4eb/org.jacoco.core-0.7.1.201405082137.jar has been added.
11:44:58 Input file /opt/javab427/.gradle/caches/modules-2/files-2.1/org.jacoco/org.jacoco.report/0.7.1.201405082137/ce9a5584b7d79828535891b2d7733c639f97e8dd/org.jacoco.report-0.7.1.201405082137.jar has been added.
As per your advice, I also happen to set configurations.jacocoAnt.transitive = true in build script as below:
I am still seeing the same error while executing jacocoTestReport
11:45:08 :jacocoTestReport
11:45:08 Executing task ‘:jacocoTestReport’ (up-to-date check took 0.192 secs) due to:
11:45:08 No history is available.
11:45:08 /opt/javab427/.gradle/caches/modules-2/files-2.1/org.jacoco/org.jacoco.ant/0.7.1.201405082137/fa7d7352cf2847db16efb1d2fc4eefa36e897690/org.jacoco.ant-0.7.1.201405082137.jar
11:45:09 :jacocoTestReport FAILED
11:45:09 :jacocoTestReport (Thread[main,5,main]) completed. Took 0.532 secs.
11:45:09
11:45:09 FAILURE: Build failed with an exception.
11:45:09
11:45:09 * What went wrong:
11:45:09 Execution failed for task ‘:jacocoTestReport’.
11:45:09 > org.jacoco.report.IReportGroupVisitor
11:45:09
11:45:09 * Try:
11:45:09 Run with --debug option to get more log output.
11:45:09
11:45:09 * Exception is:
I am not gradle expert, Is there a way we can force the classpath dependencies required for jacocoTestReport
to be set?
Thanks!
When you added it to the regular dependencies instead of the buildscript dependencies, you missed the part about adding to the jacocoAnt configuration instead of the classpath configuration. Instead you added it to the compile configuration. Your work-around should read:
Thanks a million for all the help provided until now. I was able to fix the issue using your last input. The jacocoTestReport task is getting built with right dependencies now on my local machine and also on the Jenkins server. I am also able to use the Jenkins JaCoCo plugin to generate the Coverage report post the tests have been executed.
I was still not able to understand though why would we really need to explicitly specify the jacocoAnt Dependencies for adding to the jacocoAnt configuration in build.gradle, I thought this should have been picked up by Gradle script anyways?
Even the documentation at https://docs.gradle.org/2.9/userguide/jacoco_plugin.html does not say to add any external dependencies, am I missing anything here?
Here is what was done in build script to get the JaCoCo coverage reports generated:
This is a work-around. It’s not resolving the root cause of your issue. You’re not supposed to add these dependencies normally. Something in your build script or a plugin is breaking the transitive dependencies of the jacocoAnt configuration.
Since you said that you couldn’t find anything related to transitivity and haven’t shared anything other than the jacoco related part of your build script, I can’t give you anything better. However, if there’s more you can share, or want to research the root cause further, I’m happy to help.