in src/main/java/org/apache/maven/plugins/shade/DefaultShader.java [323:367]
private void shadeJar(
ShadeRequest shadeRequest,
Set<String> resources,
List<ResourceTransformer> transformers,
DefaultPackageMapper packageMapper,
JarOutputStream jos,
Map<String, HashSet<File>> duplicates,
File jar,
List<Filter> jarFilters)
throws IOException {
try (JarFile jarFile = newJarFile(jar)) {
for (Enumeration<JarEntry> j = jarFile.entries(); j.hasMoreElements(); ) {
final JarEntry entry = j.nextElement();
String name = entry.getName();
if (entry.isDirectory() || isFiltered(jarFilters, name) || isExcludedEntry(name)) {
continue;
}
try {
shadeJarEntry(
shadeRequest,
resources,
transformers,
packageMapper,
jos,
duplicates,
jar,
new Callable<InputStream>() {
@Override
public InputStream call() throws Exception {
return jarFile.getInputStream(entry);
}
},
name,
getTime(entry),
entry.getMethod());
} catch (Exception e) {
throw new IOException(String.format("Problem shading JAR %s entry %s: %s", jar, name, e), e);
}
}
}
}