[ http://jira.codehaus.org/browse/MSHADE-9?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dan Fabulich updated MSHADE-9: ------------------------------ Description: I tried using the shade plugin with surefire, to shade/relocate plexus-archiver. I'm trying to relocate its package to be org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver. It took several tries due to MSHADE-5, but even when it finally "worked", it failed to modify plexus-archiver correctly. org.codehaus.plexus.archiver.zip.AsiExtraField implements org.codehaus.plexus.archiver.zip.ZipExtraField. But when I try to run p-archiver after shading it, I get this exception: java.lang.ExceptionInInitializerError at org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ZipEntry.getCentralDirectoryExtra(ZipEntry.java:386) at org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ZipOutputStream.writeCentralFileHeader(ZipOutputStream.java:769) at org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ZipOutputStream.finish(ZipOutputStream.java:320) at org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ZipOutputStream.close(ZipOutputStream.java:542) at org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.AbstractZipArchiver.createArchiveMain(AbstractZipArchiver.java:378) at org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.AbstractZipArchiver.createArchive(AbstractZipArchiver.java:250) at org.apache.maven.surefire.booter.ForkConfiguration.createJar(ForkConfiguration.java:264) [snip] Caused by: java.lang.RuntimeException: class org.codehaus.plexus.archiver.zip.AsiExtraField doesn't implement ZipExtraField at org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ExtraFieldUtils.register(ExtraFieldUtils.java:63) at org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ExtraFieldUtils.<clinit>(ExtraFieldUtils.java:43) ... 31 more My decompiler (DJ) shows that the interfaces were partially but not entirely shaded correctly: package org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip; import java.util.zip.CRC32; import java.util.zip.ZipException; import org.codehaus.plexus.archiver.UnixStat; import org.codehaus.plexus.archiver.zip.ZipExtraField; import org.codehaus.plexus.archiver.zip.ZipLong; import org.codehaus.plexus.archiver.zip.ZipShort; // Referenced classes of package org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip: // ZipExtraField, ZipShort, ZipLong public class AsiExtraField implements org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ZipExtraField, org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.UnixStat, Cloneable { [...] } was: I tried using the shade plugin with surefire, to shade plexus-archiver. It took several tries due to MSHADE-5, but even when it finally "worked", it failed to shade plexus-archiver correctly. org.codehaus.plexus.archiver.zip.AsiExtraField implements org.codehaus.plexus.archiver.zip.ZipExtraField. But when I try to run p-archiver after shading it, I get this exception: java.lang.ExceptionInInitializerError at org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ZipEntry.getCentralDirectoryExtra(ZipEntry.java:386) at org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ZipOutputStream.writeCentralFileHeader(ZipOutputStream.java:769) at org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ZipOutputStream.finish(ZipOutputStream.java:320) at org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ZipOutputStream.close(ZipOutputStream.java:542) at org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.AbstractZipArchiver.createArchiveMain(AbstractZipArchiver.java:378) at org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.AbstractZipArchiver.createArchive(AbstractZipArchiver.java:250) at org.apache.maven.surefire.booter.ForkConfiguration.createJar(ForkConfiguration.java:264) [snip] Caused by: java.lang.RuntimeException: class org.codehaus.plexus.archiver.zip.AsiExtraField doesn't implement ZipExtraField at org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ExtraFieldUtils.register(ExtraFieldUtils.java:63) at org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ExtraFieldUtils.<clinit>(ExtraFieldUtils.java:43) ... 31 more My decompiler (DJ) shows that the interfaces were partially but not entirely shaded correctly: package org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip; import java.util.zip.CRC32; import java.util.zip.ZipException; import org.codehaus.plexus.archiver.UnixStat; import org.codehaus.plexus.archiver.zip.ZipExtraField; import org.codehaus.plexus.archiver.zip.ZipLong; import org.codehaus.plexus.archiver.zip.ZipShort; // Referenced classes of package org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip: // ZipExtraField, ZipShort, ZipLong public class AsiExtraField implements org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ZipExtraField, org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.UnixStat, Cloneable { [...] } Summary: failure to shade/relocate plexus-archiver (interfaces not properly relocated) (was: failure to shade plexus-archiver (interfaces not properly shaded)) Updated to clarify that this is a relocation bug > failure to shade/relocate plexus-archiver (interfaces not properly relocated) > ----------------------------------------------------------------------------- > > Key: MSHADE-9 > URL: http://jira.codehaus.org/browse/MSHADE-9 > Project: Maven 2.x Shade Plugin > Issue Type: Bug > Reporter: Dan Fabulich > Priority: Blocker > > I tried using the shade plugin with surefire, to shade/relocate > plexus-archiver. I'm trying to relocate its package to be > org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver. It took > several tries due to MSHADE-5, but even when it finally "worked", it failed > to modify plexus-archiver correctly. > org.codehaus.plexus.archiver.zip.AsiExtraField implements > org.codehaus.plexus.archiver.zip.ZipExtraField. But when I try to run > p-archiver after shading it, I get this exception: > java.lang.ExceptionInInitializerError > at > org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ZipEntry.getCentralDirectoryExtra(ZipEntry.java:386) > at > org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ZipOutputStream.writeCentralFileHeader(ZipOutputStream.java:769) > at > org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ZipOutputStream.finish(ZipOutputStream.java:320) > at > org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ZipOutputStream.close(ZipOutputStream.java:542) > at > org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.AbstractZipArchiver.createArchiveMain(AbstractZipArchiver.java:378) > at > org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.AbstractZipArchiver.createArchive(AbstractZipArchiver.java:250) > at > org.apache.maven.surefire.booter.ForkConfiguration.createJar(ForkConfiguration.java:264) > [snip] > Caused by: java.lang.RuntimeException: class > org.codehaus.plexus.archiver.zip.AsiExtraField doesn't implement ZipExtraField > at > org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ExtraFieldUtils.register(ExtraFieldUtils.java:63) > at > org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ExtraFieldUtils.<clinit>(ExtraFieldUtils.java:43) > ... 31 more > My decompiler (DJ) shows that the interfaces were partially but not entirely > shaded correctly: > package org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip; > import java.util.zip.CRC32; > import java.util.zip.ZipException; > import org.codehaus.plexus.archiver.UnixStat; > import org.codehaus.plexus.archiver.zip.ZipExtraField; > import org.codehaus.plexus.archiver.zip.ZipLong; > import org.codehaus.plexus.archiver.zip.ZipShort; > // Referenced classes of package > org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip: > // ZipExtraField, ZipShort, ZipLong > public class AsiExtraField > implements > org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.zip.ZipExtraField, > org.apache.maven.surefire.shaded.org.codehaus.plexus.archiver.UnixStat, > Cloneable > { > [...] > } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira