eed3si9n / jarjar-abrams

an experimental Scala extension of Jar Jar Links
27 stars 21 forks source link

Way to 'zap' files at the root? #57

Open BardurArantsson opened 7 months ago

BardurArantsson commented 7 months ago

Hi,

I'm trying to shade scala-xml.properties which is at the root, but it doesn't seem to be possible? Here's a snippet of the contents of the jar file, just for context:

META-INF/MANIFEST.MF
scala/
scala/xml/
scala-xml.properties
scala/xml/Atom.class
scala/xml/Atom.sjsir
scala/xml/Atom.tasty

Here's a little test case (in ZapProcessorTest) which fails:

  @Test
  public void testRootZap() throws IOException {
    Zap zap = new Zap();
    zap.setPattern("scala-xml.properties");

    ZapProcessor zapProcessor = new ZapProcessor(Collections.singletonList(zap));

    EntryStruct entryStruct = new EntryStruct();
    entryStruct.name = "scala-xml.properties";
    assertFalse(zapProcessor.process(entryStruct));
  }

(AFAICT the scala-xml.properties file doesn't seem to actually be used by anything, but I'd like to remove it from the shaded artifact just in case it is...)

Is it currently impossible to remove a file which is at the root of the jar?