File tree Expand file tree Collapse file tree 1 file changed +12
-3
lines changed Expand file tree Collapse file tree 1 file changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -55,7 +55,7 @@ object JarJar {
55
55
def apply (in : Iterator [Entry ], outdir : File ,
56
56
config : Seq [JarJarConfig ], verbose : Boolean = false ): Seq [File ] = {
57
57
val patterns = config.map(_.toPatternElement).asJava
58
- val processor : JarProcessor = newMainProcessor(patterns, verbose, false )
58
+ val processor = newMainProcessor(patterns, verbose, false )
59
59
def process (e : Entry ): Option [File ] = {
60
60
val struct = new EntryStruct ()
61
61
struct.name = e.name
@@ -77,7 +77,16 @@ object JarJar {
77
77
}
78
78
else None
79
79
}
80
- in.flatMap(entry => process(entry)).toList
81
-
80
+ val processed = in.flatMap(entry => process(entry)).toSet
81
+ val getter = processor.getClass.getDeclaredMethod(" getExcludes" )
82
+ getter.setAccessible(true )
83
+ val excludes = getter.invoke(processor).asInstanceOf [java.util.Set [String ]].asScala
84
+ val excluded = excludes.map { name =>
85
+ val f : File = outdir / name
86
+ if (f.exists && ! f.delete())
87
+ throw new IOException (" Failed to delete excluded file $f" )
88
+ f
89
+ }
90
+ (processed -- excluded).toSeq
82
91
}
83
92
}
You can’t perform that action at this time.
0 commit comments