package org.codehaus.mojo.shade.resource; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.jar.JarEntry; import java.util.jar.JarOutputStream; import org.codehaus.plexus.util.IOUtil; public class AppendingTransformer implements ResourceTransformer { String resource; ByteArrayOutputStream data = new ByteArrayOutputStream(); public boolean canTransformResource( String r ) { r = r.toLowerCase(); if (resource != null && resource.toLowerCase().equals(r)) { return true; } return false; } public void processResource( InputStream is ) throws IOException { IOUtil.copy(is, data); data.write('\n'); is.close(); } public boolean hasTransformedResource() { return true; } public void modifyOutputStream( JarOutputStream jos ) throws IOException { jos.putNextEntry( new JarEntry( resource ) ); IOUtil.copy(new ByteArrayInputStream(data.toByteArray()), jos); } }