You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2011/12/11 09:47:51 UTC

svn commit: r1212980 - in /maven/maven-3/trunk/maven-core/src: main/java/org/apache/maven/project/MavenProject.java test/java/org/apache/maven/project/MavenProjectTest.java

Author: olamy
Date: Sun Dec 11 08:47:50 2011
New Revision: 1212980

URL: http://svn.apache.org/viewvc?rev=1212980&view=rev
Log:
[MNG-5209] MavenProject.getTestClasspathElements can return null elements
Submitted by Jesse Glick.

Modified:
    maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
    maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java

Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/MavenProject.java?rev=1212980&r1=1212979&r2=1212980&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/MavenProject.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/MavenProject.java Sun Dec 11 08:47:50 2011
@@ -504,7 +504,11 @@ public class MavenProject
     {
         List<String> list = new ArrayList<String>( getArtifacts().size() + 1 );
 
-        list.add( getBuild().getOutputDirectory() );
+        String d = getBuild().getOutputDirectory();
+        if ( d != null )
+        {
+            list.add( d );
+        }
 
         for ( Artifact a : getArtifacts() )
         {                        
@@ -580,9 +584,17 @@ public class MavenProject
     {
         List<String> list = new ArrayList<String>( getArtifacts().size() + 2 );
 
-        list.add( getBuild().getTestOutputDirectory() );
+        String d = getBuild().getTestOutputDirectory();
+        if ( d != null )
+        {
+            list.add( d );
+        }
 
-        list.add( getBuild().getOutputDirectory() );
+        d = getBuild().getOutputDirectory();
+        if ( d != null )
+        {
+            list.add( d );
+        }
         
         for ( Artifact a : getArtifacts() )
         {            
@@ -644,7 +656,11 @@ public class MavenProject
     {
         List<String> list = new ArrayList<String>( getArtifacts().size() + 1 );
 
-        list.add( getBuild().getOutputDirectory() );
+        String d = getBuild().getOutputDirectory();
+        if ( d != null )
+        {
+            list.add( d );
+        }
 
         for ( Artifact a : getArtifacts() )
         {
@@ -717,7 +733,11 @@ public class MavenProject
     {
         List<String> list = new ArrayList<String>( getArtifacts().size() );
 
-        list.add( getBuild().getOutputDirectory() );
+        String d = getBuild().getOutputDirectory();
+        if ( d != null )
+        {
+            list.add( d );
+        }
 
         for ( Artifact a : getArtifacts() )
         {

Modified: maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java?rev=1212980&r1=1212979&r2=1212980&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java (original)
+++ maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java Sun Dec 11 08:47:50 2011
@@ -146,7 +146,8 @@ public class MavenProjectTest
         assertEquals( "..", pathAdjustment );
     }
     
-    public void testCloneWithDistributionManagement() throws Exception
+    public void testCloneWithDistributionManagement()
+        throws Exception
     {
         
         File f = getFileForClasspathResource( "distributionManagement-pom.xml" );
@@ -156,7 +157,8 @@ public class MavenProjectTest
         assertNotNull( "clonedProject - distributionManagement", clonedProject.getDistributionManagementArtifactRepository() );
     }
 
-    public void testCloneWithActiveProfile() throws Exception
+    public void testCloneWithActiveProfile()
+        throws Exception
     {
 
         File f = getFileForClasspathResource( "withActiveByDefaultProfile-pom.xml" );
@@ -174,4 +176,20 @@ public class MavenProjectTest
         assertNotSame( "The list of active profiles should have been cloned too but is same", activeProfilesOrig,
                        activeProfilesClone );
     }
+
+    public void testUndefinedOutputDirectory()
+        throws Exception
+    {
+        MavenProject p = new MavenProject();
+        assertNoNulls( p.getCompileClasspathElements() );
+        assertNoNulls( p.getSystemClasspathElements() );
+        assertNoNulls( p.getRuntimeClasspathElements() );
+        assertNoNulls( p.getTestClasspathElements() );
+    }
+
+    private void assertNoNulls( List<String> elements )
+    {
+        assertFalse( elements.contains( null ) );
+    }
+
 }