Skip to content

Does not work with scala 2.12.17 #206

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
mithun12000 opened this issue Mar 5, 2024 · 4 comments
Closed

Does not work with scala 2.12.17 #206

mithun12000 opened this issue Mar 5, 2024 · 4 comments

Comments

@mithun12000
Copy link

mithun12000 commented Mar 5, 2024

properties

<properties>
     <scala.binary.version>2.12</scala.binary.version>
    <scala.version>2.12.17</scala.version>
    <scoverage.plugin.version>1.4.11</scoverage.plugin.version>
    <scoverage.scalac.version>2.1.0</scoverage.scalac.version>
    <scoverage.aggregate>true</scoverage.aggregate>
  </properties>

dependency

<dependency>
      <groupId>org.scoverage</groupId>
      <artifactId>scalac-scoverage-plugin_${scala.version}</artifactId>
      <version>${scoverage.scalac.version}</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.scoverage</groupId>
      <artifactId>scalac-scoverage-domain_${scala.binary.version}</artifactId>
      <version>${scoverage.scalac.version}</version>
      <scope>compile</scope>
    </dependency>

plug-in

<plugin>
        <groupId>org.scoverage</groupId>
        <artifactId>scoverage-maven-plugin</artifactId>
        <version>${scoverage.plugin.version}</version>
        <configuration>
          <scalaVersion>${scala.version}</scalaVersion>
          <highlighting>true</highlighting>
          <minimumCoverage>80</minimumCoverage>
          <failOnMinimumCoverage>false</failOnMinimumCoverage>
          <scalacPluginVersion>${scoverage.scalac.version}</scalacPluginVersion>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>report</goal>
              <goal>check</goal> <!-- or integration-check -->
            </goals>
            <phase>prepare-package</phase>
            <configuration>

            </configuration>
          </execution>
        </executions>
      </plugin>

reporting plug-in

<plugin>
        <groupId>org.scoverage</groupId>
        <artifactId>scoverage-maven-plugin</artifactId>
        <version>${scoverage.plugin.version}</version>        
        <reportSets>
          <reportSet>
            <reports>
              <!-- select only one report from: report, integration-report and report-only reporters -->
              <report>report</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>

error:

