Skip to content

Gradle Plugin fails with Scala 2.13.x in Multi-Project Builds #182

Open
@rhass

Description

@rhass
  • Gradle Scoverage Plugin Version: 7.0.0
  • Scoverage Version: 1.4.11
  • Gradle Version: 7.14.2
  • Scala Version: 2.13.7
  • Java Version: 11.0.13

I originally filed this against the scalac-scoverage-plugin. As a result they have added a unit test for the .aggregate() method which this plugin calls, but it seems to pass suggesting the problem may be exist within the Gradle plugin itself.

Running aggregateScoverage with Scala 2.13 results in the following stack trace:

Caused by: java.lang.NoSuchMethodError: 'java.lang.Object scala.Predef$.refArrayOps(java.lang.Object[])'	
at scoverage.report.CoverageAggregator$.aggregate(CoverageAggregator.scala:18) |  
-- | --
  |   | at scoverage.report.CoverageAggregator.aggregate(CoverageAggregator.scala) |  
  |   | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) |  
  |   | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) |  
  |   | at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) |  
  |   | at org.scoverage.ScoverageReport$_report_closure1.doCall(ScoverageReport.groovy:51) |  
  |   | at org.scoverage.ScoverageReport$_report_closure1.doCall(ScoverageReport.groovy) |  
  |   | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) |  
  |   | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) |  
  |   | at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) |  
  |   | at org.scoverage.ScoverageRunner.run(ScoverageRunner.groovy:32) |  
  |   | at org.scoverage.ScoverageRunner$run.call(Unknown Source) |  
  |   | at org.scoverage.ScoverageReport.report(ScoverageReport.groovy:47) |  
  |   | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) |  
  |   | at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) |  
  |   | at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) |  
  |   | at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104) |  
  |   | at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:58) |  
  |   | at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51) |  
  |   | at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29) |  
  |   | at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:242) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68) |  
  |   | at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:227) |  
  |   | at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:210) |  
  |   | at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:193) |  
  |   | at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:171) |  
  |   | at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:89) |  
  |   | at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:40) |  
  |   | at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:53) |  
  |   | at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:50) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73) |  
  |   | at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:50) |  
  |   | at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:40) |  
  |   | at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:68) |  
  |   | at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:38) |  
  |   | at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:48) |  
  |   | at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:36) |  
  |   | at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:41) |  
  |   | at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:74) |  
  |   | at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55) |  
  |   | at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:51) |  
  |   | at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:29) |  
  |   | at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:61) |  
  |   | at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:42) |  
  |   | at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:60) |  
  |   | at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:27) |  
  |   | at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:180) |  
  |   | at org.gradle.internal.execution.steps.BuildCacheStep.executeAndStoreInCache(BuildCacheStep.java:155) |  
  |   | at org.gradle.internal.execution.steps.BuildCacheStep.lambda$executeWithCache$4(BuildCacheStep.java:125) |  
  |   | at org.gradle.internal.execution.steps.BuildCacheStep.lambda$executeWithCache$5(BuildCacheStep.java:125) |  
  |   | at org.gradle.internal.Try$Success.map(Try.java:164) |  
  |   | at org.gradle.internal.execution.steps.BuildCacheStep.executeWithCache(BuildCacheStep.java:85) |  
  |   | at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$0(BuildCacheStep.java:74) |  
  |   | at org.gradle.internal.Either$Left.fold(Either.java:115) |  
  |   | at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:59) |  
  |   | at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:73) |  
  |   | at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:48) |  
  |   | at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:36) |  
  |   | at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:25) |  
  |   | at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:36) |  
  |   | at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:22) |  
  |   | at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:110) |  
  |   | at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:56) |  
  |   | at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:56) |  
  |   | at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:38) |  
  |   | at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:73) |  
  |   | at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:44) |  
  |   | at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37) |  
  |   | at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27) |  
  |   | at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:89) |  
  |   | at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:50) |  
  |   | at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:114) |  
  |   | at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:57) |  
  |   | at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:76) |  
  |   | at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:50) |  
  |   | at org.gradle.internal.execution.steps.SkipEmptyWorkStep.executeWithNoEmptySources(SkipEmptyWorkStep.java:249) |  
  |   | at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:86) |  
  |   | at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:54) |  
  |   | at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:32) |  
  |   | at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:21) |  
  |   | at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38) |  
  |   | at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:43) |  
  |   | at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:31) |  
  |   | at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:40) |  
  |   | at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:287) |  
  |   | at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:40) |  
  |   | at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:30) |  
  |   | at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:37) |  
  |   | at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:27) |  
  |   | at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:44) |  
  |   | at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:33) |  
  |   | at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:76) |  
  |   | at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:144) |  
  |   | at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:133) |  
  |   | at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77) |  
  |   | at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) |  
  |   | at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51) |  
  |   | at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) |  
  |   | at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56) |  
  |   | at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) |  
  |   | at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) |  
  |   | at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) |  
  |   | at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) |  
  |   | at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73) |  
  |   | at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) |  
  |   | at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:74) |  
  |   | at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:333) |  
  |   | at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:320) |  
  |   | at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:313) |  
  |   | at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:299) |  
  |   | at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:143) |  
  |   | at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:227) |  
  |   | at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:218) |  
  |   | at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:140) |  
  |   | at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) |  
  |   | at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions