Author: jdcasey
Date: Mon Sep 19 14:24:40 2005
New Revision: 290276
URL: http://svn.apache.org/viewcvs?rev=290276&view=rev
Log:
Resolving: MNG-920, and setting the version of maven-release-plugin to a rev of
-beta-1 instead of -SNAPSHOT, to allow locally installed versions to work
without tweaking the version locally.
Modified:
maven/components/trunk/maven-core-it/it2002/project/subproject2/pom.xml
maven/components/trunk/maven-plugins/maven-release-plugin/pom.xml
maven/components/trunk/maven-plugins/maven-surefire-plugin/pom.xml
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java
Modified:
maven/components/trunk/maven-core-it/it2002/project/subproject2/pom.xml
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it2002/project/subproject2/pom.xml?rev=290276&r1=290275&r2=290276&view=diff
==============================================================================
--- maven/components/trunk/maven-core-it/it2002/project/subproject2/pom.xml
(original)
+++ maven/components/trunk/maven-core-it/it2002/project/subproject2/pom.xml Mon
Sep 19 14:24:40 2005
@@ -28,4 +28,16 @@
</dependency>
</dependencies>
+ <profiles>
+ <profile>
+ <id>env-test</id>
+ <activation>
+ <property>
+ <name>env</name>
+ <value>test</value>
+ </property>
+ </activation>
+ </profile>
+ </profiles>
+
</project>
Modified: maven/components/trunk/maven-plugins/maven-release-plugin/pom.xml
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-release-plugin/pom.xml?rev=290276&r1=290275&r2=290276&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-release-plugin/pom.xml (original)
+++ maven/components/trunk/maven-plugins/maven-release-plugin/pom.xml Mon Sep
19 14:24:40 2005
@@ -8,7 +8,7 @@
<artifactId>maven-release-plugin</artifactId>
<packaging>maven-plugin</packaging>
<name>Maven Release plugin</name>
- <version>2.0-beta-2-SNAPSHOT</version>
+ <version>2.0-beta-1-rev1</version>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
Modified: maven/components/trunk/maven-plugins/maven-surefire-plugin/pom.xml
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-surefire-plugin/pom.xml?rev=290276&r1=290275&r2=290276&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-surefire-plugin/pom.xml
(original)
+++ maven/components/trunk/maven-plugins/maven-surefire-plugin/pom.xml Mon Sep
19 14:24:40 2005
@@ -29,13 +29,13 @@
<dependency>
<groupId>surefire</groupId>
<artifactId>surefire</artifactId>
- <version>1.3</version>
+ <version>1.4-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>surefire</groupId>
<artifactId>surefire-booter</artifactId>
- <version>1.3</version>
+ <version>1.4-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>plexus</groupId>
@@ -44,4 +44,4 @@
<scope>runtime</scope>
</dependency>
</dependencies>
-</project>
\ No newline at end of file
+</project>
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java?rev=290276&r1=290275&r2=290276&view=diff
==============================================================================
---
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java
(original)
+++
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java
Mon Sep 19 14:24:40 2005
@@ -16,16 +16,32 @@
* limitations under the License.
*/
+import org.apache.maven.model.Activation;
+import org.apache.maven.model.ActivationFile;
+import org.apache.maven.model.ActivationProperty;
+import org.apache.maven.model.Build;
+import org.apache.maven.model.BuildBase;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.DependencyManagement;
+import org.apache.maven.model.DistributionManagement;
+import org.apache.maven.model.Exclusion;
import org.apache.maven.model.Goal;
import org.apache.maven.model.Model;
import org.apache.maven.model.Parent;
import org.apache.maven.model.Plugin;
import org.apache.maven.model.PluginContainer;
import org.apache.maven.model.PluginExecution;
+import org.apache.maven.model.PluginManagement;
+import org.apache.maven.model.Profile;
+import org.apache.maven.model.Relocation;
import org.apache.maven.model.ReportPlugin;
import org.apache.maven.model.ReportSet;
import org.apache.maven.model.Reporting;
import org.apache.maven.model.Repository;
+import org.apache.maven.model.RepositoryBase;
+import org.apache.maven.model.RepositoryPolicy;
+import org.apache.maven.model.Resource;
+import org.apache.maven.model.Site;
import org.apache.maven.project.inheritance.DefaultModelInheritanceAssembler;
import org.apache.maven.project.inheritance.ModelInheritanceAssembler;
import org.codehaus.plexus.util.xml.Xpp3Dom;
@@ -470,9 +486,503 @@
newModel.setGroupId( model.getGroupId() );
newModel.setPackaging( model.getPackaging() );
newModel.setModules( cloneModules( model.getModules() ) );
+
+ newModel.setProfiles( cloneProfiles( model.getProfiles() ) );
+
assembler.copyModel( newModel, model );
return newModel;
+ }
+
+ private static List cloneProfiles( List profiles )
+ {
+ if ( profiles == null )
+ {
+ return profiles;
+ }
+
+ List newProfiles = new ArrayList( profiles.size() );
+
+ for ( Iterator it = profiles.iterator(); it.hasNext(); )
+ {
+ Profile profile = (Profile) it.next();
+
+ Profile newProfile = new Profile();
+
+ newProfile.setId(profile.getId());
+
+ newProfile.setActivation( cloneProfileActivation(
profile.getActivation() ) );
+
+ newProfile.setBuild( cloneProfileBuild( profile.getBuild() ) );
+
+ newProfile.setDependencies( cloneProfileDependencies(
profile.getDependencies() ) );
+
+ DependencyManagement dm = profile.getDependencyManagement();
+
+ if ( dm != null )
+ {
+ DependencyManagement newDM = new DependencyManagement();
+
+ newDM.setDependencies( cloneProfileDependencies(
dm.getDependencies() ) );
+
+ newProfile.setDependencyManagement( newDM );
+ }
+
+ newProfile.setDistributionManagement(
cloneProfileDistributionManagement( profile.getDistributionManagement() ) );
+
+ List modules = profile.getModules();
+
+ if ( modules != null && !modules.isEmpty() )
+ {
+ newProfile.setModules( new ArrayList( modules ) );
+ }
+
+ newProfile.setPluginRepositories( cloneProfileRepositories(
profile.getPluginRepositories() ) );
+
+ Properties props = profile.getProperties();
+
+ if ( props != null )
+ {
+ newProfile.setProperties( new Properties( props ) );
+ }
+
+ newProfile.setReporting( cloneProfileReporting(
profile.getReporting() ) );
+
+ newProfile.setReports( profile.getReports() );
+
+ newProfile.setRepositories( cloneProfileRepositories(
profile.getRepositories() ) );
+
+ newProfile.setSource(profile.getSource() );
+
+ newProfiles.add( newProfile );
+ }
+
+ return newProfiles;
+ }
+
+ private static Reporting cloneProfileReporting( Reporting reporting )
+ {
+ Reporting newR = null;
+
+ if ( reporting != null )
+ {
+ newR = new Reporting();
+
+ newR.setOutputDirectory(reporting.getOutputDirectory());
+
+ List newP = null;
+
+ List plugins = reporting.getPlugins();
+
+ if ( plugins != null )
+ {
+ newP = new ArrayList( plugins.size() );
+
+ for ( Iterator it = plugins.iterator(); it.hasNext(); )
+ {
+ ReportPlugin plugin = (ReportPlugin) it.next();
+
+ ReportPlugin newPlugin = new ReportPlugin();
+
+ newPlugin.setArtifactId(plugin.getArtifactId());
+ newPlugin.setGroupId(plugin.getGroupId());
+ newPlugin.setVersion(plugin.getVersion());
+ newPlugin.setInherited(plugin.getInherited());
+ newPlugin.setReportSets( cloneReportSets(
plugin.getReportSets() ) );
+
+ // TODO: Implement deep-copy of configuration.
+ newPlugin.setConfiguration(plugin.getConfiguration());
+
+ newP.add( newPlugin );
+ }
+
+ newR.setPlugins(newP);
+ }
+ }
+
+ return newR;
+ }
+
+ private static List cloneReportSets( List sets )
+ {
+ List newSets = null;
+
+ if ( sets != null )
+ {
+ newSets = new ArrayList( sets.size() );
+
+ for ( Iterator it = sets.iterator(); it.hasNext(); )
+ {
+ ReportSet set = (ReportSet) it.next();
+
+ ReportSet newSet = new ReportSet();
+
+ // TODO: Deep-copy config.
+ newSet.setConfiguration(set.getConfiguration());
+
+ newSet.setId(set.getId());
+ newSet.setInherited(set.getInherited());
+
+ newSet.setReports(new ArrayList( set.getReports() ));
+
+ newSets.add( newSet );
+ }
+ }
+
+ return newSets;
+ }
+
+ private static List cloneProfileRepositories( List repos )
+ {
+ List newRepos = null;
+
+ if ( repos != null )
+ {
+ newRepos = new ArrayList( repos.size() );
+
+ for ( Iterator it = repos.iterator(); it.hasNext(); )
+ {
+ Repository repo = (Repository) it.next();
+
+ Repository newRepo = new Repository();
+
+ newRepo.setChecksumPolicy(repo.getChecksumPolicy());
+ newRepo.setId(repo.getId());
+ newRepo.setLayout(repo.getLayout());
+ newRepo.setName(repo.getName());
+ newRepo.setSnapshotPolicy(repo.getSnapshotPolicy());
+
+ RepositoryPolicy releasePolicy = repo.getReleases();
+
+ if ( releasePolicy != null )
+ {
+ RepositoryPolicy newPolicy = new RepositoryPolicy();
+ newPolicy.setEnabled(releasePolicy.isEnabled());
+
newPolicy.setChecksumPolicy(releasePolicy.getChecksumPolicy());
+ newPolicy.setUpdatePolicy(releasePolicy.getUpdatePolicy());
+
+ newRepo.setReleases(newPolicy);
+ }
+
+ RepositoryPolicy snapPolicy = repo.getSnapshots();
+
+ if ( snapPolicy != null )
+ {
+ RepositoryPolicy newPolicy = new RepositoryPolicy();
+ newPolicy.setEnabled(snapPolicy.isEnabled());
+
newPolicy.setChecksumPolicy(snapPolicy.getChecksumPolicy());
+ newPolicy.setUpdatePolicy(snapPolicy.getUpdatePolicy());
+
+ newRepo.setSnapshots(newPolicy);
+ }
+
+ newRepo.setUrl(repo.getUrl());
+
+ newRepos.add( newRepo );
+ }
+ }
+
+ return newRepos;
+ }
+
+ private static DistributionManagement cloneProfileDistributionManagement(
DistributionManagement dm )
+ {
+ DistributionManagement newDM = null;
+
+ if ( dm != null )
+ {
+ newDM = new DistributionManagement();
+
+ newDM.setDownloadUrl(dm.getDownloadUrl() );
+ newDM.setStatus(dm.getStatus());
+
+ Relocation relocation = dm.getRelocation();
+
+ if ( relocation != null )
+ {
+ Relocation newR = new Relocation();
+
+ newR.setArtifactId(relocation.getArtifactId());
+ newR.setGroupId(relocation.getGroupId());
+ newR.setMessage(relocation.getMessage());
+ newR.setVersion(relocation.getVersion());
+
+ newDM.setRelocation(newR);
+ }
+
+ RepositoryBase repo = dm.getRepository();
+
+ if ( repo != null )
+ {
+ RepositoryBase newRepo = new RepositoryBase();
+
+ newRepo.setId(repo.getId());
+ newRepo.setLayout(repo.getLayout());
+ newRepo.setName(repo.getName());
+ newRepo.setUrl(repo.getUrl());
+
+ newDM.setRepository(newRepo);
+ }
+
+ Site site = dm.getSite();
+
+ if ( site != null )
+ {
+ Site newSite = new Site();
+
+ newSite.setId(site.getId());
+ newSite.setName(site.getName());
+ newSite.setUrl(site.getUrl());
+
+ newDM.setSite(newSite);
+ }
+
+ RepositoryBase sRepo = dm.getSnapshotRepository();
+
+ if ( sRepo != null )
+ {
+ RepositoryBase newRepo = new RepositoryBase();
+
+ newRepo.setId(sRepo.getId());
+ newRepo.setLayout(sRepo.getLayout());
+ newRepo.setName(sRepo.getName());
+ newRepo.setUrl(sRepo.getUrl());
+
+ newDM.setSnapshotRepository(newRepo);
+ }
+ }
+
+ return newDM;
+ }
+
+ private static List cloneProfileDependencies( List dependencies )
+ {
+ List newDependencies = null;
+
+ if ( dependencies != null )
+ {
+ newDependencies = new ArrayList( dependencies.size() );
+
+ for ( Iterator it = dependencies.iterator(); it.hasNext(); )
+ {
+ Dependency dep = (Dependency) it.next();
+
+ Dependency newDep = new Dependency();
+
+ newDep.setArtifactId(dep.getArtifactId());
+ newDep.setClassifier(dep.getClassifier());
+ newDep.setExclusions( cloneDependencyExclusions(
dep.getExclusions() ) );
+ newDep.setGroupId(dep.getGroupId());
+ newDep.setScope(dep.getScope());
+ newDep.setSystemPath(dep.getSystemPath());
+ newDep.setType(dep.getType());
+ newDep.setVersion(dep.getVersion());
+
+ newDependencies.add( newDep );
+ }
+ }
+
+ return newDependencies;
+ }
+
+ private static List cloneDependencyExclusions( List ex )
+ {
+ List newEx = null;
+
+ if ( ex != null )
+ {
+ newEx = new ArrayList( ex.size() );
+
+ for ( Iterator it = ex.iterator(); it.hasNext(); )
+ {
+ Exclusion exclusion = (Exclusion) it.next();
+
+ Exclusion newExclusion = new Exclusion();
+
+ newExclusion.setArtifactId(exclusion.getArtifactId() );
+ newExclusion.setGroupId( exclusion.getGroupId() );
+
+ newEx.add( newExclusion );
+ }
+ }
+
+ return newEx;
+ }
+
+ private static BuildBase cloneProfileBuild( BuildBase build )
+ {
+ BuildBase newBuild = null;
+ if ( build != null )
+ {
+ newBuild = new BuildBase();
+
+ newBuild.setDefaultGoal(build.getDefaultGoal());
+ newBuild.setDirectory(build.getDirectory());
+ newBuild.setFinalName(build.getFinalName());
+
+ newBuild.setPluginManagement( cloneProfilePluginManagement(
build.getPluginManagement() ) );
+ newBuild.setPlugins( cloneProfilePlugins( build.getPlugins() ) );
+ newBuild.setResources( cloneProfileResources( build.getResources()
) );
+ newBuild.setTestResources( cloneProfileResources(
build.getTestResources() ) );
+ }
+
+ return newBuild;
+ }
+
+ private static List cloneProfileResources( List resources )
+ {
+ List newResources = null;
+
+ if ( resources != null )
+ {
+ newResources = new ArrayList( resources.size() );
+
+ for ( Iterator it = resources.iterator(); it.hasNext(); )
+ {
+ Resource resource = (Resource) it.next();
+
+ Resource newResource = new Resource();
+
+ newResource.setDirectory(resource.getDirectory());
+ newResource.setExcludes(new ArrayList(
resource.getExcludes()));
+ newResource.setFiltering(resource.isFiltering());
+ newResource.setIncludes(new ArrayList(
resource.getIncludes()));
+ newResource.setTargetPath(resource.getTargetPath());
+
+ newResources.add( newResource );
+ }
+ }
+
+ return newResources;
+ }
+
+ private static PluginManagement cloneProfilePluginManagement(
PluginManagement pluginManagement )
+ {
+ PluginManagement newPM = null;
+
+ if ( pluginManagement != null )
+ {
+ newPM = new PluginManagement();
+
+ List plugins = pluginManagement.getPlugins();
+
+ newPM.setPlugins( cloneProfilePlugins( plugins ) );
+ }
+
+ return newPM;
+ }
+
+ private static List cloneProfilePlugins( List plugins )
+ {
+ List newPlugins = null;
+
+ if ( plugins != null )
+ {
+ newPlugins = new ArrayList( plugins.size() );
+
+ for ( Iterator it = plugins.iterator(); it.hasNext(); )
+ {
+ Plugin plugin = (Plugin) it.next();
+
+ Plugin newPlugin = new Plugin();
+
+ newPlugin.setArtifactId(plugin.getArtifactId());
+ newPlugin.setExtensions(plugin.isExtensions());
+ newPlugin.setGroupId(plugin.getGroupId());
+ newPlugin.setInherited(plugin.getInherited());
+ newPlugin.setVersion(plugin.getVersion());
+
+ // TODO: Deep-copy this!
+ newPlugin.setConfiguration(plugin.getConfiguration());
+
+ List goals = plugin.getGoals();
+ if ( goals != null && !goals.isEmpty() )
+ {
+ List newGoals = new ArrayList( goals );
+
+ newPlugin.setGoals(newGoals);
+ }
+
+ newPlugin.setExecutions( cloneExecutions(
plugin.getExecutions() ));
+
+ newPlugins.add( newPlugin );
+ }
+ }
+
+ return newPlugins;
+ }
+
+ private static List cloneExecutions( List executions )
+ {
+ List newExecs = null;
+
+ if ( executions != null )
+ {
+ newExecs = new ArrayList( executions.size() );
+
+ for ( Iterator it = executions.iterator(); it.hasNext(); )
+ {
+ PluginExecution exec = (PluginExecution) it.next();
+
+ PluginExecution newExec = new PluginExecution();
+
+ // TODO: Deep-copy configs.
+ newExec.setConfiguration(exec.getConfiguration());
+
+ newExec.setId(exec.getId());
+ newExec.setInherited(exec.getInherited());
+ newExec.setPhase(exec.getPhase());
+
+ List goals = exec.getGoals();
+
+ if ( goals != null && !goals.isEmpty() )
+ {
+ newExec.setGoals( new ArrayList( goals ) );
+ }
+
+ newExecs.add( newExec );
+ }
+ }
+
+ return newExecs;
+ }
+
+ private static Activation cloneProfileActivation( Activation activation )
+ {
+ Activation newActivation = null;
+ if ( activation != null )
+ {
+ newActivation = new Activation();
+
+ newActivation.setActiveByDefault(activation.isActiveByDefault());
+
+ ActivationFile af = activation.getFile();
+
+ if ( af != null )
+ {
+ ActivationFile afNew = new ActivationFile();
+ afNew.setExists(af.getExists());
+ afNew.setMissing(af.getMissing());
+
+ newActivation.setFile(afNew);
+ }
+
+ newActivation.setJdk(activation.getJdk());
+
+ ActivationProperty ap = activation.getProperty();
+
+ if ( ap != null )
+ {
+ ActivationProperty newAp = new ActivationProperty();
+
+ newAp.setName(ap.getName());
+ newAp.setValue(ap.getValue());
+
+ newActivation.setProperty(newAp);
+ }
+ }
+
+ return newActivation;
}
private static List cloneModules( List modules )
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]