You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2012/07/30 20:56:05 UTC
svn commit: r1367221 - in /maven/plugins/trunk/maven-shade-plugin/src:
main/java/org/apache/maven/plugins/shade/
main/java/org/apache/maven/plugins/shade/mojo/
main/java/org/apache/maven/plugins/shade/relocation/
test/java/org/apache/maven/plugins/shad...
Author: olamy
Date: Mon Jul 30 18:56:04 2012
New Revision: 1367221
URL: http://svn.apache.org/viewvc?rev=1367221&view=rev
Log:
[MSHADE-112] New property to enable shading the java text inside the sources artifact (not just shading the java source file locations)
Submitted by Trask Stalnaker.
Modified:
maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/DefaultShader.java
maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/Shader.java
maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java
maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/relocation/Relocator.java
maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/relocation/SimpleRelocator.java
maven/plugins/trunk/maven-shade-plugin/src/test/java/org/apache/maven/plugins/shade/DefaultShaderTest.java
maven/plugins/trunk/maven-shade-plugin/src/test/java/org/apache/maven/plugins/shade/MockShader.java
maven/plugins/trunk/maven-shade-plugin/src/test/java/org/apache/maven/plugins/shade/mojo/ShadeMojoTest.java
Modified: maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/DefaultShader.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/DefaultShader.java?rev=1367221&r1=1367220&r2=1367221&view=diff
==============================================================================
--- maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/DefaultShader.java (original)
+++ maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/DefaultShader.java Mon Jul 30 18:56:04 2012
@@ -21,6 +21,7 @@ package org.apache.maven.plugins.shade;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugins.shade.filter.Filter;
+import org.apache.maven.plugins.shade.mojo.PackageRelocation;
import org.apache.maven.plugins.shade.relocation.Relocator;
import org.apache.maven.plugins.shade.resource.ManifestResourceTransformer;
import org.apache.maven.plugins.shade.resource.ResourceTransformer;
@@ -33,10 +34,13 @@ import org.objectweb.asm.ClassWriter;
import org.objectweb.asm.commons.Remapper;
import org.objectweb.asm.commons.RemappingClassAdapter;
+import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashSet;
@@ -59,14 +63,13 @@ public class DefaultShader
implements Shader
{
- public void shade( Set<File> jars, File uberJar, List<Filter> filters, List<Relocator> relocators,
- List<ResourceTransformer> resourceTransformers )
+ public void shade( ShadeRequest shadeRequest )
throws IOException, MojoExecutionException
{
Set resources = new HashSet();
ResourceTransformer manifestTransformer = null;
- List transformers = new ArrayList( resourceTransformers );
+ List transformers = new ArrayList( shadeRequest.getResourceTransformers() );
for ( Iterator<ResourceTransformer> it = transformers.iterator(); it.hasNext(); )
{
ResourceTransformer transformer = it.next();
@@ -77,14 +80,14 @@ public class DefaultShader
}
}
- RelocatorRemapper remapper = new RelocatorRemapper( relocators );
+ RelocatorRemapper remapper = new RelocatorRemapper( shadeRequest.getRelocators() );
- uberJar.getParentFile().mkdirs();
- JarOutputStream jos = new JarOutputStream( new FileOutputStream( uberJar ) );
+ shadeRequest.getUberJar().getParentFile().mkdirs();
+ JarOutputStream jos = new JarOutputStream( new FileOutputStream( shadeRequest.getUberJar() ) );
if ( manifestTransformer != null )
{
- for ( File jar : jars )
+ for ( File jar : shadeRequest.getJars() )
{
JarFile jarFile = newJarFile( jar );
for ( Enumeration en = jarFile.entries(); en.hasMoreElements(); )
@@ -94,7 +97,7 @@ public class DefaultShader
if ( manifestTransformer.canTransformResource( resource ) )
{
resources.add( resource );
- manifestTransformer.processResource( resource, jarFile.getInputStream( entry ), relocators );
+ manifestTransformer.processResource( resource, jarFile.getInputStream( entry ), shadeRequest.getRelocators() );
break;
}
}
@@ -105,12 +108,12 @@ public class DefaultShader
}
}
- for ( File jar : jars )
+ for ( File jar : shadeRequest.getJars() )
{
getLogger().debug( "Processing JAR " + jar );
- List jarFilters = getFilters( jar, filters );
+ List jarFilters = getFilters( jar, shadeRequest.getFilters() );
JarFile jarFile = newJarFile( jar );
@@ -149,9 +152,19 @@ public class DefaultShader
{
addRemappedClass( remapper, jos, jar, name, is );
}
+ else if ( shadeRequest.isShadeSourcesContent() && name.endsWith( ".java" ) )
+ {
+ // Avoid duplicates
+ if ( resources.contains( mappedName ) )
+ {
+ continue;
+ }
+
+ addJavaSource( resources, jos, mappedName, is, shadeRequest.getRelocators() );
+ }
else
{
- if ( !resourceTransformed( transformers, mappedName, is, relocators ) )
+ if ( !resourceTransformed( transformers, mappedName, is, shadeRequest.getRelocators() ) )
{
// Avoid duplicates that aren't accounted for by the resource transformers
if ( resources.contains( mappedName ) )
@@ -182,7 +195,7 @@ public class DefaultShader
IOUtil.close( jos );
- for ( Filter filter : filters )
+ for ( Filter filter : shadeRequest.getFilters() )
{
filter.finished();
}
@@ -330,6 +343,25 @@ public class DefaultShader
return resourceTransformed;
}
+ private void addJavaSource( Set resources, JarOutputStream jos, String name, InputStream is,
+ List<Relocator> relocators )
+ throws IOException
+ {
+ jos.putNextEntry( new JarEntry( name ) );
+
+ String sourceContent = IOUtil.toString( new InputStreamReader( is, "UTF-8" ) );
+
+ for ( Relocator relocator : relocators ) {
+ sourceContent = relocator.applyToSourceContent(sourceContent);
+ }
+
+ OutputStreamWriter writer = new OutputStreamWriter( jos, "UTF-8" );
+ IOUtil.copy( sourceContent, writer );
+ writer.flush();
+
+ resources.add( name );
+ }
+
private void addResource( Set resources, JarOutputStream jos, String name, InputStream is )
throws IOException
{
Modified: maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/Shader.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/Shader.java?rev=1367221&r1=1367220&r2=1367221&view=diff
==============================================================================
--- maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/Shader.java (original)
+++ maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/Shader.java Mon Jul 30 18:56:04 2012
@@ -19,15 +19,9 @@ package org.apache.maven.plugins.shade;
* under the License.
*/
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugins.shade.filter.Filter;
-import org.apache.maven.plugins.shade.relocation.Relocator;
-import org.apache.maven.plugins.shade.resource.ResourceTransformer;
-
-import java.io.File;
import java.io.IOException;
-import java.util.List;
-import java.util.Set;
+
+import org.apache.maven.plugin.MojoExecutionException;
/**
* Interface that defines the process of shading.
@@ -39,15 +33,10 @@ public interface Shader
/**
* Perform a shading operation.
*
- * @param jars which jars
- * @param uberJar output jar
- * @param filters the filters
- * @param relocators the relocators
- * @param resourceTransformers the transformers
+ * @param shadeRequest holds the many parameters to this method
* @throws IOException for IO errors reading the thing
* @throws MojoExecutionException for anything else that goes wrong.
*/
- void shade( Set<File> jars, File uberJar, List<Filter> filters, List<Relocator> relocators,
- List<ResourceTransformer> resourceTransformers )
+ void shade( ShadeRequest shadeRequest )
throws IOException, MojoExecutionException;
}
Modified: maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java?rev=1367221&r1=1367220&r2=1367221&view=diff
==============================================================================
--- maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java (original)
+++ maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java Mon Jul 30 18:56:04 2012
@@ -38,6 +38,7 @@ import org.apache.maven.plugins.annotati
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.plugins.annotations.ResolutionScope;
+import org.apache.maven.plugins.shade.ShadeRequest;
import org.apache.maven.plugins.shade.Shader;
import org.apache.maven.plugins.shade.filter.Filter;
import org.apache.maven.plugins.shade.filter.MinijarFilter;
@@ -89,18 +90,19 @@ import java.util.Set;
* @author David Blevins
* @author Hiram Chirino
*/
-@Mojo(name = "shade", defaultPhase = LifecyclePhase.PACKAGE, threadSafe = false, requiresDependencyResolution = ResolutionScope.RUNTIME)
+@Mojo( name = "shade", defaultPhase = LifecyclePhase.PACKAGE, threadSafe = false,
+ requiresDependencyResolution = ResolutionScope.RUNTIME )
public class ShadeMojo
extends AbstractMojo
implements Contextualizable
{
- @Parameter(readonly = true, defaultValue = "${project}")
+ @Parameter( readonly = true, defaultValue = "${project}" )
private MavenProject project;
@Component
private MavenProjectHelper projectHelper;
- @Component(hint = "default", role = org.apache.maven.plugins.shade.Shader.class)
+ @Component( hint = "default", role = org.apache.maven.plugins.shade.Shader.class )
private Shader shader;
/**
@@ -118,7 +120,7 @@ public class ShadeMojo
/**
* The current Maven session.
*/
- @Parameter(readonly = true, defaultValue = "${session}")
+ @Parameter( readonly = true, defaultValue = "${session}" )
private MavenSession session;
/**
@@ -136,13 +138,13 @@ public class ShadeMojo
/**
* Remote repositories which will be searched for source attachments.
*/
- @Parameter(readonly = true, required = true, defaultValue = "${project.remoteArtifactRepositories}")
+ @Parameter( readonly = true, required = true, defaultValue = "${project.remoteArtifactRepositories}" )
protected List remoteArtifactRepositories;
/**
* Local maven repository.
*/
- @Parameter(readonly = true, required = true, defaultValue = "${localRepository}")
+ @Parameter( readonly = true, required = true, defaultValue = "${localRepository}" )
protected ArtifactRepository localRepository;
/**
@@ -174,7 +176,6 @@ public class ShadeMojo
* </excludes>
* </artifactSet>
* </pre>
- *
*/
@Parameter
private ArtifactSet artifactSet;
@@ -196,7 +197,6 @@ public class ShadeMojo
* </relocations>
* </pre>
* <em>Note:</em> Support for includes exists only since version 1.4.
- *
*/
@Parameter
private PackageRelocation[] relocations;
@@ -235,7 +235,7 @@ public class ShadeMojo
/**
* The destination directory for the shaded artifact.
*/
- @Parameter(defaultValue = "${project.build.directory}")
+ @Parameter( defaultValue = "${project.build.directory}" )
private File outputDirectory;
/**
@@ -253,9 +253,8 @@ public class ShadeMojo
* the standard version. If the original artifactId was "foo" then the final artifact would
* be something like foo-1.0.jar. So if you change the artifactId you might have something
* like foo-special-1.0.jar.
- *
*/
- @Parameter(defaultValue = "${project.artifactId}")
+ @Parameter( defaultValue = "${project.artifactId}" )
private String shadedArtifactId;
/**
@@ -269,7 +268,6 @@ public class ShadeMojo
* Defines whether the shaded artifact should be attached as classifier to
* the original artifact. If false, the shaded jar will be the main artifact
* of the project
- *
*/
@Parameter
private boolean shadedArtifactAttached;
@@ -279,20 +277,21 @@ public class ShadeMojo
* have been included into the uber JAR will be removed from the <code><dependencies></code> section of the
* generated POM. The reduced POM will be named <code>dependency-reduced-pom.xml</code> and is stored into the same
* directory as the shaded artifact. Unless you also specify dependencyReducedPomLocation, the plugin will
- * create a temporary file named <code>dependency-reduced-pom.xml</code> in the project basedir.
+ * create a temporary file named <code>dependency-reduced-pom.xml</code> in the project basedir.
*/
- @Parameter(defaultValue = "true")
+ @Parameter( defaultValue = "true" )
private boolean createDependencyReducedPom;
-
-
+
+
/**
* Where to put the dependency reduced pom.
- * Note: setting a value for this parameter with a directory other than ${basedir} will change the value of ${basedir}
- * for all executions that come after the shade execution. This is often not what you want. This is considered
- * an open issue with this plugin.
- * @since 1.7
+ * Note: setting a value for this parameter with a directory other than ${basedir} will change the value of ${basedir}
+ * for all executions that come after the shade execution. This is often not what you want. This is considered
+ * an open issue with this plugin.
+ *
+ * @since 1.7
*/
- @Parameter(defaultValue = "${basedir}/dependency-reduced-pom.xml")
+ @Parameter( defaultValue = "${basedir}/dependency-reduced-pom.xml" )
private File dependencyReducedPomLocation;
/**
@@ -313,7 +312,7 @@ public class ShadeMojo
/**
* The name of the classifier used in case the shaded artifact is attached.
*/
- @Parameter(defaultValue = "shaded")
+ @Parameter( defaultValue = "shaded" )
private String shadedClassifierName;
/**
@@ -323,6 +322,15 @@ public class ShadeMojo
private boolean createSourcesJar;
/**
+ * When true, it will attempt to shade the contents of the java source files when creating the sources jar.
+ * When false, it will just relocate the java source files to the shaded paths, but will not modify the
+ * actual contents of the java source files.
+ *
+ * @parameter expression="${shadeSourcesContent}" default-value="false"
+ */
+ private boolean shadeSourcesContent;
+
+ /**
* When true, dependencies will be stripped down on the class level to only the transitive hull required for the
* artifact. <em>Note:</em> Usage of this feature requires Java 1.5 or higher.
*
@@ -388,8 +396,7 @@ public class ShadeMojo
ArtifactSelector artifactSelector =
new ArtifactSelector( project.getArtifact(), artifactSet, shadedGroupFilter );
- if ( artifactSelector.isSelected( project.getArtifact() ) &&
- !"pom".equals( project.getArtifact().getType() ) )
+ if ( artifactSelector.isSelected( project.getArtifact() ) && !"pom".equals( project.getArtifact().getType() ) )
{
if ( invalidMainArtifact() )
{
@@ -401,7 +408,8 @@ public class ShadeMojo
getLog().error( "- You have bound the goal to a lifecycle phase before \"package\". Please" );
getLog().error( " remove this binding from your POM such that the goal will be run in" );
getLog().error( " the proper phase." );
- getLog().error( "- You removed the configuration of the maven-jar-plugin that produces the main artifact." );
+ getLog().error(
+ "- You removed the configuration of the maven-jar-plugin that produces the main artifact." );
throw new MojoExecutionException(
"Failed to create shaded artifact, " + "project main artifact does not exist." );
}
@@ -462,11 +470,26 @@ public class ShadeMojo
List<ResourceTransformer> resourceTransformers = getResourceTransformers();
- shader.shade( artifacts, outputJar, filters, relocators, resourceTransformers );
+ ShadeRequest shadeRequest = new ShadeRequest();
+ shadeRequest.setJars( artifacts );
+ shadeRequest.setUberJar( outputJar );
+ shadeRequest.setFilters( filters );
+ shadeRequest.setRelocators( relocators );
+ shadeRequest.setResourceTransformers( resourceTransformers );
+
+ shader.shade( shadeRequest );
if ( createSourcesJar )
{
- shader.shade( sourceArtifacts, sourcesJar, filters, relocators, resourceTransformers );
+ ShadeRequest shadeSourcesRequest = new ShadeRequest();
+ shadeSourcesRequest.setJars( sourceArtifacts );
+ shadeSourcesRequest.setUberJar( sourcesJar );
+ shadeSourcesRequest.setFilters( filters );
+ shadeSourcesRequest.setRelocators( relocators );
+ shadeSourcesRequest.setResourceTransformers( resourceTransformers );
+ shadeSourcesRequest.setShadeSourcesContent( shadeSourcesContent );
+
+ shader.shade( shadeSourcesRequest );
}
if ( outputFile == null )
@@ -525,9 +548,9 @@ public class ShadeMojo
}
}
- private boolean invalidMainArtifact( )
+ private boolean invalidMainArtifact()
{
- return project.getArtifact().getFile() == null || ! project.getArtifact().getFile().isFile();
+ return project.getArtifact().getFile() == null || !project.getArtifact().getFile().isFile();
}
private void replaceFile( File oldFile, File newFile )
@@ -848,9 +871,9 @@ public class ShadeMojo
if ( dependencyReducedPomLocation == null )
{
// MSHADE-123: We can't default to 'target' because it messes up uses of ${project.basedir}
- dependencyReducedPomLocation = new File ( project.getBasedir(), "dependency-reduced-pom.xml" );
+ dependencyReducedPomLocation = new File( project.getBasedir(), "dependency-reduced-pom.xml" );
}
-
+
File f = dependencyReducedPomLocation;
if ( f.exists() )
{
@@ -861,10 +884,10 @@ public class ShadeMojo
String origRelativePath = null;
String replaceRelativePath = null;
- if ( model.getParent() != null)
+ if ( model.getParent() != null )
{
origRelativePath = model.getParent().getRelativePath();
-
+
}
replaceRelativePath = origRelativePath;
@@ -873,20 +896,21 @@ public class ShadeMojo
origRelativePath = "../pom.xml";
}
- if ( model.getParent() != null )
+ if ( model.getParent() != null )
{
- File parentFile = new File( project.getBasedir(), model.getParent().getRelativePath() ).getCanonicalFile();
+ File parentFile =
+ new File( project.getBasedir(), model.getParent().getRelativePath() ).getCanonicalFile();
if ( !parentFile.isFile() )
{
- parentFile = new File( parentFile, "pom.xml");
+ parentFile = new File( parentFile, "pom.xml" );
}
-
+
parentFile = parentFile.getCanonicalFile();
-
+
String relPath = RelativizePath.convertToRelativePath( parentFile, f );
model.getParent().setRelativePath( relPath );
}
-
+
try
{
PomWriter.write( w, model, true );
@@ -900,11 +924,12 @@ public class ShadeMojo
w.close();
}
- ProjectBuildingRequest projectBuildingRequest = new DefaultProjectBuildingRequest(session.getProjectBuildingRequest());
- projectBuildingRequest.setLocalRepository(localRepository);
- projectBuildingRequest.setRemoteRepositories(remoteArtifactRepositories);
+ ProjectBuildingRequest projectBuildingRequest =
+ new DefaultProjectBuildingRequest( session.getProjectBuildingRequest() );
+ projectBuildingRequest.setLocalRepository( localRepository );
+ projectBuildingRequest.setRemoteRepositories( remoteArtifactRepositories );
- ProjectBuildingResult result = projectBuilder.build(f, projectBuildingRequest);
+ ProjectBuildingResult result = projectBuilder.build( f, projectBuildingRequest );
modified = updateExcludesInDeps( result.getProject(), dependencies, transitiveDeps );
}
@@ -929,7 +954,8 @@ public class ShadeMojo
return groupId + ":" + artifactId + ":" + type + ":" + ( ( classifier != null ) ? classifier : "" );
}
- public boolean updateExcludesInDeps( MavenProject project, List<Dependency> dependencies, List<Dependency> transitiveDeps )
+ public boolean updateExcludesInDeps( MavenProject project, List<Dependency> dependencies,
+ List<Dependency> transitiveDeps )
throws DependencyTreeBuilderException
{
DependencyNode node = dependencyTreeBuilder.buildDependencyTree( project, localRepository, artifactFactory,
Modified: maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/relocation/Relocator.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/relocation/Relocator.java?rev=1367221&r1=1367220&r2=1367221&view=diff
==============================================================================
--- maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/relocation/Relocator.java (original)
+++ maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/relocation/Relocator.java Mon Jul 30 18:56:04 2012
@@ -31,4 +31,6 @@ public interface Relocator
boolean canRelocateClass( String clazz );
String relocateClass( String clazz );
+
+ String applyToSourceContent(String sourceContent);
}
Modified: maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/relocation/SimpleRelocator.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/relocation/SimpleRelocator.java?rev=1367221&r1=1367220&r2=1367221&view=diff
==============================================================================
--- maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/relocation/SimpleRelocator.java (original)
+++ maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/relocation/SimpleRelocator.java Mon Jul 30 18:56:04 2012
@@ -195,4 +195,16 @@ public class SimpleRelocator
{
return clazz.replaceFirst( pattern, shadedPattern );
}
+
+ public String applyToSourceContent(String sourceContent)
+ {
+ if ( rawString )
+ {
+ return sourceContent;
+ }
+ else
+ {
+ return sourceContent.replaceAll( "\\b" + pattern, shadedPattern );
+ }
+ }
}
Modified: maven/plugins/trunk/maven-shade-plugin/src/test/java/org/apache/maven/plugins/shade/DefaultShaderTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/test/java/org/apache/maven/plugins/shade/DefaultShaderTest.java?rev=1367221&r1=1367220&r2=1367221&view=diff
==============================================================================
--- maven/plugins/trunk/maven-shade-plugin/src/test/java/org/apache/maven/plugins/shade/DefaultShaderTest.java (original)
+++ maven/plugins/trunk/maven-shade-plugin/src/test/java/org/apache/maven/plugins/shade/DefaultShaderTest.java Mon Jul 30 18:56:04 2012
@@ -70,7 +70,15 @@ public class DefaultShaderTest
List filters = new ArrayList();
File file = new File( "target/testShaderWithStaticInitializedClass.jar" );
- s.shade( set, file, filters, relocators, resourceTransformers );
+
+ ShadeRequest shadeRequest = new ShadeRequest();
+ shadeRequest.setJars(set);
+ shadeRequest.setUberJar(file);
+ shadeRequest.setFilters(filters);
+ shadeRequest.setRelocators(relocators);
+ shadeRequest.setResourceTransformers(resourceTransformers);
+
+ s.shade( shadeRequest );
URLClassLoader cl = new URLClassLoader( new URL[]{file.toURI().toURL()} );
Class c = cl.loadClass( "hidden.org.apache.maven.plugins.shade.Lib" );
@@ -112,7 +120,14 @@ public class DefaultShaderTest
List filters = new ArrayList();
- s.shade( set, jar, filters, relocators, resourceTransformers );
+ ShadeRequest shadeRequest = new ShadeRequest();
+ shadeRequest.setJars(set);
+ shadeRequest.setUberJar(jar);
+ shadeRequest.setFilters(filters);
+ shadeRequest.setRelocators(relocators);
+ shadeRequest.setResourceTransformers(resourceTransformers);
+
+ s.shade( shadeRequest );
}
private static DefaultShader newShader()
Modified: maven/plugins/trunk/maven-shade-plugin/src/test/java/org/apache/maven/plugins/shade/MockShader.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/test/java/org/apache/maven/plugins/shade/MockShader.java?rev=1367221&r1=1367220&r2=1367221&view=diff
==============================================================================
--- maven/plugins/trunk/maven-shade-plugin/src/test/java/org/apache/maven/plugins/shade/MockShader.java (original)
+++ maven/plugins/trunk/maven-shade-plugin/src/test/java/org/apache/maven/plugins/shade/MockShader.java Mon Jul 30 18:56:04 2012
@@ -20,6 +20,7 @@ package org.apache.maven.plugins.shade;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugins.shade.filter.Filter;
+import org.apache.maven.plugins.shade.mojo.PackageRelocation;
import org.apache.maven.plugins.shade.relocation.Relocator;
import org.apache.maven.plugins.shade.resource.ResourceTransformer;
import org.codehaus.plexus.component.annotations.Component;
@@ -36,8 +37,7 @@ import java.util.Set;
public class MockShader
implements Shader
{
- public void shade( Set<File> jars, File uberJar, List<Filter> filters, List<Relocator> relocators,
- List<ResourceTransformer> resourceTransformers )
+ public void shade( ShadeRequest shadeRequest )
throws IOException, MojoExecutionException
{
System.out.println( "Executing MockShader#shade" );
Modified: maven/plugins/trunk/maven-shade-plugin/src/test/java/org/apache/maven/plugins/shade/mojo/ShadeMojoTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/test/java/org/apache/maven/plugins/shade/mojo/ShadeMojoTest.java?rev=1367221&r1=1367220&r2=1367221&view=diff
==============================================================================
--- maven/plugins/trunk/maven-shade-plugin/src/test/java/org/apache/maven/plugins/shade/mojo/ShadeMojoTest.java (original)
+++ maven/plugins/trunk/maven-shade-plugin/src/test/java/org/apache/maven/plugins/shade/mojo/ShadeMojoTest.java Mon Jul 30 18:56:04 2012
@@ -29,6 +29,7 @@ import org.apache.maven.artifact.resolve
import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.artifact.resolver.DefaultArtifactResolver;
import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.plugins.shade.ShadeRequest;
import org.apache.maven.plugins.shade.Shader;
import org.apache.maven.plugins.shade.filter.Filter;
import org.apache.maven.plugins.shade.relocation.Relocator;
@@ -85,7 +86,14 @@ public class ShadeMojoTest
List filters = new ArrayList();
- s.shade( set, jarFile, filters, relocators, resourceTransformers );
+ ShadeRequest shadeRequest = new ShadeRequest();
+ shadeRequest.setJars(set);
+ shadeRequest.setUberJar(jarFile);
+ shadeRequest.setFilters(filters);
+ shadeRequest.setRelocators(relocators);
+ shadeRequest.setResourceTransformers(resourceTransformers);
+
+ s.shade( shadeRequest );
ClassLoader cl = new URLClassLoader( new URL[]{ jarFile.toURI().toURL() } );
Class c = cl.loadClass( "org.apache.maven.plugins.shade.Lib" );
@@ -198,7 +206,14 @@ public class ShadeMojoTest
List filters = new ArrayList();
- s.shade( set, jar, filters, relocators, resourceTransformers );
+ ShadeRequest shadeRequest = new ShadeRequest();
+ shadeRequest.setJars(set);
+ shadeRequest.setUberJar(jar);
+ shadeRequest.setFilters(filters);
+ shadeRequest.setRelocators(relocators);
+ shadeRequest.setResourceTransformers(resourceTransformers);
+
+ s.shade( shadeRequest );
}
}