You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/05/05 21:18:42 UTC

svn commit: r771971 - in /maven/components/branches/MNG-2766/maven-core/src/test: java/org/apache/maven/project/ java/org/apache/maven/settings/ resources/org/apache/maven/project/ resources/org/apache/maven/settings/

Author: bentmann
Date: Tue May  5 19:18:41 2009
New Revision: 771971

URL: http://svn.apache.org/viewvc?rev=771971&view=rev
Log:
o Decoupled POM tests from plugin mananger and repository system (these tests were originally written without merging of default configuration in mind)

Added:
    maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java   (with props)
    maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/project/AbstractMavenProjectTestCase.xml   (with props)
    maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/project/PomConstructionTest.xml   (with props)
    maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/settings/   (with props)
    maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/settings/PomConstructionWithSettingsTest.xml   (with props)
Modified:
    maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
    maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
    maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java

Modified: maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java?rev=771971&r1=771970&r2=771971&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java Tue May  5 19:18:41 2009
@@ -61,6 +61,12 @@
         return projectBuilder;
     }
 
+    @Override
+    protected String getCustomConfigurationName()
+    {
+        return AbstractMavenProjectTestCase.class.getName().replace( '.', '/' ) + ".xml";
+    }
+
     // ----------------------------------------------------------------------
     // Local repository
     // ----------------------------------------------------------------------

Added: maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java?rev=771971&view=auto
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java (added)
+++ maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java Tue May  5 19:18:41 2009
@@ -0,0 +1,81 @@
+package org.apache.maven.project;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.util.Collections;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.lifecycle.LifecycleExecutionException;
+import org.apache.maven.lifecycle.LifecycleExecutor;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.plugin.MojoExecution;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+
+/**
+ * A stub implementation that assumes an empty lifecycle to bypass interaction with the plugin manager and to avoid
+ * plugin artifact resolution from repositories.
+ * 
+ * @author Benjamin Bentmann
+ */
+public class EmptyLifecycleExecutor
+    implements LifecycleExecutor
+{
+
+    public List<MojoExecution> calculateLifecyclePlan( String lifecyclePhase, MavenSession session )
+        throws LifecycleExecutionException
+    {
+        return Collections.emptyList();
+    }
+
+    public void execute( MavenSession session )
+        throws LifecycleExecutionException, MojoFailureException, MojoExecutionException
+    {
+    }
+
+    public Xpp3Dom getDefaultPluginConfiguration( String groupId, String artifactId, String version, String goal,
+                                                  MavenProject project, ArtifactRepository localRepository )
+        throws LifecycleExecutionException
+    {
+        return null;
+    }
+
+    public List<String> getLifecyclePhases()
+    {
+        return Collections.emptyList();
+    }
+
+    public Set<Plugin> getPluginsBoundByDefaultToAllLifecycles( String packaging )
+    {
+        return Collections.emptySet();
+    }
+
+    public Set<Plugin> populateDefaultConfigurationForPlugins( Set<Plugin> plugins, MavenProject project,
+                                                               ArtifactRepository localRepository )
+        throws LifecycleExecutionException
+    {
+        return plugins;
+    }
+
+}

Propchange: maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/EmptyLifecycleExecutor.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java?rev=771971&r1=771970&r2=771971&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java Tue May  5 19:18:41 2009
@@ -1435,13 +1435,6 @@
 	    PomTestWrapper pom = buildPom( "dependency-management-with-interpolation/sub" );
 	}   
 
-    public void testMaven()
-	    throws Exception
-	{
-	    PomTestWrapper pom = buildPom( "maven/sub" );
-	    System.out.println(pom.getDomainModel().asString());
-	}       
-    
     private void assertPathSuffixEquals( String expected, Object actual )
     {
         String a = actual.toString();
@@ -1454,40 +1447,41 @@
         assertEquals( new File( value.toString() ).getPath(), value.toString() );
     }
     
