private List toResourceTransformers()

in src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java [1340:1365]


    private List<ResourceTransformer> toResourceTransformers(
            String shade, List<ResourceTransformer> resourceTransformers) {
        List<ResourceTransformer> forShade = new ArrayList<>();
        ManifestResourceTransformer lastMt = null;
        for (ResourceTransformer transformer : resourceTransformers) {
            if (!(transformer instanceof ManifestResourceTransformer)) {
                forShade.add(transformer);
            } else if (((ManifestResourceTransformer) transformer).isForShade(shade)) {
                final ManifestResourceTransformer mt = (ManifestResourceTransformer) transformer;
                if (mt.isUsedForDefaultShading() && lastMt != null && !lastMt.isUsedForDefaultShading()) {
                    continue; // skip, we already have a specific transformer
                }
                if (!mt.isUsedForDefaultShading() && lastMt != null && lastMt.isUsedForDefaultShading()) {
                    forShade.remove(lastMt);
                } else if (!mt.isUsedForDefaultShading() && lastMt != null) {
                    getLog().warn("Ambiguous manifest transformer definition for '" + shade + "': " + mt + " / "
                            + lastMt);
                }
                if (lastMt == null || !mt.isUsedForDefaultShading()) {
                    lastMt = mt;
                }
                forShade.add(transformer);
            }
        }
        return forShade;
    }