|
33 | 33 | import org.apache.maven.artifact.resolver.ArtifactNotFoundException; |
34 | 34 | import org.apache.maven.artifact.resolver.ArtifactResolutionException; |
35 | 35 | import org.apache.maven.artifact.resolver.ArtifactResolver; |
| 36 | +import org.apache.maven.artifact.versioning.ArtifactVersion; |
| 37 | +import org.apache.maven.artifact.versioning.DefaultArtifactVersion; |
36 | 38 | import org.apache.maven.model.Dependency; |
37 | 39 | import org.apache.maven.plugin.AbstractMojo; |
38 | 40 | import org.apache.maven.plugin.MojoExecutionException; |
@@ -287,11 +289,6 @@ else if ( "2.13".equals( resolvedScalaVersion ) || resolvedScalaVersion.startsWi |
287 | 289 | List<Artifact> pluginArtifacts = getScalaScoveragePluginArtifacts( resolvedScalaVersion, scalaBinaryVersion ); |
288 | 290 | Artifact runtimeArtifact = getScalaScoverageRuntimeArtifact( scalaBinaryVersion ); |
289 | 291 |
|
290 | | - if ( pluginArtifacts == null ) |
291 | | - { |
292 | | - return; // scoverage plugin will not be configured |
293 | | - } |
294 | | - |
295 | 292 | addScoverageDependenciesToClasspath( runtimeArtifact ); |
296 | 293 |
|
297 | 294 | String arg = DATA_DIR_OPTION + dataDirectory.getAbsolutePath(); |
@@ -446,23 +443,38 @@ private List<Artifact> getScalaScoveragePluginArtifacts(String resolvedScalaVers |
446 | 443 | } |
447 | 444 | } |
448 | 445 |
|
449 | | - try |
450 | | - { |
| 446 | + // There are 3 cases depending on the version of scalac-scoverage-plugin |
| 447 | + // * Version 2.0.0 onwards - 3 artifacts, plugin using resolvedScalaVersion |
| 448 | + // * Version 1.4.2 - 1 artifact, plugin using resolvedScalaVersion falling back to scalaMainVersion |
| 449 | + // * Version 1.4.1 older - 1 artifact, plugin using scalaMainVersion |
| 450 | + // |
| 451 | + final ArtifactVersion pluginArtifactVersion = new DefaultArtifactVersion(resolvedScalacPluginVersion); |
| 452 | + if(pluginArtifactVersion.getMajorVersion() > 2) { |
451 | 453 | List<Artifact> resolvedArtifacts = new ArrayList<>(); |
452 | 454 | resolvedArtifacts.add(getResolvedArtifact("org.scoverage", "scalac-scoverage-plugin_" + resolvedScalaVersion, resolvedScalacPluginVersion)); |
453 | 455 | resolvedArtifacts.add(getResolvedArtifact("org.scoverage", "scalac-scoverage-domain_" + scalaMainVersion, resolvedScalacPluginVersion)); |
454 | 456 | resolvedArtifacts.add(getResolvedArtifact("org.scoverage", "scalac-scoverage-serializer_" + scalaMainVersion, resolvedScalacPluginVersion)); |
455 | 457 | return resolvedArtifacts; |
456 | | - } |
457 | | - catch ( ArtifactNotFoundException | ArtifactResolutionException e ) |
| 458 | + } else if (pluginArtifactVersion.getMajorVersion() == 1 && pluginArtifactVersion.getMinorVersion() == 4 && pluginArtifactVersion.getIncrementalVersion() == 2) |
458 | 459 | { |
459 | | - getLog().warn( String.format( "Artifact \"org.scoverage:scalac-scoverage-plugin_%s:%s\" not found, " + |
460 | | - "falling back to \"org.scoverage:scalac-scoverage-plugin_%s:%s\"", |
461 | | - resolvedScalaVersion, resolvedScalacPluginVersion, scalaMainVersion, resolvedScalacPluginVersion ) ); |
462 | | - |
463 | | - // for scalac-scoverage-plugin versions up to 1.4.1 |
| 460 | + try |
| 461 | + { |
| 462 | + return Collections.singletonList( |
| 463 | + getResolvedArtifact("org.scoverage", "scalac-scoverage-plugin_" + resolvedScalaVersion, resolvedScalacPluginVersion ) |
| 464 | + ); |
| 465 | + } |
| 466 | + catch ( ArtifactNotFoundException | ArtifactResolutionException e2 ) |
| 467 | + { |
| 468 | + getLog().warn( String.format( "Artifact \"org.scoverage:scalac-scoverage-plugin_%s:%s\" not found, " + |
| 469 | + "falling back to \"org.scoverage:scalac-scoverage-plugin_%s:%s\"", |
| 470 | + resolvedScalaVersion, resolvedScalacPluginVersion, scalaMainVersion, resolvedScalacPluginVersion ) ); |
| 471 | + return Collections.singletonList( |
| 472 | + getResolvedArtifact("org.scoverage", "scalac-scoverage-plugin_" + scalaMainVersion, resolvedScalacPluginVersion ) |
| 473 | + ); |
| 474 | + } |
| 475 | + } else { |
464 | 476 | return Collections.singletonList( |
465 | | - getResolvedArtifact("org.scoverage", "scalac-scoverage-plugin_" + scalaMainVersion, resolvedScalacPluginVersion ) |
| 477 | + getResolvedArtifact("org.scoverage", "scalac-scoverage-plugin_" + scalaMainVersion, resolvedScalacPluginVersion ) |
466 | 478 | ); |
467 | 479 | } |
468 | 480 | } |
|
0 commit comments