Author: carlos Date: Fri Jun 2 15:38:03 2006 New Revision: 411320 URL: http://svn.apache.org/viewvc?rev=411320&view=rev Log: [MNG-2335] Use maven-model-converter instead of bundled class
Modified: maven/sandbox/plugins/maven-maven1-plugin/pom.xml maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/PomV3ConvertMojo.java maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/PomV3ToV4Converter.java Modified: maven/sandbox/plugins/maven-maven1-plugin/pom.xml URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/pom.xml?rev=411320&r1=411319&r2=411320&view=diff ============================================================================== --- maven/sandbox/plugins/maven-maven1-plugin/pom.xml (original) +++ maven/sandbox/plugins/maven-maven1-plugin/pom.xml Fri Jun 2 15:38:03 2006 @@ -58,12 +58,17 @@ <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-model</artifactId> - <version>2.0</version> + <version>2.0.4</version> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-model-v3</artifactId> <version>2.0</version> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-model-converter</artifactId> + <version>2.0.4</version> </dependency> <dependency> <groupId>dom4j</groupId> Modified: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/PomV3ConvertMojo.java URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/PomV3ConvertMojo.java?rev=411320&r1=411319&r2=411320&view=diff ============================================================================== --- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/PomV3ConvertMojo.java (original) +++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/PomV3ConvertMojo.java Fri Jun 2 15:38:03 2006 @@ -18,6 +18,7 @@ import java.io.File; import java.io.FileInputStream; +import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; @@ -30,17 +31,23 @@ import org.apache.maven.maven1converter.plugins.PCCWar; import org.apache.maven.maven1converter.plugins.PluginConfigurationConverter; import org.apache.maven.model.Model; +import org.apache.maven.model.v3_0_0.io.xpp3.MavenXpp3Reader; +import org.apache.maven.model.converter.PomV3ToV4Translator; import org.apache.maven.model.io.xpp3.MavenXpp3Writer; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.codehaus.plexus.util.IOUtil; +import org.dom4j.Document; +import org.dom4j.Element; +import org.dom4j.io.SAXReader; /** * Converts a Maven 1 project.xml (v3 pom) to a Maven 2 pom.xml (v4 pom). * @goal convert * @requiresProject false * @author Fabrizio Giustina + * @author Dennis Lundberg * @version $Id$ */ public class PomV3ConvertMojo @@ -77,12 +84,12 @@ throw new MojoFailureException( "Missing project.xml in " + basedir.getAbsolutePath() ); } - PomV3ToV4Converter converter = new PomV3ToV4Converter(); + PomV3ToV4Translator translator = new PomV3ToV4Translator(); org.apache.maven.model.v3_0_0.Model v3Model; try { - v3Model = converter.loadV3Pom( projectxml ); + v3Model = loadV3Pom( projectxml ); } catch ( Exception e ) { @@ -92,7 +99,8 @@ Model v4Model; try { - v4Model = converter.convertModel( projectxml, v3Model ); + v4Model = translator.translate( v3Model ); + removeDistributionManagementStatus( v4Model ); } catch ( Exception e ) { @@ -117,6 +125,11 @@ writeV4Pom( v4Model ); } + private boolean isEmpty( String value ) + { + return value == null || value.trim().length() == 0; + } + private void loadProperties( Properties properties, File propertiesFile ) { if ( propertiesFile.exists() ) @@ -135,6 +148,90 @@ { IOUtil.close( is ); } + } + } + + private org.apache.maven.model.v3_0_0.Model loadV3Pom( File inputFile ) + throws Exception + { + MavenXpp3Reader v3Reader = new MavenXpp3Reader(); + + org.apache.maven.model.v3_0_0.Model model; + + model = v3Reader.read( new FileReader( inputFile ) ); + + SAXReader r = new SAXReader(); + + Document d = r.read( new FileReader( inputFile ) ); + + Element root = d.getRootElement(); + + Element idElement = root.element( "id" ); + + String id = null; + + if ( idElement != null ) + { + id = idElement.getText(); + } + // String id = model.getId(); + + String groupId = model.getGroupId(); + + String artifactId = model.getArtifactId(); + + if ( !isEmpty( id ) ) + { + int i = id.indexOf( "+" ); + + int j = id.indexOf( ":" ); + + if ( i > 0 ) + { + model.setGroupId( id.substring( 0, i ) ); + + model.setArtifactId( id.replace( '+', '-' ) ); + } + else if ( j > 0 ) + { + model.setGroupId( id.substring( 0, j ) ); + + model.setArtifactId( id.substring( j + 1 ) ); + } + else + { + model.setGroupId( id ); + + model.setArtifactId( id ); + } + + if ( !isEmpty( groupId ) ) + { + getLog().warn( "Both <id> and <groupId> is set, using <groupId>." ); + + model.setGroupId( groupId ); + } + + if ( !isEmpty( artifactId ) ) + { + getLog().warn( "Both <id> and <artifactId> is set, using <artifactId>." ); + + model.setArtifactId( artifactId ); + } + } + + return model; + } + + /** + * The status element of the distributionManagement section must not be + * set in local projects. This method removes that element from the model. + */ + private void removeDistributionManagementStatus( Model v4Model ) + { + if ( "converted".equals( v4Model.getDistributionManagement().getStatus() ) ) + { + v4Model.getDistributionManagement().setStatus( null ); } } Modified: maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/PomV3ToV4Converter.java URL: http://svn.apache.org/viewvc/maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/PomV3ToV4Converter.java?rev=411320&r1=411319&r2=411320&view=diff ============================================================================== --- maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/PomV3ToV4Converter.java (original) +++ maven/sandbox/plugins/maven-maven1-plugin/src/main/java/org/apache/maven/maven1converter/PomV3ToV4Converter.java Fri Jun 2 15:38:03 2006 @@ -1,796 +0,0 @@ -package org.apache.maven.maven1converter; - -/* - * Copyright 2001-2006 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 java.io.File; -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Properties; - -import org.apache.maven.model.Build; -import org.apache.maven.model.CiManagement; -import org.apache.maven.model.Contributor; -import org.apache.maven.model.Dependency; -import org.apache.maven.model.DeploymentRepository; -import org.apache.maven.model.Developer; -import org.apache.maven.model.DistributionManagement; -import org.apache.maven.model.IssueManagement; -import org.apache.maven.model.License; -import org.apache.maven.model.MailingList; -import org.apache.maven.model.Model; -import org.apache.maven.model.Notifier; -import org.apache.maven.model.Organization; -import org.apache.maven.model.Parent; -import org.apache.maven.model.Resource; -import org.apache.maven.model.Scm; -import org.apache.maven.model.Site; -import org.apache.maven.model.v3_0_0.SourceModification; -import org.apache.maven.model.v3_0_0.io.xpp3.MavenXpp3Reader; -import org.dom4j.Document; -import org.dom4j.Element; -import org.dom4j.io.SAXReader; - -/** - * PomV3ToV4Converter originally developed in maven-repository-tools - * @author <a href="mailto:[EMAIL PROTECTED]">Trygve Laugstøl</a> - * @author Fabrizio Giustina - * @version $Id$ - */ -public class PomV3ToV4Converter -{ - private org.apache.maven.model.v3_0_0.Model v3ParentModel; - - public Model convertFile( File input ) - throws Exception - { - org.apache.maven.model.v3_0_0.Model v3Model = loadV3Pom( input ); - return convertModel( input, v3Model ); - } - - public Model convertModel( File file, org.apache.maven.model.v3_0_0.Model v3Model ) - throws Exception - { - Model v4Model = populateModel( file, v3Model ); - return v4Model; - } - - private Model populateModel( File file, org.apache.maven.model.v3_0_0.Model v3Model ) - throws Exception - { - Model v4Model = new Model(); - - v4Model.setModelVersion( "4.0.0" ); - v4Model.setParent( getParent( file, v3Model ) ); - - // Group id - String groupId = v3Model.getGroupId(); - String parentGroupId = null; - - if ( v3ParentModel != null ) - { - parentGroupId = v3ParentModel.getGroupId(); - } - - if ( isEmpty( groupId ) && isEmpty( parentGroupId ) ) - { - throw new Exception( "Missing 'groupId' from both pom and the extended pom." ); - } - - v4Model.setGroupId( groupId ); - - // Artifact id - String artifactId = v3Model.getArtifactId(); - - if ( isEmpty( artifactId ) ) - { - v4Model.setArtifactId( groupId ); - } - else - { - v4Model.setArtifactId( artifactId ); - } - - // Version - String version = v3Model.getCurrentVersion(); - - if ( isEmpty( version ) && ( v3ParentModel == null || isEmpty( v3ParentModel.getCurrentVersion() ) ) ) - { - throw new Exception( "Missing 'currentVersion' from both pom and the extended pom." ); - } - - v4Model.setVersion( version ); - v4Model.setName( v3Model.getName() ); - v4Model.setDescription( v3Model.getDescription() ); - v4Model.setUrl( v3Model.getUrl() ); - v4Model.setOrganization( getOrganization( v3Model ) ); - - // @todo write in site.xml - // v4Model.setLogo( v3Model.getLogo() ); - - v4Model.setIssueManagement( getIssueManagement( v3Model ) ); - v4Model.setCiManagement( getCiManagement( v3Model ) ); - v4Model.setInceptionYear( v3Model.getInceptionYear() ); - - if ( !isEmpty( v3Model.getGumpRepositoryId() ) ) - { - warn( "The 'gumpRepositoryId' is removed from the version 4 pom." ); - } - - v4Model.setRepositories( getRepositories( v3Model ) ); - v4Model.setDevelopers( getDevelopers( v3Model ) ); - v4Model.setContributors( getContributors( v3Model ) ); - v4Model.setDependencies( getDependencies( v3Model ) ); - v4Model.setLicenses( getLicenses( v3Model ) ); - - List versions = v3Model.getVersions(); - if ( versions != null ) - { - warn( "The <versions> list is removed in the version 4 of the pom." ); - } - - List branches = v3Model.getBranches(); - if ( branches != null ) - { - warn( "The <branches> list is removed in the version 4 of the pom." ); - } - - // @todo reports in v4 are an Xpp3Dom - // v4Model.setReports( returnList( v3Model.getReports() ) ); - - v4Model.setScm( getScm( v3Model ) ); - v4Model.setBuild( getBuild( v3Model ) ); - v4Model.setDistributionManagement( getDistributionManagement( v3Model ) ); - - return v4Model; - } - - private Parent getParent( File file, org.apache.maven.model.v3_0_0.Model v3Model ) - throws Exception - { - Parent parent = new Parent(); - String extend = v3Model.getExtend(); - - if ( isEmpty( extend ) ) - { - return null; - } - - final String basedir = "${basedir}"; - - int i = extend.indexOf( basedir ); - - if ( i >= 0 ) - { - extend = extend.substring( 0, i ) + file.getParentFile() + File.separator - + extend.substring( i + basedir.length() + 1 ); - } - - File extendFile = new File( extend ); - - if ( !extendFile.isAbsolute() ) - { - extendFile = new File( file.getParentFile(), extend ); - } - - if ( !extendFile.isFile() ) - { - throw new FileNotFoundException( "Could not find the file the pom extends: '" - + extendFile.getAbsolutePath() + "' is not a file." ); - } - - // try to find the parent pom. - v3ParentModel = loadV3Pom( extendFile ); - - String groupId = v3ParentModel.getGroupId(); - - if ( isEmpty( groupId ) ) - { - throw new Exception( "Missing groupId from the extended pom." ); - } - - parent.setGroupId( groupId ); - - String artifactId = v3ParentModel.getArtifactId(); - - if ( isEmpty( artifactId ) ) - { - throw new Exception( "Missing 'artifactId' from the extended pom." ); - } - - parent.setArtifactId( artifactId ); - - String version = v3ParentModel.getCurrentVersion(); - - if ( isEmpty( version ) ) - { - throw new Exception( "Missing 'currentVersion' from the extended pom." ); - } - - parent.setVersion( version ); - - return parent; - } - - private Organization getOrganization( org.apache.maven.model.v3_0_0.Model v3Model ) - { - Organization organization = new Organization(); - - if ( v3Model.getOrganization() == null ) - { - return null; - } - - organization.setName( v3Model.getOrganization().getName() ); - - organization.setUrl( v3Model.getOrganization().getUrl() ); - - // @todo write in site.xml - // organization.setLogo( v3Model.getOrganization().getLogo() ); - - return organization; - } - - private IssueManagement getIssueManagement( org.apache.maven.model.v3_0_0.Model v3Model ) - { - String issueTrackingUrl = v3Model.getIssueTrackingUrl(); - - if ( isEmpty( issueTrackingUrl ) ) - { - return null; - } - - IssueManagement issueManagement = new IssueManagement(); - issueManagement.setUrl( issueTrackingUrl ); - - return issueManagement; - } - - private CiManagement getCiManagement( org.apache.maven.model.v3_0_0.Model v3Model ) - { - if ( v3Model.getBuild() == null ) - { - return null; - } - - String nagEmailAddress = v3Model.getBuild().getNagEmailAddress(); - - if ( isEmpty( nagEmailAddress ) ) - { - return null; - } - - CiManagement ciManagement = new CiManagement(); - - Notifier notifier = new Notifier(); - notifier.setAddress( nagEmailAddress ); - notifier.setType( "mail" ); - - ciManagement.addNotifier( notifier ); - - return ciManagement; - } - - // @TODO: - // note: these are not SCM repositories but rather artifact repositories - private List getRepositories( org.apache.maven.model.v3_0_0.Model v3Model ) - { - List repositories = new ArrayList( 1 ); - - // warn( "" ); - - return returnList( repositories ); - } - - private List getMailingLists( org.apache.maven.model.v3_0_0.Model v3Model ) - { - List mailingLists = new ArrayList(); - - List v3MailingLists = v3Model.getMailingLists(); - - if ( isEmpty( v3MailingLists ) ) - { - return null; - } - - for ( Iterator it = v3MailingLists.iterator(); it.hasNext(); ) - { - org.apache.maven.model.v3_0_0.MailingList v3MailingList = (org.apache.maven.model.v3_0_0.MailingList) it - .next(); - - MailingList mailingList = new MailingList(); - mailingList.setName( v3MailingList.getName() ); - mailingList.setSubscribe( v3MailingList.getSubscribe() ); - mailingList.setUnsubscribe( v3MailingList.getUnsubscribe() ); - mailingList.setArchive( v3MailingList.getArchive() ); - mailingLists.add( mailingList ); - } - - return mailingLists; - } - - private List getDevelopers( org.apache.maven.model.v3_0_0.Model v3Model ) - { - List developers = new ArrayList(); - - List v3Developers = v3Model.getDevelopers(); - - if ( isEmpty( v3Developers ) ) - { - return null; - } - - for ( Iterator it = v3Developers.iterator(); it.hasNext(); ) - { - org.apache.maven.model.v3_0_0.Developer v3Developer = (org.apache.maven.model.v3_0_0.Developer) it.next(); - - Developer developer = new Developer(); - developer.setId( nullIfEmpty( v3Developer.getId() ) ); - developer.setName( nullIfEmpty( v3Developer.getName() ) ); - developer.setEmail( nullIfEmpty( v3Developer.getEmail() ) ); - developer.setOrganization( nullIfEmpty( v3Developer.getOrganization() ) ); - developer.setTimezone( nullIfEmpty( v3Developer.getTimezone() ) ); - developer.setUrl( nullIfEmpty( v3Developer.getUrl() ) ); - developer.setRoles( returnList( v3Developer.getRoles() ) ); - developers.add( developer ); - } - - return developers; - } - - private List getContributors( org.apache.maven.model.v3_0_0.Model v3Model ) - { - List contributors = new ArrayList(); - - List v3Contributors = v3Model.getContributors(); - - if ( isEmpty( v3Contributors ) ) - { - return null; - } - - for ( Iterator it = v3Contributors.iterator(); it.hasNext(); ) - { - org.apache.maven.model.v3_0_0.Contributor v3Contributor = (org.apache.maven.model.v3_0_0.Contributor) it - .next(); - - Contributor contributor = new Contributor(); - contributor.setName( nullIfEmpty( v3Contributor.getName() ) ); - contributor.setEmail( nullIfEmpty( v3Contributor.getEmail() ) ); - contributor.setOrganization( nullIfEmpty( v3Contributor.getOrganization() ) ); - contributor.setTimezone( nullIfEmpty( v3Contributor.getTimezone() ) ); - contributor.setUrl( nullIfEmpty( v3Contributor.getUrl() ) ); - contributor.setRoles( returnList( v3Contributor.getRoles() ) ); - contributors.add( contributor ); - } - - return contributors; - } - - private List getDependencies( org.apache.maven.model.v3_0_0.Model v3Model ) - throws Exception - { - List dependencies = new ArrayList(); - - List v3Dependencies = v3Model.getDependencies(); - - if ( isEmpty( v3Dependencies ) ) - { - return null; - } - - for ( Iterator it = v3Dependencies.iterator(); it.hasNext(); ) - { - org.apache.maven.model.v3_0_0.Dependency v3Dependency = (org.apache.maven.model.v3_0_0.Dependency) it - .next(); - - String artifacttype = v3Dependency.getType(); - String id = nullIfEmpty( v3Dependency.getId() ); - String groupId = nullIfEmpty( v3Dependency.getGroupId() ); - String artifactId = nullIfEmpty( v3Dependency.getArtifactId() ); - - if ( isEmpty( groupId ) ) - { - groupId = id; - } - if ( isEmpty( artifactId ) ) - { - artifactId = id; - } - - if ( isEmpty( groupId ) ) - { - fatal( "Missing dependency.groupId." ); - } - - if ( isEmpty( artifactId ) ) - { - fatal( "Missing dependency.artifactId." ); - } - - if ( "plugin".equalsIgnoreCase( artifacttype ) ) - { - warn( "Plugin dependency " + artifactId + " not copied to v4 pom" ); - continue; - } - - Dependency dependency = new Dependency(); - - dependency.setGroupId( groupId ); - dependency.setArtifactId( artifactId ); - - dependency.setType( nullIfEmpty( v3Dependency.getType() ) ); - dependency.setVersion( nullIfEmpty( v3Dependency.getVersion() ) ); - - Properties v3Properties = v3Dependency.getProperties(); - - for ( Iterator iter = v3Properties.keySet().iterator(); iter.hasNext(); ) - { - String key = (String) iter.next(); - if ( ( "scope" ).equals( key ) ) - { - dependency.setScope( v3Properties.getProperty( key ) ); - } - else if ( ( "optional" ).equals( key ) ) - { - dependency.setOptional( true ); - } - - } - - dependencies.add( dependency ); - } - - return dependencies; - } - - private List getLicenses( org.apache.maven.model.v3_0_0.Model v3Model ) - { - List licenses = new ArrayList(); - - List v3Licenses = v3Model.getLicenses(); - - if ( isEmpty( v3Licenses ) ) - { - return null; - } - - for ( Iterator it = v3Licenses.iterator(); it.hasNext(); ) - { - org.apache.maven.model.v3_0_0.License v3License = (org.apache.maven.model.v3_0_0.License) it.next(); - - License license = new License(); - license.setName( nullIfEmpty( v3License.getName() ) ); - license.setUrl( nullIfEmpty( v3License.getUrl() ) ); - license.setComments( nullIfEmpty( v3License.getComments() ) ); - licenses.add( license ); - } - - return licenses; - } - - private Scm getScm( org.apache.maven.model.v3_0_0.Model v3Model ) - { - if ( v3Model.getRepository() == null ) - { - return null; - } - - Scm scm = new Scm(); - - scm.setConnection( v3Model.getRepository().getConnection() ); - scm.setDeveloperConnection( v3Model.getRepository().getDeveloperConnection() ); - scm.setUrl( v3Model.getRepository().getUrl() ); - - return scm; - } - - private Build getBuild( org.apache.maven.model.v3_0_0.Model v3Model ) - { - org.apache.maven.model.v3_0_0.Build v3Build = v3Model.getBuild(); - - if ( v3Build == null ) - { - return null; - } - - Build build = new Build(); - - build.setSourceDirectory( v3Build.getSourceDirectory() ); - - List v3SourceModifications = v3Build.getSourceModifications(); - - if ( v3SourceModifications != null && v3SourceModifications.size() > 0 ) - { - List sourceModifications = new ArrayList(); - - for ( Iterator it = v3SourceModifications.iterator(); it.hasNext(); ) - { - org.apache.maven.model.v3_0_0.SourceModification v3SourceModification = (org.apache.maven.model.v3_0_0.SourceModification) it - .next(); - - SourceModification sourceModification = new SourceModification(); - sourceModification.setClassName( v3SourceModification.getClassName() ); - sourceModification.setIncludes( getIncludes( v3SourceModification.getIncludes() ) ); - sourceModification.setExcludes( getExcludes( v3SourceModification.getExcludes() ) ); - sourceModifications.add( sourceModification ); - } - - // @todo SourceModifications - // build.setSourceModifications( sourceModifications ); - } - - build.setTestSourceDirectory( v3Build.getUnitTestSourceDirectory() ); - - // @todo getAspectSourceDirectory - // build.setAspectSourceDirectory( v3Build.getAspectSourceDirectory() ); - - org.apache.maven.model.v3_0_0.UnitTest v3UnitTest = v3Build.getUnitTest(); - - if ( v3UnitTest != null ) - { - build.setTestResources( convertResources( v3UnitTest.getResources() ) ); - } - - build.setResources( convertResources( v3Build.getResources() ) ); - - return build; - } - - private DistributionManagement getDistributionManagement( org.apache.maven.model.v3_0_0.Model v3Model ) - throws Exception - { - DistributionManagement distributionManagement = new DistributionManagement(); - - Site site = null; - - String siteAddress = v3Model.getSiteAddress(); - - String siteDirectory = v3Model.getSiteDirectory(); - - if ( isEmpty( siteAddress ) ) - { - if ( !isEmpty( siteDirectory ) ) - { - site = new Site(); - - site.setId( "default" ); - site.setName( "Default Site" ); - site.setUrl( "file://" + siteDirectory ); - } - } - else - { - if ( isEmpty( siteDirectory ) ) - { - throw new Exception( - "Missing 'siteDirectory': Both siteAddress and siteDirectory must be set at the same time." ); - } - - site = new Site(); - - site.setId( "default" ); - site.setName( "Default Site" ); - site.setUrl( "scp://" + siteAddress + "/" + siteDirectory ); - } - - distributionManagement.setSite( site ); - - String distributionSite = v3Model.getDistributionSite(); - String distributionDirectory = v3Model.getDistributionDirectory(); - - DeploymentRepository deploymentRepository = null; - - if ( isEmpty( distributionSite ) ) - { - if ( !isEmpty( distributionDirectory ) ) - { - deploymentRepository = new DeploymentRepository(); - deploymentRepository.setId( "default" ); - deploymentRepository.setName( "Default Repository" ); - deploymentRepository.setUrl( "file://" + distributionDirectory ); - } - } - else - { - if ( isEmpty( distributionDirectory ) ) - { - throw new Exception( "Missing 'distributionDirectory': must be set is 'distributionSite' is set." ); - } - - deploymentRepository = new DeploymentRepository(); - deploymentRepository.setId( "default" ); - deploymentRepository.setName( "Default Repository" ); - deploymentRepository.setUrl( distributionSite + "/" + distributionDirectory ); - } - - distributionManagement.setRepository( deploymentRepository ); - - if ( site == null && deploymentRepository == null ) - { - return null; - } - - return distributionManagement; - } - - public org.apache.maven.model.v3_0_0.Model loadV3Pom( File inputFile ) - throws Exception - { - MavenXpp3Reader v3Reader = new MavenXpp3Reader(); - - org.apache.maven.model.v3_0_0.Model model; - - model = v3Reader.read( new FileReader( inputFile ) ); - - SAXReader r = new SAXReader(); - - Document d = r.read( new FileReader( inputFile ) ); - - Element root = d.getRootElement(); - - Element idElement = root.element( "id" ); - - String id = null; - - if ( idElement != null ) - { - id = idElement.getText(); - } - // String id = model.getId(); - - String groupId = model.getGroupId(); - - String artifactId = model.getArtifactId(); - - if ( !isEmpty( id ) ) - { - int i = id.indexOf( "+" ); - - int j = id.indexOf( ":" ); - - if ( i > 0 ) - { - model.setGroupId( id.substring( 0, i ) ); - - model.setArtifactId( id.replace( '+', '-' ) ); - } - else if ( j > 0 ) - { - model.setGroupId( id.substring( 0, j ) ); - - model.setArtifactId( id.substring( j + 1 ) ); - } - else - { - model.setGroupId( id ); - - model.setArtifactId( id ); - } - - if ( !isEmpty( groupId ) ) - { - warn( "Both <id> and <groupId> is set, using <groupId>." ); - - model.setGroupId( groupId ); - } - - if ( !isEmpty( artifactId ) ) - { - warn( "Both <id> and <artifactId> is set, using <artifactId>." ); - - model.setArtifactId( artifactId ); - } - } - - return model; - } - - private List getIncludes( List includes ) - { - if ( includes == null || includes.size() == 0 ) - { - return null; - } - - return includes; - } - - private List getExcludes( List excludes ) - { - if ( excludes == null || excludes.size() == 0 ) - { - return null; - } - - return excludes; - } - - private List convertResources( List v3Resources ) - { - List resources = new ArrayList(); - - if ( v3Resources == null || v3Resources.size() == 0 ) - { - return null; - } - - for ( Iterator it = v3Resources.iterator(); it.hasNext(); ) - { - org.apache.maven.model.v3_0_0.Resource v3Resource = (org.apache.maven.model.v3_0_0.Resource) it.next(); - - Resource resource = new Resource(); - resource.setDirectory( v3Resource.getDirectory() ); - resource.setTargetPath( v3Resource.getTargetPath() ); - resource.setIncludes( getIncludes( v3Resource.getIncludes() ) ); - resource.setExcludes( getExcludes( v3Resource.getExcludes() ) ); - - resources.add( resource ); - } - - return resources; - } - - private List returnList( List list ) - { - if ( list == null || list.size() == 0 ) - return null; - - return list; - } - - private boolean isEmpty( String value ) - { - return value == null || value.trim().length() == 0; - } - - private boolean isEmpty( List list ) - { - return list == null || list.size() == 0; - } - - private String nullIfEmpty( String string ) - { - if ( string == null || string.trim().length() == 0 ) - { - return null; - } - - return string; - } - - private void fatal( String msg ) - throws Exception - { - System.err.println( "[FATAL] " + msg ); - throw new Exception( msg ); - } - - private void warn( String msg ) - { - System.err.println( "[WARN] " + msg ); - System.err.flush(); - } - - private void info( String msg ) - { - System.err.println( msg ); - System.err.flush(); - } -}