Author: olamy
Date: Fri Jan 25 16:21:24 2013
New Revision: 1438575

URL: http://svn.apache.org/viewvc?rev=1438575&view=rev
Log:
[MPIR-264] JDK Rev not determined when Maven 2 is building the site
Submitted by Michael Osipov.

Modified:
    
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java
    
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/AbstractProjectInfoReport.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java?rev=1438575&r1=1438574&r2=1438575&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java
 (original)
+++ 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/AbstractProjectInfoReport.java
 Fri Jan 25 16:21:24 2013
@@ -32,6 +32,7 @@ import org.apache.maven.doxia.siterender
 import org.apache.maven.doxia.siterenderer.sink.SiteRendererSink;
 import org.apache.maven.doxia.tools.SiteTool;
 import org.apache.maven.doxia.tools.SiteToolException;
+import org.apache.maven.model.Plugin;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugins.annotations.Component;
 import org.apache.maven.plugins.annotations.Parameter;
@@ -46,6 +47,8 @@ import org.codehaus.plexus.interpolation
 import org.codehaus.plexus.interpolation.PropertiesBasedValueSource;
 import org.codehaus.plexus.interpolation.RegexBasedInterpolator;
 import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
 
 
 import java.io.File;
@@ -266,6 +269,40 @@ public abstract class AbstractProjectInf
     {
         return project;
     }
+    
+    protected Plugin getPlugin( String pluginId )
+    {
+        if ( ( getProject().getBuild() == null ) || ( 
getProject().getBuild().getPluginsAsMap() == null ) )
+        {
+            return null;
+        }
+
+        Plugin plugin = (Plugin) 
getProject().getBuild().getPluginsAsMap().get( pluginId );
+
+        if ( ( plugin == null ) && ( 
getProject().getBuild().getPluginManagement() != null ) && (
+                
getProject().getBuild().getPluginManagement().getPluginsAsMap() != null ) )
+        {
+            plugin = (Plugin) 
getProject().getBuild().getPluginManagement().getPluginsAsMap().get( pluginId );
+        }
+
+        return plugin;
+    }
+    
+    protected String getPluginParameter( String pluginId, String param )
+    {
+        Plugin plugin = getPlugin( pluginId );
+        if ( plugin != null )
+        {
+            Xpp3Dom xpp3Dom = (Xpp3Dom) plugin.getConfiguration();
+            if ( xpp3Dom != null && xpp3Dom.getChild( param ) != null
+                && StringUtils.isNotEmpty( xpp3Dom.getChild( param 
).getValue() ) )
+            {
+                return xpp3Dom.getChild( param ).getValue();
+            }
+        }
+
+        return null;
+    }
 
     @Override
     protected Renderer getSiteRenderer()

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=1438575&r1=1438574&r2=1438575&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
 Fri Jan 25 16:21:24 2013
@@ -152,37 +152,26 @@ public class ProjectSummaryReport
 
         private String getMinimumJavaVersion()
         {
-            Xpp3Dom pluginConfig =
-                project.getGoalConfiguration( "org.apache.maven.plugins", 
"maven-compiler-plugin", null, null );
-
-            String source = null;
-            String target = null;
-            String compilerVersion = null;
-
-            if ( pluginConfig != null )
-            {
-                source = getChildValue( pluginConfig, "source" );
-                target = getChildValue( pluginConfig, "target" );
-
-                String fork = getChildValue( pluginConfig, "fork" );
-                if ( "true".equalsIgnoreCase( fork ) )
+            
+            final String pluginId = 
"org.apache.maven.plugins:maven-compiler-plugin";
+            String sourceConfigured = getPluginParameter( pluginId, "source" );
+            String targetConfigured = getPluginParameter( pluginId, "target" );
+            
+            String forkFlag = getPluginParameter( pluginId, "fork" );
+            String compilerVersionConfigured = null;
+                if ( "true".equalsIgnoreCase( forkFlag ) )
                 {
-                    compilerVersion = getChildValue( pluginConfig, 
"compilerVersion" );
+                    compilerVersionConfigured = getPluginParameter( pluginId, 
"compilerVersion" );
                 }
-            }
 
-            String minimumJavaVersion = compilerVersion;
-            if ( target != null )
-            {
-                minimumJavaVersion = target;
-            }
-            else if ( source != null )
+            String minimumJavaVersion = compilerVersionConfigured;
+            if ( targetConfigured != null )
             {
-                minimumJavaVersion = source;
+                minimumJavaVersion = targetConfigured;
             }
-            else if ( compilerVersion != null )
+            else if ( sourceConfigured != null )
             {
-                minimumJavaVersion = compilerVersion;
+                minimumJavaVersion = sourceConfigured;
             }
             else
             {
@@ -193,30 +182,6 @@ public class ProjectSummaryReport
             return minimumJavaVersion;
         }
 
-        private String getChildValue( Xpp3Dom parent, String childName )
-        {
-            if ( parent == null )
-            {
-                return null;
-            }
-
-            Xpp3Dom child = parent.getChild( childName );
-
-            if ( child == null )
-            {
-                return null;
-            }
-
-            String value = child.getValue();
-
-            if ( value == null || value.trim().length() == 0 )
-            {
-                return null;
-            }
-
-            return value.trim();
-        }
-
         private void tableRowWithLink( String[] content )
         {
             sink.tableRow();


Reply via email to