You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2008/04/20 22:37:26 UTC
svn commit: r649973 - in
/maven/plugins/trunk/maven-project-info-reports-plugin/src:
main/java/org/apache/maven/report/projectinfo/
main/java/org/apache/maven/report/projectinfo/dependencies/renderer/
main/resources/ test/java/org/apache/maven/report/p...
Author: hboutemy
Date: Sun Apr 20 13:37:25 2008
New Revision: 649973
URL: http://svn.apache.org/viewvc?rev=649973&view=rev
Log:
[MPIR-80] added Java requirements to the Dependency Report
Submitted by: Niall Pemberton
Reviewed by: Hervé Boutemy
Modified:
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report.properties
maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/DependenciesReportTest.java
Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java?rev=649973&r1=649972&r2=649973&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java Sun Apr 20 13:37:25 2008
@@ -151,7 +151,7 @@
new DependenciesReportConfiguration( dependencyDetailsEnabled, dependencyLocationsEnabled );
DependenciesRenderer r =
- new DependenciesRenderer( getSink(), locale, i18n, dependencies, dependencyTree, config, repoUtils );
+ new DependenciesRenderer( getSink(), locale, i18n, dependencies, dependencyTree, config, repoUtils, project );
repoUtils.setLog( getLog() );
r.setLog( getLog() );
Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java?rev=649973&r1=649972&r2=649973&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java Sun Apr 20 13:37:25 2008
@@ -40,6 +40,7 @@
import org.apache.maven.wagon.Wagon;
import org.codehaus.plexus.i18n.I18N;
import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
import java.io.File;
import java.io.IOException;
@@ -88,6 +89,8 @@
private RepositoryUtils repoUtils;
+ private MavenProject project;
+
/**
* Will be filled with license name / list of projects.
*/
@@ -109,7 +112,7 @@
public DependenciesRenderer( Sink sink, Locale locale, I18N i18n, Dependencies dependencies,
DependencyTree depTree, DependenciesReportConfiguration config,
- RepositoryUtils repoUtils )
+ RepositoryUtils repoUtils, MavenProject project )
{
super( sink );
@@ -124,6 +127,8 @@
this.i18n = i18n;
this.configuration = config;
+
+ this.project = project;
}
// ----------------------------------------------------------------------
@@ -158,6 +163,9 @@
return;
}
+ // === Section: Project Java Version.
+ renderSectionJavaVersion();
+
// === Section: Project Dependencies.
renderSectionProjectDependencies();
@@ -211,6 +219,86 @@
String type = getReportString( "report.dependencies.column.type" );
String optional = getReportString( "report.dependencies.column.optional" );
return new String[]{groupId, artifactId, version, classifier, type, optional};
+ }
+
+ private void renderSectionJavaVersion()
+ {
+ 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 ) )
+ {
+ compilerVersion = getChildValue( pluginConfig, "compilerVersion" );
+ }
+ }
+
+ if ( compilerVersion == null )
+ {
+ compilerVersion = System.getProperty( "java.specification.version" );
+ }
+
+ String javaOptionsText = null;
+ String minimumJavaVersion = compilerVersion;
+
+ if ( source == null && target == null )
+ {
+ javaOptionsText = i18n.format( "project-info-report", locale, "report.dependencies.java.options.notset", compilerVersion );
+ }
+ else if ( source != null && target != null )
+ {
+ minimumJavaVersion = target;
+ if ( source.equals( target ) )
+ {
+ javaOptionsText = i18n.format( "project-info-report", locale, "report.dependencies.java.options.same", compilerVersion, source );
+ }
+ else
+ {
+ Object[] args = new Object[] { compilerVersion, source, target };
+ javaOptionsText = i18n.format( "project-info-report", locale, "report.dependencies.java.options.different", args );
+ }
+ }
+ else if ( target != null )
+ {
+ minimumJavaVersion = target;
+ javaOptionsText = i18n.format( "project-info-report", locale, "report.dependencies.java.options.target", compilerVersion, target );
+ }
+ else
+ {
+ javaOptionsText = i18n.format( "project-info-report", locale, "report.dependencies.java.options.source", compilerVersion, source );
+ }
+ String minimumJavaText = i18n.format( "project-info-report", locale, "report.dependencies.java.minimum", minimumJavaVersion);
+
+ // Output the section text
+ startSection( getReportString( "report.dependencies.java.section.title" ) );
+ paragraph( minimumJavaText );
+ paragraph( javaOptionsText );
+ endSection();
+ }
+
+ 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 (child == null || value.trim().length() == 0)
+ {
+ return null;
+ }
+ return value.trim();
}
private void renderSectionProjectDependencies()
Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report.properties
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report.properties?rev=649973&r1=649972&r2=649973&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report.properties (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report.properties Sun Apr 20 13:37:25 2008
@@ -77,6 +77,13 @@
report.dependencies.repo.locations.column.snapshot = Snapshot
report.dependencies.repo.locations.column.url = URL
report.dependencies.repo.locations.title = Dependency Repository Locations
+report.dependencies.java.section.title = Java Version
+report.dependencies.java.minimum = This project requires a minimum of Java {0}.
+report.dependencies.java.options.notset = It has been built using Java {0} (the compiler -source and -target options were not set).
+report.dependencies.java.options.same = It has been built using Java {0} with the compiler -source and -target options set to Java {1}.
+report.dependencies.java.options.different = It has been built using Java {0} with the compiler -source option set to Java {1} and the -target option set to Java {2}.
+report.dependencies.java.options.source = It has been built using Java {0} with the compiler -source option set to Java {1} (-target option not set).
+report.dependencies.java.options.target = It has been built using Java {0} with the compiler -target option set to Java {1} (-source option not set).
report.dependencies.title = Project Dependencies
report.dependencies.unamed = Unamed
report.dependency-convergence.convergence.caption = Dependencies used in sub-projects
Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/DependenciesReportTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/DependenciesReportTest.java?rev=649973&r1=649972&r2=649973&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/DependenciesReportTest.java (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/DependenciesReportTest.java Sun Apr 20 13:37:25 2008
@@ -78,15 +78,16 @@
// Test the texts
TextBlock[] textBlocks = response.getTextBlocks();
- assertEquals( textBlocks[0].getText(), getString( "report.dependencies.title" ) );
- assertEquals( textBlocks[1].getText(), "test" );
- assertEquals( textBlocks[2].getText(), getString( "report.dependencies.intro.test" ) );
- assertEquals( textBlocks[3].getText(), getString( "report.transitivedependencies.title" ) );
- assertEquals( textBlocks[4].getText(), getString( "report.transitivedependencies.intro" ) );
- assertEquals( textBlocks[5].getText(), "test" );
- assertEquals( textBlocks[6].getText(), getString( "report.dependencies.intro.test" ) );
- assertEquals( textBlocks[7].getText(), getString( "report.dependencies.graph.title" ) );
- assertEquals( textBlocks[8].getText(), getString( "report.dependencies.graph.tree.title" ) );
- assertEquals( textBlocks[12].getText(), getString( "report.dependencies.graph.tables.title" ) );
+ assertEquals( textBlocks[0].getText(), getString( "report.dependencies.java.section.title" ) );
+ assertEquals( textBlocks[3].getText(), getString( "report.dependencies.title" ) );
+ assertEquals( textBlocks[4].getText(), "test" );
+ assertEquals( textBlocks[5].getText(), getString( "report.dependencies.intro.test" ) );
+ assertEquals( textBlocks[6].getText(), getString( "report.transitivedependencies.title" ) );
+ assertEquals( textBlocks[7].getText(), getString( "report.transitivedependencies.intro" ) );
+ assertEquals( textBlocks[8].getText(), "test" );
+ assertEquals( textBlocks[9].getText(), getString( "report.dependencies.intro.test" ) );
+ assertEquals( textBlocks[10].getText(), getString( "report.dependencies.graph.title" ) );
+ assertEquals( textBlocks[11].getText(), getString( "report.dependencies.graph.tree.title" ) );
+ assertEquals( textBlocks[15].getText(), getString( "report.dependencies.graph.tables.title" ) );
}
}