use of org.apache.maven.plugins.shade.relocation.SimpleRelocator in project maven-plugins by apache.
the class DefaultShaderTest method shaderWithPattern.
private void shaderWithPattern(String shadedPattern, File jar, String[] excludes) throws Exception {
DefaultShader s = newShader();
Set<File> set = new LinkedHashSet<File>();
set.add(new File("src/test/jars/test-project-1.0-SNAPSHOT.jar"));
set.add(new File("src/test/jars/plexus-utils-1.4.1.jar"));
List<Relocator> relocators = new ArrayList<Relocator>();
relocators.add(new SimpleRelocator("org/codehaus/plexus/util", shadedPattern, null, Arrays.asList(excludes)));
List<ResourceTransformer> resourceTransformers = new ArrayList<ResourceTransformer>();
resourceTransformers.add(new ComponentsXmlResourceTransformer());
List<Filter> filters = new ArrayList<Filter>();
ShadeRequest shadeRequest = new ShadeRequest();
shadeRequest.setJars(set);
shadeRequest.setUberJar(jar);
shadeRequest.setFilters(filters);
shadeRequest.setRelocators(relocators);
shadeRequest.setResourceTransformers(resourceTransformers);
s.shade(shadeRequest);
}
use of org.apache.maven.plugins.shade.relocation.SimpleRelocator in project maven-plugins by apache.
the class ShadeMojoTest method testShaderWithExclusions.
public void testShaderWithExclusions() throws Exception {
File jarFile = new File(getBasedir(), "target/unit/foo-bar.jar");
Shader s = (Shader) lookup(Shader.ROLE, "default");
Set<File> set = new LinkedHashSet<File>();
set.add(new File(getBasedir(), "src/test/jars/test-artifact-1.0-SNAPSHOT.jar"));
List<Relocator> relocators = new ArrayList<Relocator>();
relocators.add(new SimpleRelocator("org.codehaus.plexus.util", "hidden", null, Arrays.asList("org.codehaus.plexus.util.xml.Xpp3Dom", "org.codehaus.plexus.util.xml.pull.*")));
List<ResourceTransformer> resourceTransformers = new ArrayList<ResourceTransformer>();
List<Filter> filters = new ArrayList<Filter>();
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");
Field field = c.getDeclaredField("CLASS_REALM_PACKAGE_IMPORT");
assertEquals("org.codehaus.plexus.util.xml.pull", field.get(null));
Method method = c.getDeclaredMethod("getClassRealmPackageImport", new Class[0]);
assertEquals("org.codehaus.plexus.util.xml.pull", method.invoke(null, new Object[0]));
}
Aggregations