public void modifyOutputStream()

in src/main/java/org/apache/maven/plugins/shade/resource/ApacheNoticeResourceTransformer.java [178:220]


    public void modifyOutputStream(JarOutputStream jos) throws IOException {
        JarEntry jarEntry = new JarEntry(NOTICE_PATH);
        jarEntry.setTime(time);
        jos.putNextEntry(jarEntry);

        Writer writer;
        if (encoding != null && !encoding.isEmpty()) {
            writer = new OutputStreamWriter(jos, encoding);
        } else {
            writer = new OutputStreamWriter(jos);
        }

        int count = 0;
        for (String line : entries) {
            ++count;
            if (line.equals(copyright) && count != 2) {
                continue;
            }

            if (count == 2 && copyright != null) {
                writer.write(copyright);
                writer.write('\n');
            } else {
                writer.write(line);
                writer.write('\n');
            }
            if (count == 3) {
                // do org stuff
                for (Map.Entry<String, Set<String>> entry : organizationEntries.entrySet()) {
                    writer.write(entry.getKey());
                    writer.write('\n');
                    for (String l : entry.getValue()) {
                        writer.write(l);
                    }
                    writer.write('\n');
                }
            }
        }

        writer.flush();

        entries.clear();
    }