Example usage for org.apache.maven.settings.io DefaultSettingsWriter write

List of usage examples for org.apache.maven.settings.io DefaultSettingsWriter write

Introduction

In this page you can find the example usage for org.apache.maven.settings.io DefaultSettingsWriter write.

Prototype

@Override
    public void write(OutputStream output, Map<String, Object> options, Settings settings) throws IOException 

Source Link

Usage

From source file:com.francetelecom.clara.cloud.mvn.consumer.maven.SettingsGenerator.java

License:Apache License

/**
 * methode to generate a custom mvn consumer settings.xml file
 * //from   ww w  .  j a va  2  s  . c om
 * @return
 */
private String generateSettingsXml() {
    Settings settings = new Settings();
    settings.setLocalRepository(localRepository);

    //      
    // <mirror>
    // <id>FTRDProxy_central</id>
    // <mirrorOf>central</mirrorOf>
    // <name>FTRD Maven Proxy mirroring central (maven 2) repository</name>
    // </mirror>
    //      

    Mirror mirror = new Mirror();
    mirror.setId(mirrorId);
    mirror.setName("Paas Maven Repo");
    mirror.setUrl(mirrorUrl);
    mirror.setMirrorOf("*");
    settings.getMirrors().add(mirror);

    List<org.apache.maven.settings.Server> servers = new ArrayList<org.apache.maven.settings.Server>();

    org.apache.maven.settings.Server paasInhouse = new org.apache.maven.settings.Server();
    paasInhouse.setId("paas.push.release.repo");
    paasInhouse.setUsername(releaseRepositoryUser);
    paasInhouse.setPassword(releaseRepositoryPassword);
    servers.add(paasInhouse);

    org.apache.maven.settings.Server paasInhouseSnapshot = new org.apache.maven.settings.Server();
    paasInhouseSnapshot.setId("paas.push.snapshot.repo");
    paasInhouseSnapshot.setUsername(snapshotRepositoryUser);
    paasInhouseSnapshot.setPassword(snapshotRepositoryPassword);
    servers.add(paasInhouseSnapshot);

    settings.setServers(servers);

    DefaultSettingsWriter settingsWriter = new DefaultSettingsWriter();

    try {

        StringWriter aWriter = new StringWriter();
        settingsWriter.write(aWriter, null, settings);

        logger.info("settings xml for project sucessfully generated");

        return aWriter.toString();

    } catch (IOException e) {
        logger.error("settings.xml construction failure, JaxbException :" + e.getMessage());
        throw new TechnicalException(e);
    }
}