private static void updatePom()

in src/main/java/org/apache/openejb/tools/release/cmd/Tck.java [98:150]


    private static void updatePom(final String staging, final File pom) throws IOException {

        System.out.println(pom.getAbsolutePath());

        final String n = System.getProperty("line.separator");

        final String repositoryDefinition = "    <repository>" + n +
                "      <id>nexus-staging</id>" + n +
                "      <name>Nexus Staging Repository</name>" + n +
                "      <url>" + staging + "</url>" + n +
                "      <layout>default</layout>" + n +
                "      <snapshots>" + n +
                "        <enabled>false</enabled>" + n +
                "      </snapshots>" + n +
                "      <releases>" + n +
                "        <enabled>true</enabled>" + n +
                "        <checksumPolicy>ignore</checksumPolicy>" + n +
                "      </releases>" + n +
                "    </repository>";

        InputStream in = IO.read(pom);

        // Yank any existing nexus-staging repo
        in = new DelimitedTokenReplacementInputStream(in, "<repository>", "</repository>", new StringTokenHandler() {
            @Override
            public String handleToken(final String token) throws IOException {
                if (token.contains("<id>nexus-staging</id>")) {
                    return "";
                }

                return "<repository>" + token + "</repository>";
            }
        });

        // add the new one
        in = new ReplaceStringInputStream(in, "<repositories>", "<repositories>" + n + repositoryDefinition);

        // Yank SNAPSHOT
        in = new DelimitedTokenReplacementInputStream(in, "<openejb.version>", "</openejb.version>", new StringTokenHandler() {
            @Override
            public String handleToken(final String s) throws IOException {
                return "<openejb.version>" + Release.openejbVersion + "</openejb.version>";
            }
        });
        in = new DelimitedTokenReplacementInputStream(in, "<tomee.version>", "</tomee.version>", new StringTokenHandler() {
            @Override
            public String handleToken(final String s) throws IOException {
                return "<tomee.version>" + Release.tomeeVersion + "</tomee.version>";
            }
        });

        update(pom, in);
    }