in src/main/java/org/apache/maven/plugins/shade/DefaultShader.java [435:462]
private void goThroughAllJarEntriesForManifestTransformer(
ShadeRequest shadeRequest,
Set<String> resources,
ManifestResourceTransformer manifestTransformer,
JarOutputStream jos)
throws IOException {
if (manifestTransformer != null) {
for (File jar : shadeRequest.getJars()) {
try (JarFile jarFile = newJarFile(jar)) {
for (Enumeration<JarEntry> en = jarFile.entries(); en.hasMoreElements(); ) {
JarEntry entry = en.nextElement();
String resource = entry.getName();
if (manifestTransformer.canTransformResource(resource)) {
resources.add(resource);
try (InputStream inputStream = jarFile.getInputStream(entry)) {
manifestTransformer.processResource(
resource, inputStream, shadeRequest.getRelocators(), getTime(entry));
}
break;
}
}
}
}
if (manifestTransformer.hasTransformedResource()) {
manifestTransformer.modifyOutputStream(jos);
}
}
}