[INFO] Compiling 65 source files to [projectdir]\target\scoverage-classes at 1709638671427
[ERROR] error: java.lang.reflect.InvocationTargetException
[INFO]  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[INFO]  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[INFO]  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[INFO]  at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
[INFO]  at scala.tools.nsc.plugins.Plugin$.instantiate(Plugin.scala:185)
[INFO]  at scala.tools.nsc.plugins.Plugins.$anonfun$loadRoughPluginsList$10(Plugins.scala:60)
[INFO]  at scala.collection.immutable.List.map(List.scala:293)
[INFO]  at scala.tools.nsc.plugins.Plugins.loadRoughPluginsList(Plugins.scala:60)
[INFO]  at scala.tools.nsc.plugins.Plugins.loadRoughPluginsList$(Plugins.scala:40)
[INFO]  at scala.tools.nsc.Global.loadRoughPluginsList(Global.scala:45)
[INFO]  at scala.tools.nsc.plugins.Plugins.roughPluginsList(Plugins.scala:113)
[INFO]  at scala.tools.nsc.plugins.Plugins.roughPluginsList$(Plugins.scala:113)
[INFO]  at scala.tools.nsc.Global.roughPluginsList$lzycompute(Global.scala:45)
[INFO]  at scala.tools.nsc.Global.roughPluginsList(Global.scala:45)
[INFO]  at scala.tools.nsc.plugins.Plugins.loadPlugins(Plugins.scala:149)
[INFO]  at scala.tools.nsc.plugins.Plugins.loadPlugins$(Plugins.scala:119)
[INFO]  at scala.tools.nsc.Global.loadPlugins(Global.scala:45)
[INFO]  at scala.tools.nsc.plugins.Plugins.plugins(Plugins.scala:165)
[INFO]  at scala.tools.nsc.plugins.Plugins.plugins$(Plugins.scala:165)
[INFO]  at scala.tools.nsc.Global.plugins$lzycompute(Global.scala:45)
[INFO]  at scala.tools.nsc.Global.plugins(Global.scala:45)
[INFO]  at scala.tools.nsc.plugins.Plugins.computePluginPhases(Plugins.scala:176)
[INFO]  at scala.tools.nsc.plugins.Plugins.computePluginPhases$(Plugins.scala:175)
[INFO]  at scala.tools.nsc.Global.computePluginPhases(Global.scala:45)
[INFO]  at scala.tools.nsc.Global.computePhaseDescriptors(Global.scala:722)
[INFO]  at scala.tools.nsc.Global.phaseDescriptors$lzycompute(Global.scala:727)
[INFO]  at scala.tools.nsc.Global.phaseDescriptors(Global.scala:727)
[INFO]  at scala.tools.nsc.Global$Run.<init>(Global.scala:1236)
[INFO]  at scala.tools.nsc.Driver.doCompile(Driver.scala:46)
[INFO]  at scala.tools.nsc.MainClass.doCompile(Main.scala:32)
[INFO]  at scala.tools.nsc.Driver.process(Driver.scala:67)
[INFO]  at scala.tools.nsc.Driver.main(Driver.scala:80)
[INFO]  at scala.tools.nsc.Main.main(Main.scala)
[INFO]  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[INFO]  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[INFO]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[INFO]  at java.lang.reflect.Method.invoke(Method.java:498)
[INFO]  at scala_maven_executions.MainHelper.runMain(MainHelper.java:164)
[INFO]  at scala_maven_executions.MainWithArgsInFile.main(MainWithArgsInFile.java:26)
[ERROR] Caused by: java.lang.NoClassDefFoundError: scoverage/domain/Coverage
[INFO]  at scoverage.ScoverageInstrumentationComponent.<init>(ScoveragePlugin.scala:86)
[INFO]  at scoverage.ScoveragePlugin.<init>(ScoveragePlugin.scala:38)
[INFO]  ... 39 more
[INFO] Caused by: java.lang.ClassNotFoundException: scoverage.domain.Coverage
[INFO]  at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
[INFO]  at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
[INFO]  at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
[INFO]  ... 41 more
[INFO] java.lang.reflect.InvocationTargetException
[INFO]  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[INFO]  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[INFO]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[INFO]  at java.lang.reflect.Method.invoke(Method.java:498)
[INFO]  at scala_maven_executions.MainHelper.runMain(MainHelper.java:164)
[INFO]  at scala_maven_executions.MainWithArgsInFile.main(MainWithArgsInFile.java:26)
[INFO] Caused by: java.lang.reflect.InvocationTargetException
[INFO]  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[INFO]  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[INFO]  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[INFO]  at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
[INFO]  at scala.tools.nsc.plugins.Plugin$.instantiate(Plugin.scala:185)
[INFO]  at scala.tools.nsc.plugins.Plugins.$anonfun$loadRoughPluginsList$10(Plugins.scala:60)
[INFO]  at scala.collection.immutable.List.map(List.scala:293)
[INFO]  at scala.tools.nsc.plugins.Plugins.loadRoughPluginsList(Plugins.scala:60)
[INFO]  at scala.tools.nsc.plugins.Plugins.loadRoughPluginsList$(Plugins.scala:40)
[INFO]  at scala.tools.nsc.Global.loadRoughPluginsList(Global.scala:45)
[INFO]  at scala.tools.nsc.plugins.Plugins.roughPluginsList(Plugins.scala:113)
[INFO]  at scala.tools.nsc.plugins.Plugins.roughPluginsList$(Plugins.scala:113)
[INFO]  at scala.tools.nsc.Global.roughPluginsList$lzycompute(Global.scala:45)
[INFO]  at scala.tools.nsc.Global.roughPluginsList(Global.scala:45)
[INFO]  at scala.tools.nsc.plugins.Plugins.loadPlugins(Plugins.scala:149)
[INFO]  at scala.tools.nsc.plugins.Plugins.loadPlugins$(Plugins.scala:119)
[INFO]  at scala.tools.nsc.Global.loadPlugins(Global.scala:45)
[INFO]  at scala.tools.nsc.plugins.Plugins.plugins(Plugins.scala:165)
[INFO]  at scala.tools.nsc.plugins.Plugins.plugins$(Plugins.scala:165)
[INFO]  at scala.tools.nsc.Global.plugins$lzycompute(Global.scala:45)
[INFO]  at scala.tools.nsc.Global.plugins(Global.scala:45)
[INFO]  at scala.tools.nsc.plugins.Plugins.computePluginPhases(Plugins.scala:176)
[INFO]  at scala.tools.nsc.plugins.Plugins.computePluginPhases$(Plugins.scala:175)
[INFO]  at scala.tools.nsc.Global.computePluginPhases(Global.scala:45)
[INFO]  at scala.tools.nsc.Global.computePhaseDescriptors(Global.scala:722)
[INFO]  at scala.tools.nsc.Global.phaseDescriptors$lzycompute(Global.scala:727)
[INFO]  at scala.tools.nsc.Global.phaseDescriptors(Global.scala:727)
[INFO]  at scala.tools.nsc.Global$Run.<init>(Global.scala:1236)
[INFO]  at scala.tools.nsc.Driver.doCompile(Driver.scala:46)
[INFO]  at scala.tools.nsc.MainClass.doCompile(Main.scala:32)
[INFO]  at scala.tools.nsc.Driver.process(Driver.scala:67)
[INFO]  at scala.tools.nsc.Driver.main(Driver.scala:80)
[INFO]  at scala.tools.nsc.Main.main(Main.scala)
[INFO]  ... 6 more
[ERROR] Caused by: java.lang.NoClassDefFoundError: scoverage/domain/Coverage
[INFO]  at scoverage.ScoverageInstrumentationComponent.<init>(ScoveragePlugin.scala:86)
[INFO]  at scoverage.ScoveragePlugin.<init>(ScoveragePlugin.scala:38)
[INFO]  ... 39 more
[INFO] Caused by: java.lang.ClassNotFoundException: scoverage.domain.Coverage
[INFO]  at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
[INFO]  at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
[INFO]  at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
[INFO]  ... 41 more
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------

