diff --git a/pom.xml b/pom.xml index b43020cbe..0016e7045 100644 --- a/pom.xml +++ b/pom.xml @@ -96,6 +96,7 @@ under the License. 8 2022-03-05T18:51:54Z 1.7.36 + 4.6.0 @@ -176,7 +177,7 @@ under the License. org.codehaus.plexus plexus-archiver - 4.2.2 + ${plexus-archiver.version} org.codehaus.plexus diff --git a/src/it/projects/setup-custom-ear-lifecycle/manager/pom.xml b/src/it/projects/setup-custom-ear-lifecycle/manager/pom.xml index d3f85640a..41e9fe15b 100644 --- a/src/it/projects/setup-custom-ear-lifecycle/manager/pom.xml +++ b/src/it/projects/setup-custom-ear-lifecycle/manager/pom.xml @@ -33,7 +33,7 @@ under the License. org.codehaus.plexus plexus-archiver - 2.6.3 + @plexus-archiver.version@ diff --git a/src/it/projects/setup-custom-ear-lifecycle/plugin/pom.xml b/src/it/projects/setup-custom-ear-lifecycle/plugin/pom.xml index 9d2e6573f..ca1f9b3af 100644 --- a/src/it/projects/setup-custom-ear-lifecycle/plugin/pom.xml +++ b/src/it/projects/setup-custom-ear-lifecycle/plugin/pom.xml @@ -41,18 +41,7 @@ under the License. org.apache.maven.plugins maven-plugin-plugin - 3.1 - - true - - - - mojo-descriptor - - descriptor - - - + 3.7.0 @@ -68,23 +57,25 @@ under the License. org.apache.maven maven-plugin-api - 2.0.9 + @mavenVersion@ + provided org.apache.maven - maven-project - 2.0.9 + maven-core + @mavenVersion@ + provided org.codehaus.plexus plexus-archiver - 4.2.2 + @plexus-archiver.version@ org.apache.maven.plugin-tools maven-plugin-annotations - 3.1 + 3.7.0 provided diff --git a/src/test/java/org/apache/maven/plugins/dependency/fromConfiguration/TestIncludeExcludeUnpackMojo.java b/src/test/java/org/apache/maven/plugins/dependency/fromConfiguration/TestIncludeExcludeUnpackMojo.java index afc0dfcb7..9134d062c 100644 --- a/src/test/java/org/apache/maven/plugins/dependency/fromConfiguration/TestIncludeExcludeUnpackMojo.java +++ b/src/test/java/org/apache/maven/plugins/dependency/fromConfiguration/TestIncludeExcludeUnpackMojo.java @@ -68,7 +68,7 @@ protected void setUp() assertNotNull( mojo ); assertNotNull( mojo.getProject() ); - mojo.setArchiverManager( (ArchiverManager) lookup( ArchiverManager.ROLE ) ); + mojo.setArchiverManager( lookup( ArchiverManager.class ) ); mojo.setMarkersDirectory( new File( this.testDir, "markers" ) ); mojo.setArtifactItems( list ); diff --git a/src/test/java/org/apache/maven/plugins/dependency/testUtils/DependencyArtifactStubFactory.java b/src/test/java/org/apache/maven/plugins/dependency/testUtils/DependencyArtifactStubFactory.java index 807c6f93b..2d7527f8e 100644 --- a/src/test/java/org/apache/maven/plugins/dependency/testUtils/DependencyArtifactStubFactory.java +++ b/src/test/java/org/apache/maven/plugins/dependency/testUtils/DependencyArtifactStubFactory.java @@ -1,6 +1,6 @@ package org.apache.maven.plugins.dependency.testUtils; -/* +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -28,13 +28,19 @@ import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.ArtifactUtils; import org.apache.maven.artifact.versioning.VersionRange; -import org.apache.maven.plugins.dependency.fromConfiguration.ArtifactItem; import org.apache.maven.plugin.testing.ArtifactStubFactory; +import org.apache.maven.plugins.dependency.fromConfiguration.ArtifactItem; +import org.codehaus.plexus.archiver.Archiver; +import org.codehaus.plexus.archiver.ArchiverException; +import org.codehaus.plexus.archiver.manager.ArchiverManager; +import org.codehaus.plexus.archiver.manager.NoSuchArchiverException; +import org.codehaus.plexus.archiver.war.WarArchiver; public class DependencyArtifactStubFactory extends ArtifactStubFactory { private boolean flattenedPath = true; + private ArchiverManager archiverManager; public DependencyArtifactStubFactory( File theWorkingDir, boolean theCreateFiles, boolean flattenedPath ) { @@ -95,4 +101,37 @@ public Artifact createArtifact( String groupId, String artifactId, VersionRange return artifact; } + + + @Override + public void setUnpackableFile( ArchiverManager archiverManager ) + { + // it is needed in createUnpackableFile method + this.archiverManager = archiverManager; + super.setUnpackableFile( archiverManager ); + } + + /** + * We need override original method which try to set wrong class of logger on Archiver. + *

+ * Newer version of Archiver use SLF4J instead of Plexus logger. + */ + @Override + public void createUnpackableFile( Artifact artifact, File destFile ) + throws NoSuchArchiverException, ArchiverException, IOException + { + Archiver archiver = archiverManager.getArchiver( destFile ); + + archiver.setDestFile( destFile ); + archiver.addFile( getSrcFile(), getUnpackableFileName( artifact ) ); + + if ( archiver instanceof WarArchiver ) + { + WarArchiver war = (WarArchiver) archiver; + // the use of this is counter-intuitive: + // http://jira.codehaus.org/browse/PLX-286 + war.setIgnoreWebxml( false ); + } + archiver.createArchive(); + } }