|
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