-    private PomTestWrapper buildPom( String pomPath, Properties properties)
-	    throws Exception
-	{
-	    File pomFile = new File( testDirectory , pomPath );
-	    if ( pomFile.isDirectory() )
-	    {
-	        pomFile = new File( pomFile, "pom.xml" );
-	    }
-	    ProjectBuilderConfiguration config = new DefaultProjectBuilderConfiguration();
-	    config.setLocalRepository(new DefaultArtifactRepository("default", "", new DefaultRepositoryLayout()));
-	    ProfileActivationContext pCtx = new ProfileActivationContext(null, true);
-	
-	    config.setExecutionProperties(properties);
-	    config.setGlobalProfileManager(new DefaultProfileManager(pCtx));
-	    return new PomTestWrapper( pomFile, mavenProjectBuilder.build( pomFile, config ) );
-	}
-    
     private PomTestWrapper buildPom( String pomPath, String... profileIds )
         throws Exception
     {
-        File pomFile = new File( testDirectory , pomPath );
+        return buildPom( pomPath, null, profileIds );
+    }
+
+    private PomTestWrapper buildPom( String pomPath, Properties executionProperties, String... profileIds )
+        throws Exception
+    {
+        File pomFile = new File( testDirectory, pomPath );
         if ( pomFile.isDirectory() )
         {
             pomFile = new File( pomFile, "pom.xml" );
         }
+
         ProjectBuilderConfiguration config = new DefaultProjectBuilderConfiguration();
-        config.setLocalRepository(new DefaultArtifactRepository("default", "", new DefaultRepositoryLayout()));
-        ProfileActivationContext pCtx = new ProfileActivationContext(null, true);
+
+        String localRepoUrl =
+            System.getProperty( "maven.repo.local", System.getProperty( "user.home" ) + "/.m2/repository" );
+        localRepoUrl = "file://" + localRepoUrl;
+        config.setLocalRepository( new DefaultArtifactRepository( "local", localRepoUrl, new DefaultRepositoryLayout() ) );
+
+        ProfileActivationContext pCtx = new ProfileActivationContext( null, true );
         if ( profileIds != null )
         {
             pCtx.setExplicitlyActiveProfileIds( Arrays.asList( profileIds ) );
         }
 
-        config.setGlobalProfileManager(new DefaultProfileManager(pCtx));
+        if ( executionProperties != null )
+        {
+            config.setExecutionProperties( executionProperties );
+        }
+
+        config.setGlobalProfileManager( new DefaultProfileManager( pCtx ) );
+
         return new PomTestWrapper( pomFile, mavenProjectBuilder.build( pomFile, config ) );
     }
 

Modified: maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java?rev=771971&r1=771970&r2=771971&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java Tue May  5 19:18:41 2009
@@ -93,9 +93,14 @@
         }	    
 	    
 	    ProjectBuilderConfiguration config = new DefaultProjectBuilderConfiguration();
-	    config.setLocalRepository(new DefaultArtifactRepository("default", "", new DefaultRepositoryLayout()));
+
+        String localRepoUrl =
+            System.getProperty( "maven.repo.local", System.getProperty( "user.home" ) + "/.m2/repository" );
+        localRepoUrl = "file://" + localRepoUrl;
+        config.setLocalRepository( new DefaultArtifactRepository( "local", localRepoUrl, new DefaultRepositoryLayout() ) );
 	
 	    config.setGlobalProfileManager(profileManager);
+
 	    return new PomTestWrapper( pomFile, mavenProjectBuilder.build( pomFile, config ) );
 	}  
     

Added: maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/project/AbstractMavenProjectTestCase.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/project/AbstractMavenProjectTestCase.xml?rev=771971&view=auto
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/project/AbstractMavenProjectTestCase.xml (added)
+++ maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/project/AbstractMavenProjectTestCase.xml Tue May  5 19:18:41 2009
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plexus>
+  <components>
+    <component>
+      <role>org.apache.maven.lifecycle.LifecycleExecutor</role>
+      <implementation>org.apache.maven.project.EmptyLifecycleExecutor</implementation>
+    </component>
+  </components>
+</plexus>

Propchange: maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/project/AbstractMavenProjectTestCase.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/project/AbstractMavenProjectTestCase.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/project/PomConstructionTest.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/project/PomConstructionTest.xml?rev=771971&view=auto
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/project/PomConstructionTest.xml (added)
+++ maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/project/PomConstructionTest.xml Tue May  5 19:18:41 2009
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plexus>
+  <components>
+    <component>
+      <role>org.apache.maven.lifecycle.LifecycleExecutor</role>
+      <implementation>org.apache.maven.project.EmptyLifecycleExecutor</implementation>
+    </component>
+  </components>
+</plexus>

Propchange: maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/project/PomConstructionTest.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/project/PomConstructionTest.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/settings/
------------------------------------------------------------------------------
    bugtraq:label = Enter issue ID:

Propchange: maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/settings/
------------------------------------------------------------------------------
    bugtraq:message = Issue id: %BUGID%

Propchange: maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/settings/
------------------------------------------------------------------------------
    bugtraq:number = false

Propchange: maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/settings/
------------------------------------------------------------------------------
    bugtraq:url = http://jira.codehaus.org/browse/%BUGID%

Added: maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/settings/PomConstructionWithSettingsTest.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/settings/PomConstructionWithSettingsTest.xml?rev=771971&view=auto
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/settings/PomConstructionWithSettingsTest.xml (added)
+++ maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/settings/PomConstructionWithSettingsTest.xml Tue May  5 19:18:41 2009
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plexus>
+  <components>
+    <component>
+      <role>org.apache.maven.lifecycle.LifecycleExecutor</role>
+      <implementation>org.apache.maven.project.EmptyLifecycleExecutor</implementation>
+    </component>
+  </components>
+</plexus>

Propchange: maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/settings/PomConstructionWithSettingsTest.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/settings/PomConstructionWithSettingsTest.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision