private void goThroughAllJarEntriesForManifestTransformer()

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);
            }
        }
    }