Initial revision

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163503 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Brett Leslie Porter 2005-03-09 06:49:56 +00:00
parent a90ea9bc76
commit a40e474437
4 changed files with 503 additions and 0 deletions

View File

@ -0,0 +1,2 @@
*.i*
target

View File

@ -0,0 +1,31 @@
<model>
<modelVersion>4.0.0</modelVersion>
<groupId>maven</groupId>
<artifactId>pom-pre-alpha-converter</artifactId>
<packaging>jar</packaging>
<version>1.0</version>
<dependencies>
<dependency>
<groupId>maven</groupId>
<artifactId>maven-model</artifactId>
<version>2.0-SNAPSHOT</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>maven</groupId>
<artifactId>maven-model</artifactId>
<version>4.0.0-pre-alpha1</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>1.0-alpha-1</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
</dependencies>
<reports />
</model>

View File

@ -0,0 +1,2 @@
#!/bin/sh
java -cp `cygpath -pw $HOME/repository/maven/jars/pom-pre-alpha-converter-1.0.jar:/home/Brett/repository/plexus/jars/plexus-utils-1.0-alpha-1.jar:$HOME/repository/maven/jars/maven-model-4.0.0-pre-alpha1.jar:$HOME/repository/maven/jars/maven-model-2.0-SNAPSHOT.jar` org.apache.maven.tools.converter.Main "$@"

View File

