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]

Reply via email to