Skip to content

Commit a3c64de

Browse files
Fix tests for new plexus-archiver
1 parent d78f6e1 commit a3c64de

File tree

2 files changed

+42
-3
lines changed

2 files changed

+42
-3
lines changed

src/test/java/org/apache/maven/plugins/dependency/fromConfiguration/TestIncludeExcludeUnpackMojo.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ protected void setUp()
6868
assertNotNull( mojo );
6969
assertNotNull( mojo.getProject() );
7070

71-
mojo.setArchiverManager( (ArchiverManager) lookup( ArchiverManager.ROLE ) );
71+
mojo.setArchiverManager( lookup( ArchiverManager.class ) );
7272

7373
mojo.setMarkersDirectory( new File( this.testDir, "markers" ) );
7474
mojo.setArtifactItems( list );

src/test/java/org/apache/maven/plugins/dependency/testUtils/DependencyArtifactStubFactory.java

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.apache.maven.plugins.dependency.testUtils;
22

3-
/*
3+
/*
44
* Licensed to the Apache Software Foundation (ASF) under one
55
* or more contributor license agreements. See the NOTICE file
66
* distributed with this work for additional information
@@ -28,13 +28,19 @@
2828
import org.apache.maven.artifact.Artifact;
2929
import org.apache.maven.artifact.ArtifactUtils;
3030
import org.apache.maven.artifact.versioning.VersionRange;
31-
import org.apache.maven.plugins.dependency.fromConfiguration.ArtifactItem;
3231
import org.apache.maven.plugin.testing.ArtifactStubFactory;
32+
import org.apache.maven.plugins.dependency.fromConfiguration.ArtifactItem;
33+
import org.codehaus.plexus.archiver.Archiver;
34+
import org.codehaus.plexus.archiver.ArchiverException;
35+
import org.codehaus.plexus.archiver.manager.ArchiverManager;
36+
import org.codehaus.plexus.archiver.manager.NoSuchArchiverException;
37+
import org.codehaus.plexus.archiver.war.WarArchiver;
3338

3439
public class DependencyArtifactStubFactory
3540
extends ArtifactStubFactory
3641
{
3742
private boolean flattenedPath = true;
43+
private ArchiverManager archiverManager;
3844

3945
public DependencyArtifactStubFactory( File theWorkingDir, boolean theCreateFiles, boolean flattenedPath )
4046
{
@@ -95,4 +101,37 @@ public Artifact createArtifact( String groupId, String artifactId, VersionRange
95101

96102
return artifact;
97103
}
104+
105+
106+
@Override
107+
public void setUnpackableFile( ArchiverManager archiverManager )
108+
{
109+
// it is needed in createUnpackableFile method
110+
this.archiverManager = archiverManager;
111+
super.setUnpackableFile( archiverManager );
112+
}
113+
114+
/**
115+
* We need override original method which try to set wrong class of logger on Archiver.
116+
* <p>
117+
* Newer version of Archiver use SLF4J instead of Plexus logger.
118+
*/
119+
@Override
120+
public void createUnpackableFile( Artifact artifact, File destFile )
121+
throws NoSuchArchiverException, ArchiverException, IOException
122+
{
123+
Archiver archiver = archiverManager.getArchiver( destFile );
124+
125+
archiver.setDestFile( destFile );
126+
archiver.addFile( getSrcFile(), getUnpackableFileName( artifact ) );
127+
128+
if ( archiver instanceof WarArchiver )
129+
{
130+
WarArchiver war = (WarArchiver) archiver;
131+
// the use of this is counter-intuitive:
132+
// http://jira.codehaus.org/browse/PLX-286
133+
war.setIgnoreWebxml( false );
134+
}
135+
archiver.createArchive();
136+
}
98137
}

0 commit comments

Comments
 (0)