@ -0,0 +1,468 @@
package org.apache.maven.tools.converter;
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import org.apache.maven.model.Notifier;
import org.apache.maven.model.Reports;
import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
import org.apache.maven.model.v4_0_0.Build;
import org.apache.maven.model.v4_0_0.CiManagement;
import org.apache.maven.model.v4_0_0.Contributor;
import org.apache.maven.model.v4_0_0.Dependency;
import org.apache.maven.model.v4_0_0.DependencyManagement;
import org.apache.maven.model.v4_0_0.Developer;
import org.apache.maven.model.v4_0_0.Model;
import org.apache.maven.model.v4_0_0.Plugin;
import org.apache.maven.model.v4_0_0.PluginManagement;
import org.apache.maven.model.v4_0_0.DistributionManagement;
import org.apache.maven.model.v4_0_0.IssueManagement;
import org.apache.maven.model.v4_0_0.License;
import org.apache.maven.model.v4_0_0.MailingList;
import org.apache.maven.model.v4_0_0.Organization;
import org.apache.maven.model.v4_0_0.Parent;
import org.apache.maven.model.v4_0_0.Repository;
import org.apache.maven.model.v4_0_0.Scm;
import org.apache.maven.model.v4_0_0.Site;
import org.apache.maven.model.v4_0_0.io.xpp3.MavenXpp3Reader;
import org.codehaus.plexus.util.FileUtils;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
* @version $Id$
*/
public class Main
{
public static void main( String[] args )
throws Exception
{
boolean reverse = false;
if ( args.length > 0 && args[0].equals( "-reverse" ) )
{
reverse = true;
}
List files = FileUtils.getFiles( new File( System.getProperty( "user.dir" ) ), "**/pom.xml", "" );
for ( Iterator i = files.iterator(); i.hasNext(); )
{
File file = (File) i.next();
System.out.println( "Processing file: " + file );
File backup = new File( file.getParent(), file.getName() + "~" );
if ( reverse )
{
FileUtils.copyFile( backup, file );
}
else
{
MavenXpp3Reader reader = new MavenXpp3Reader();
MavenXpp3Writer writer = new MavenXpp3Writer();
try
{
FileReader fileReader = new FileReader( file );
Model model = reader.read( fileReader );
fileReader.close();
org.apache.maven.model.Model newModel = new org.apache.maven.model.Model();
newModel.setArtifactId( model.getArtifactId() );
newModel.setBuild( convertBuild( model.getBuild(), convertPlugins( model.getPlugins() ) ) );
newModel.setCiManagement( convertCiManagement( model.getCiManagement() ) );
newModel.setContributors( convertContributors( model.getContributors() ) );
newModel.setDependencies( convertDependencies( model.getDependencies() ) );
newModel.setDependencyManagement( convertDependencyManagement( model.getDependencyManagement() ) );
newModel.setDescription( model.getDescription() );
newModel.setDevelopers( convertDevelopers( model.getDevelopers() ) );
newModel.setDistributionManagement(
convertDistributionManagement( model.getDistributionManagement() ) );
newModel.setExtend( model.getExtend() );
newModel.setGroupId( model.getGroupId() );
newModel.setInceptionYear( model.getInceptionYear() );
newModel.setIssueManagement( convertIssueManagement( model.getIssueManagement() ) );
newModel.setLicenses( convertLicenses( model.getLicenses() ) );
newModel.setMailingLists( convertMailingLists( model.getMailingLists() ) );
newModel.setModelVersion( model.getModelVersion() );
newModel.setName( model.getName() );
newModel.setOrganization( convertOrganization( model.getOrganization() ) );
newModel.setParent( convertParent( model.getParent() ) );
newModel.setPluginManagement( convertPluginManagement( model.getPluginManagement() ) );
newModel.setPluginRepositories( convertRepositories( model.getPluginRepositories() ) );
newModel.setReports( convertReports( model.getReports() ) );
newModel.setRepositories( convertRepositories( model.getRepositories() ) );
newModel.setScm( convertScm( model.getScm() ) );
newModel.setUrl( model.getUrl() );
newModel.setVersion( model.getVersion() );
FileUtils.copyFile( file, backup );
FileWriter fileWriter = new FileWriter( file );
writer.write( fileWriter, newModel );
fileWriter.close();
}
catch ( Exception e )
{
System.err.println( "Skipping " + file );
if ( args.length > 0 && args[0].equals( "-X" ) )
{
e.printStackTrace();
}
}
}
}
}
private static org.apache.maven.model.Scm convertScm( Scm scm )
{
if ( scm == null )
{
return null;
}
org.apache.maven.model.Scm newScm = new org.apache.maven.model.Scm();
newScm.setConnection( scm.getConnection() );
newScm.setDeveloperConnection( scm.getDeveloperConnection() );
newScm.setUrl( scm.getUrl() );
return newScm;
}
private static Reports convertReports( List reports )
{
if ( reports.isEmpty() )
{
return null;
}
Reports newReports = new Reports();
// newReports.setOutputDirectory( ); -- nothing needed
for ( Iterator i = reports.iterator(); i.hasNext(); )
{
String name = (String) i.next();
org.apache.maven.model.Plugin plugin = new org.apache.maven.model.Plugin();
plugin.setArtifactId( name );
newReports.addPlugin( plugin );
}
return newReports;
}
private static List convertRepositories( List repositories )
{
List newRepositorys = new ArrayList();
for ( Iterator i = repositories.iterator(); i.hasNext(); )
{
newRepositorys.add( convertRepository( (Repository) i.next() ) );
}
return newRepositorys;
}
private static org.apache.maven.model.Repository convertRepository( Repository repository )
{
if ( repository == null )
{
return null;
}
org.apache.maven.model.Repository newRepository = new org.apache.maven.model.Repository();
newRepository.setName( repository.getName() );
newRepository.setId( repository.getId() );
newRepository.setUrl( repository.getUrl() );
return newRepository;
}
private static org.apache.maven.model.Parent convertParent( Parent parent )
{
if ( parent == null )
{
return null;
}
org.apache.maven.model.Parent newParent = new org.apache.maven.model.Parent();
newParent.setArtifactId( parent.getArtifactId() );
newParent.setGroupId( parent.getGroupId() );
newParent.setVersion( parent.getVersion() );
return newParent;
}
private static org.apache.maven.model.Organization convertOrganization( Organization organization )
{
if ( organization == null )
{
return null;
}
org.apache.maven.model.Organization newOrganization = new org.apache.maven.model.Organization();
newOrganization.setName( organization.getName() );
newOrganization.setUrl( organization.getUrl() );
return newOrganization;
}
private static List convertMailingLists( List mailingLists )
{
List newMailinglists = new ArrayList();
for ( Iterator i = mailingLists.iterator(); i.hasNext(); )
{
MailingList mailinglist = (MailingList) i.next();
org.apache.maven.model.MailingList newMailinglist = new org.apache.maven.model.MailingList();
newMailinglist.setName( mailinglist.getName() );
newMailinglist.setArchive( mailinglist.getArchive() );
newMailinglist.setOtherArchives( mailinglist.getOtherArchives() );
newMailinglist.setPost( mailinglist.getPost() );
newMailinglist.setSubscribe( mailinglist.getSubscribe() );
newMailinglist.setUnsubscribe( mailinglist.getUnsubscribe() );
newMailinglists.add( newMailinglist );
}
return newMailinglists;
}
private static List convertLicenses( List licenses )
{
List newLicenses = new ArrayList();
for ( Iterator i = licenses.iterator(); i.hasNext(); )
{
License license = (License) i.next();
org.apache.maven.model.License newLicense = new org.apache.maven.model.License();
newLicense.setComments( license.getComments() );
newLicense.setName( license.getName() );
newLicense.setUrl( license.getUrl() );
newLicenses.add( newLicense );
}
return newLicenses;
}
private static org.apache.maven.model.IssueManagement convertIssueManagement( IssueManagement issueManagement )
{
if ( issueManagement == null )
{
return null;
}
org.apache.maven.model.IssueManagement mgmt = new org.apache.maven.model.IssueManagement();
mgmt.setSystem( issueManagement.getSystem() );
mgmt.setUrl( issueManagement.getUrl() );
return mgmt;
}
private static org.apache.maven.model.DistributionManagement convertDistributionManagement(
DistributionManagement distributionManagement )
{
if ( distributionManagement == null )
{
return null;
}
org.apache.maven.model.DistributionManagement mgmt = new org.apache.maven.model.DistributionManagement();
mgmt.setRepository( convertRepository( distributionManagement.getRepository() ) );
mgmt.setSite( convertSite( distributionManagement.getSite() ) );
return mgmt;
}
private static org.apache.maven.model.Site convertSite( Site site )
{
if ( site == null )
{
return null;
}
org.apache.maven.model.Site newSite = new org.apache.maven.model.Site();
newSite.setId( site.getId() );
newSite.setName( site.getName() );
newSite.setUrl( site.getUrl() );
return newSite;
}
private static org.apache.maven.model.DependencyManagement convertDependencyManagement(
DependencyManagement dependencyManagement )
{
if ( dependencyManagement == null )
{
return null;
}
org.apache.maven.model.DependencyManagement mgmt = new org.apache.maven.model.DependencyManagement();
mgmt.setDependencies( convertDependencies( dependencyManagement.getDependencies() ) );
return mgmt;
}
private static org.apache.maven.model.PluginManagement convertPluginManagement( PluginManagement pluginManagement )
{
if ( pluginManagement == null )
{
return null;
}
org.apache.maven.model.PluginManagement mgmt = new org.apache.maven.model.PluginManagement();
mgmt.setPlugins( convertPlugins( pluginManagement.getPlugins() ) );
return mgmt;
}
private static List convertDependencies( List dependencies )
{
List newDependencys = new ArrayList();
for ( Iterator i = dependencies.iterator(); i.hasNext(); )
{
Dependency dependency = (Dependency) i.next();
org.apache.maven.model.Dependency newDependency = new org.apache.maven.model.Dependency();
newDependency.setArtifactId( dependency.getArtifactId() );
newDependency.setGroupId( dependency.getGroupId() );
newDependency.setScope( dependency.getScope() );
newDependency.setType( dependency.getType() );
newDependency.setVersion( dependency.getVersion() );
newDependencys.add( newDependency );
}
return newDependencys;
}
private static List convertContributors( List contributors )
{
List newContributors = new ArrayList();
for ( Iterator i = contributors.iterator(); i.hasNext(); )
{
Contributor contributor = (Contributor) i.next();
org.apache.maven.model.Contributor newContributor = new org.apache.maven.model.Contributor();
newContributor.setEmail( contributor.getEmail() );
newContributor.setName( contributor.getName() );
newContributor.setOrganization( contributor.getOrganization() );
newContributor.setTimezone( contributor.getTimezone() );
newContributor.setRoles( contributor.getRoles() );
newContributor.setUrl( contributor.getUrl() );
newContributors.add( newContributor );
}
return newContributors;
}
private static List convertDevelopers( List developers )
{
List newDevelopers = new ArrayList();
for ( Iterator i = developers.iterator(); i.hasNext(); )
{
Developer developer = (Developer) i.next();
org.apache.maven.model.Developer newDeveloper = new org.apache.maven.model.Developer();
newDeveloper.setEmail( developer.getEmail() );
newDeveloper.setName( developer.getName() );
newDeveloper.setOrganization( developer.getOrganization() );
newDeveloper.setTimezone( developer.getTimezone() );
newDeveloper.setRoles( developer.getRoles() );
newDeveloper.setUrl( developer.getUrl() );
newDeveloper.setId( developer.getId() );
newDevelopers.add( newDeveloper );
}
return newDevelopers;
}
private static org.apache.maven.model.CiManagement convertCiManagement( CiManagement ciManagement )
{
if ( ciManagement == null )
{
return null;
}
org.apache.maven.model.CiManagement newCiManagement = new org.apache.maven.model.CiManagement();
newCiManagement.setSystem( ciManagement.getNagEmailAddress() );
newCiManagement.setUrl( ciManagement.getUrl() );
if ( ciManagement.getNagEmailAddress() != null )
{
Notifier notifier = new Notifier();
notifier.setAddress( ciManagement.getNagEmailAddress() );
notifier.setType( "email" );
newCiManagement.addNotifier( notifier );
}
return newCiManagement;
}
private static List convertPlugins( List plugins )
{
List newPlugins = new ArrayList();
for ( Iterator i = plugins.iterator(); i.hasNext(); )
{
Plugin plugin = (Plugin) i.next();
org.apache.maven.model.Plugin newPlugin = new org.apache.maven.model.Plugin();
newPlugin.setArtifactId( plugin.getId() );
newPlugin.setConfiguration( plugin.getConfiguration() );
newPlugin.setDisabled( plugin.isDisabled() );
newPlugin.setGoals( plugin.getGoals() );
// newPlugin.setGroupId( "maven" ); -- nothing needed
newPlugins.add( newPlugin );
}
return newPlugins;
}
private static org.apache.maven.model.Build convertBuild( Build build, List plugins )
{
if ( build == null )
{
return null;
}
org.apache.maven.model.Build newBuild = new org.apache.maven.model.Build();
newBuild.setDirectory( build.getDirectory() );
newBuild.setFinalName( build.getFinalName() );
newBuild.setOutputDirectory( build.getOutput() );
newBuild.setPlugins( plugins );
newBuild.setSourceDirectory( build.getSourceDirectory() );
newBuild.setTestOutputDirectory( build.getTestOutput() );
newBuild.setTestSourceDirectory( build.getUnitTestSourceDirectory() );
return newBuild;
}
}