Author: vsiveton
Date: Wed Nov 17 21:58:22 2010
New Revision: 1036245

URL: http://svn.apache.org/viewvc?rev=1036245&view=rev
Log:
[MPIR-80] added minimum JDK Rev to project summary

o display JDK rev only if the project seems a Java project

Modified:
    
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectSummaryReport.java

Modified: 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectSummaryReport.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectSummaryReport.java?rev=1036245&r1=1036244&r2=1036245&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectSummaryReport.java
 (original)
+++ 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectSummaryReport.java
 Wed Nov 17 21:58:22 2010
@@ -21,10 +21,14 @@ package org.apache.maven.report.projecti
 
 import org.apache.maven.doxia.sink.Sink;
 import org.apache.maven.model.Organization;
+import org.apache.maven.project.MavenProject;
 import org.apache.maven.reporting.MavenReportException;
+import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 
+import java.io.File;
+import java.io.IOException;
 import java.util.Locale;
 
 /**
@@ -86,7 +90,7 @@ public class ProjectSummaryReport
         {
             startSection( getTitle() );
 
-            //general information sub-section
+            // general information sub-section
             String name = project.getName();
             if ( name == null )
             {
@@ -112,7 +116,7 @@ public class ProjectSummaryReport
             endTable();
             endSection();
 
-            //organization sub-section
+            // organization sub-section
             startSection( getI18nString( "organization.title" ) );
             Organization organization = project.getOrganization();
             if ( organization == null )
@@ -138,7 +142,7 @@ public class ProjectSummaryReport
             }
             endSection();
 
-            //build section
+            // build section
             startSection( getI18nString( "build.title" ) );
             startTable();
             tableHeader( new String[] { getI18nString( "field" ), 
getI18nString( "value" ) } );
@@ -146,7 +150,10 @@ public class ProjectSummaryReport
             tableRow( new String[] { getI18nString( "build.artifactid" ), 
project.getArtifactId() } );
             tableRow( new String[] { getI18nString( "build.version" ), 
project.getVersion() } );
             tableRow( new String[] { getI18nString( "build.type" ), 
project.getPackaging() } );
-            tableRow( new String[] { getI18nString( "build.jdk" ), 
getMinimumJavaVersion() } );
+            if ( isJavaProject( project ) )
+            {
+                tableRow( new String[] { getI18nString( "build.jdk" ), 
getMinimumJavaVersion() } );
+            }
             endTable();
             endSection();
 
@@ -249,5 +256,50 @@ public class ProjectSummaryReport
 
             sink.tableRow_();
         }
+
+        /**
+         * @param project not null
+         * @return return <code>true</code> if the Maven project sounds like a 
Java Project, i.e. has a java type
+         *         packaging (like jar, war...) or java files in the source 
directory, <code>false</code> otherwise.
+         * @since 2.3
+         */
+        private boolean isJavaProject( MavenProject project )
+        {
+            String packaging = project.getPackaging().trim().toLowerCase( 
Locale.ENGLISH );
+            if ( packaging.equals( "pom" ) )
+            {
+                return false;
+            }
+
+            // some commons java packaging
+            if ( packaging.equals( "jar" ) || packaging.equals( "ear" ) || 
packaging.equals( "war" )
+                || packaging.equals( "rar" ) || packaging.equals( "sar" ) || 
packaging.equals( "har" ) )
+            {
+                return true;
+            }
+
+            // java files in the source directory?
+            try
+            {
+                if ( FileUtils.getFileNames( new File( 
project.getBuild().getSourceDirectory() ), "**/*.java", null, false ).size() > 
0 )
+                {
+                    return true;
+                }
+            }
+            catch ( IOException e )
+            {
+                // ignored
+            }
+
+            // maven-compiler-plugin ?
+            Xpp3Dom pluginConfig =
+                project.getGoalConfiguration( "org.apache.maven.plugins", 
"maven-compiler-plugin", null, null );
+            if ( pluginConfig != null )
+            {
+                return true;
+            }
+
+            return false;
+        }
     }
 }


Reply via email to