You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sj...@apache.org on 2022/11/22 18:10:41 UTC
[maven-dependency-plugin] 02/03: Fix tests for new plexus-archiver
This is an automated email from the ASF dual-hosted git repository.
sjaranowski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-dependency-plugin.git
commit a3c64deeb954664615acc3a75dcf959b3ba1337d
Author: Slawomir Jaranowski <s....@gmail.com>
AuthorDate: Tue Nov 22 16:21:42 2022 +0100
Fix tests for new plexus-archiver
---
.../TestIncludeExcludeUnpackMojo.java | 2 +-
.../testUtils/DependencyArtifactStubFactory.java | 43 +++++++++++++++++++++-
2 files changed, 42 insertions(+), 3 deletions(-)
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 afc0dfcb..9134d062 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 @@ public class TestIncludeExcludeUnpackMojo
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 807c6f93..2d7527f8 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 java.util.List;
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 class DependencyArtifactStubFactory
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.
+ * <p>
+ * 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();
+ }
}