/*******************************************************************************
* Copyright (c) 2010, 2014 Sonatype, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Sonatype, Inc. - initial API and implementation
*******************************************************************************/
package org.eclipse.aether.internal.ant;
import java.util.ArrayList;
import java.util.List;
import org.apache.maven.settings.Activation;
import org.apache.maven.settings.ActivationFile;
import org.apache.maven.settings.ActivationOS;
import org.apache.maven.settings.ActivationProperty;
import org.apache.maven.settings.Profile;
import org.apache.maven.settings.Repository;
import org.apache.maven.settings.RepositoryPolicy;
/**
* Utility methods to read settings from Mavens settings.xml.
*/
class SettingsUtils
{
public static List<org.apache.maven.model.Profile> convert( List<Profile> profiles )
{
if ( profiles == null )
{
return null;
}
List<org.apache.maven.model.Profile> results = new ArrayList<org.apache.maven.model.Profile>();
for ( Profile profile : profiles )
{
results.add( convert( profile ) );
}
return results;
}
static org.apache.maven.model.Profile convert( Profile profile )
{
if ( profile == null )
{
return null;
}
org.apache.maven.model.Profile result = new org.apache.maven.model.Profile();
result.setId( profile.getId() );
result.setProperties( profile.getProperties() );
result.setSource( "settings.xml" );
result.setActivation( convert( profile.getActivation() ) );
for ( Repository repo : profile.getRepositories() )
{
result.addRepository( convert( repo ) );
}
for ( Repository repo : profile.getPluginRepositories() )
{
result.addPluginRepository( convert( repo ) );
}
return result;
}
static org.apache.maven.model.Activation convert( Activation activation )
{
if ( activation == null )
{
return null;
}
org.apache.maven.model.Activation result = new org.apache.maven.model.Activation();
result.setActiveByDefault( activation.isActiveByDefault() );
result.setJdk( activation.getJdk() );
result.setFile( convert( activation.getFile() ) );
result.setProperty( convert( activation.getProperty() ) );
result.setOs( convert( activation.getOs() ) );
return result;
}
static org.apache.maven.model.ActivationOS convert( ActivationOS activation )
{
if ( activation == null )
{
return null;
}
org.apache.maven.model.ActivationOS result = new org.apache.maven.model.ActivationOS();
result.setArch( activation.getArch() );
result.setFamily( activation.getFamily() );
result.setName( activation.getName() );
result.setVersion( activation.getVersion() );
return result;
}
static org.apache.maven.model.ActivationProperty convert( ActivationProperty activation )
{
if ( activation == null )
{
return null;
}
org.apache.maven.model.ActivationProperty result = new org.apache.maven.model.ActivationProperty();
result.setName( activation.getName() );
result.setValue( activation.getValue() );
return result;
}
static org.apache.maven.model.ActivationFile convert( ActivationFile activation )
{
if ( activation == null )
{
return null;
}
org.apache.maven.model.ActivationFile result = new org.apache.maven.model.ActivationFile();
result.setExists( activation.getExists() );
result.setMissing( activation.getMissing() );
return result;
}
static org.apache.maven.model.Repository convert( Repository repo )
{
if ( repo == null )
{
return null;
}
org.apache.maven.model.Repository result = new org.apache.maven.model.Repository();
result.setId( repo.getId() );
result.setUrl( repo.getUrl() );
result.setLayout( repo.getLayout() );
result.setReleases( convert( repo.getReleases() ) );
result.setSnapshots( convert( repo.getSnapshots() ) );
return result;
}
static org.apache.maven.model.RepositoryPolicy convert( RepositoryPolicy policy )
{
if ( policy == null )
{
return null;
}
org.apache.maven.model.RepositoryPolicy result = new org.apache.maven.model.RepositoryPolicy();
result.setEnabled( policy.isEnabled() );
result.setChecksumPolicy( policy.getChecksumPolicy() );
result.setUpdatePolicy( policy.getUpdatePolicy() );
return result;
}
}