let me know if i missing anything here. I use java 8, scala 2.12.17 and spark 3.4.1. If any work around then please let me know. This error generated when i run mvn clean site or mvn clean package.

output for mvn dependency:resolve-plugins

[INFO] Plugin Resolved: scoverage-maven-plugin-1.4.11.jar
[INFO]     Plugin Dependency Resolved: scalac-scoverage-plugin_2.12.15-1.4.11.jar
[INFO]     Plugin Dependency Resolved: plexus-utils-3.0.24.jar
[INFO]     Plugin Dependency Resolved: maven-reporting-api-3.0.jar
[INFO]     Plugin Dependency Resolved: doxia-site-renderer-1.0.jar

looks like it loading library for 2.12.15 and for 2.12.17 there is no java8 compatible jar for the same. Because of that its not working.

@jozic
Copy link
Collaborator

jozic commented Mar 5, 2024

@mithun12000 you can't use scalac-scoverage plugin 2.x and scoverage-maven-plugin 1.4.x

Also, Java 8 support was dropped, but you should be good with Java 11-17, Scala 2.12.17 using the latest scoverage-maven-plugin, which is 2.0.3 as of now
Please lmk if you see issues with this setup

@jozic
Copy link
Collaborator

jozic commented Mar 5, 2024

If you have to stay on Java 8, please continue using scoverage-maven-plugin 1.4.11 with the latest compatible scalac-scoverage plugin, which is lower than 2.x
Maybe you will have to set the Scala version to 2.12.15 in scoverage-maven-plugin settings

@jozic
Copy link
Collaborator

jozic commented Mar 8, 2024

@mithun12000 have you had a chance to try my suggestions? Is this still an issue?

@jozic jozic closed this as not planned Won't fix, can't repro, duplicate, stale Mar 12, 2024
@jozic
Copy link
Collaborator

jozic commented Mar 12, 2024

@mithun12000 please reopen if it still doesn't work after trying my suggestions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants