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();
+ }
}