From a3cdfbbbe9dcbd2737e3b4c1836c402f5d83ed46 Mon Sep 17 00:00:00 2001 From: Christian Schulte Date: Sat, 19 Dec 2015 17:37:11 +0100 Subject: [PATCH] [MNG-5368] UnsupportedOperationException thrown when version range is not correct in dependencyManagement definitions o Updated to log an error message for any caught 'InvalidVersionSpecificationException's. --- .../legacy/LegacyRepositorySystem.java | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java b/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java index f8d4531d12..bd5988a5bb 100644 --- a/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java +++ b/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java @@ -144,6 +144,9 @@ public Artifact createDependencyArtifact( Dependency d ) } catch ( InvalidVersionSpecificationException e ) { + // MNG-5368: Log a message instead of returning 'null' silently. + this.logger.error( String.format( "Invalid version specification '%s' creating dependency artifact '%s'.", + d.getVersion(), d ), e ); return null; } @@ -180,6 +183,11 @@ public Artifact createExtensionArtifact( String groupId, String artifactId, Stri } catch ( InvalidVersionSpecificationException e ) { + // MNG-5368: Log a message instead of returning 'null' silently. + this.logger.error( String.format( + "Invalid version specification '%s' creating extension artifact '%s:%s:%s'.", + version, groupId, artifactId, version, e ) ); + return null; } @@ -193,18 +201,24 @@ public Artifact createParentArtifact( String groupId, String artifactId, String public Artifact createPluginArtifact( Plugin plugin ) { + String version = plugin.getVersion(); + if ( StringUtils.isEmpty( version ) ) + { + version = "RELEASE"; + } + VersionRange versionRange; try { - String version = plugin.getVersion(); - if ( StringUtils.isEmpty( version ) ) - { - version = "RELEASE"; - } versionRange = VersionRange.createFromVersionSpec( version ); } catch ( InvalidVersionSpecificationException e ) { + // MNG-5368: Log a message instead of returning 'null' silently. + this.logger.error( String.format( + "Invalid version specification '%s' creating plugin artifact '%s'.", + version, plugin, e ) ); + return null; }