diff --git a/pom.xml b/pom.xml index 43954a9..e982f04 100644 --- a/pom.xml +++ b/pom.xml @@ -70,11 +70,6 @@ ${mavenVersion} provided - - org.apache.maven.shared - maven-shared-utils - 3.3.4 - @@ -99,7 +94,7 @@ org.codehaus.plexus plexus-utils - 3.4.1 + 3.4.2 org.codehaus.plexus diff --git a/src/main/java/org/apache/maven/archiver/MavenArchiver.java b/src/main/java/org/apache/maven/archiver/MavenArchiver.java index 140a5de..2f7fae6 100644 --- a/src/main/java/org/apache/maven/archiver/MavenArchiver.java +++ b/src/main/java/org/apache/maven/archiver/MavenArchiver.java @@ -23,6 +23,7 @@ import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -41,8 +42,6 @@ import org.apache.maven.artifact.versioning.OverConstrainedVersionException; import org.apache.maven.execution.MavenSession; import org.apache.maven.project.MavenProject; -import org.apache.maven.shared.utils.PropertyUtils; -import org.apache.maven.shared.utils.StringUtils; import org.codehaus.plexus.archiver.jar.JarArchiver; import org.codehaus.plexus.archiver.jar.Manifest; import org.codehaus.plexus.archiver.jar.ManifestException; @@ -54,6 +53,7 @@ import org.codehaus.plexus.interpolation.RecursionInterceptor; import org.codehaus.plexus.interpolation.StringSearchInterpolator; import org.codehaus.plexus.interpolation.ValueSource; +import org.codehaus.plexus.util.StringUtils; import static org.apache.maven.archiver.ManifestConfiguration.CLASSPATH_LAYOUT_TYPE_CUSTOM; import static org.apache.maven.archiver.ManifestConfiguration.CLASSPATH_LAYOUT_TYPE_REPOSITORY; @@ -743,12 +743,29 @@ private Artifact findArtifactWithFile( Set artifacts, File file ) private static String getCreatedByVersion( String groupId, String artifactId ) { - final Properties properties = PropertyUtils.loadOptionalProperties( MavenArchiver.class.getResourceAsStream( + final Properties properties = loadOptionalProperties( MavenArchiver.class.getResourceAsStream( "/META-INF/maven/" + groupId + "/" + artifactId + "/pom.properties" ) ); return properties.getProperty( "version" ); } + private static Properties loadOptionalProperties( final InputStream inputStream ) + { + Properties properties = new Properties(); + if ( inputStream != null ) + { + try ( InputStream in = inputStream ) + { + properties.load( in ); + } + catch ( IllegalArgumentException | IOException ex ) + { + // ignore and return empty properties + } + } + return properties; + } + /** * Define a value for "Created By" entry. * diff --git a/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java b/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java index 6baefc4..1605f6a 100644 --- a/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java +++ b/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java @@ -32,10 +32,10 @@ import org.apache.maven.model.Model; import org.apache.maven.model.Organization; import org.apache.maven.project.MavenProject; -import org.apache.maven.shared.utils.StringUtils; -import org.apache.maven.shared.utils.io.FileUtils; import org.codehaus.plexus.archiver.jar.JarArchiver; import org.codehaus.plexus.archiver.jar.ManifestException; +import org.codehaus.plexus.util.FileUtils; +import org.codehaus.plexus.util.StringUtils; import org.eclipse.aether.DefaultRepositorySystemSession; import org.eclipse.aether.RepositorySystemSession; import org.junit.jupiter.api.Test;