You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by vs...@apache.org on 2008/07/09 22:41:24 UTC
svn commit: r675339 - in
/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies:
Dependencies.java renderer/DependenciesRenderer.java
Author: vsiveton
Date: Wed Jul 9 13:41:24 2008
New Revision: 675339
URL: http://svn.apache.org/viewvc?rev=675339&view=rev
Log:
MPIR-115: Make the Sealed column optional in dependencies report
o sealed column is now display if one artifact is sealed
Modified:
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/Dependencies.java
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java
Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/Dependencies.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/Dependencies.java?rev=675339&r1=675338&r2=675339&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/Dependencies.java (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/Dependencies.java Wed Jul 9 13:41:24 2008
@@ -72,6 +72,11 @@
private Map transitiveDependenciesByScope;
/**
+ * @since 2.1
+ */
+ private Map dependencyDetails;
+
+ /**
* Default constructor
*
* @param project
@@ -258,8 +263,18 @@
public JarData getJarDependencyDetails( Artifact artifact )
throws IOException
{
- JarAnalyzer jarAnalyzer = new JarAnalyzer( artifact.getFile() );
+ if ( dependencyDetails == null )
+ {
+ dependencyDetails = new HashMap();
+ }
+ JarData old = (JarData) dependencyDetails.get( artifact.getId() );
+ if ( dependencyDetails.get( artifact.getId() ) != null )
+ {
+ return old;
+ }
+
+ JarAnalyzer jarAnalyzer = new JarAnalyzer( artifact.getFile() );
try
{
classesAnalyzer.analyze( jarAnalyzer );
@@ -269,6 +284,8 @@
jarAnalyzer.closeQuietly();
}
+ dependencyDetails.put( artifact.getId(), jarAnalyzer.getJarData() );
+
return jarAnalyzer.getJarData();
}
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=675339&r1=675338&r2=675339&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 Wed Jul 9 13:41:24 2008
@@ -358,9 +358,6 @@
String debug = getReportString( "report.dependencies.file.details.column.debug" );
String sealed = getReportString( "report.dependencies.file.details.column.sealed" );
- String[] tableHeader = new String[]{filename, size, entries, classes, packages, jdkrev, debug, sealed};
- tableHeader( tableHeader );
-
int[] justification = new int[]{Parser.JUSTIFY_LEFT, Parser.JUSTIFY_RIGHT, Parser.JUSTIFY_RIGHT,
Parser.JUSTIFY_RIGHT, Parser.JUSTIFY_RIGHT, Parser.JUSTIFY_CENTER, Parser.JUSTIFY_CENTER,
Parser.JUSTIFY_CENTER};
@@ -375,6 +372,72 @@
int totaldebug = 0;
int totalsealed = 0;
+ boolean hasSealed = false;
+ for ( Iterator it = alldeps.iterator(); it.hasNext(); )
+ {
+ Artifact artifact = (Artifact) it.next();
+
+ if ( !Artifact.SCOPE_SYSTEM.equals( artifact.getScope() ) )
+ {
+ // TODO site:run Why do we need to resolve this...
+ if ( artifact.getFile() == null )
+ {
+ try
+ {
+ repoUtils.resolve( artifact );
+ }
+ catch ( ArtifactResolutionException e )
+ {
+ log.error( "Artifact: " + artifact.getId() + " has no file.", e );
+ continue;
+ }
+ catch ( ArtifactNotFoundException e )
+ {
+ if ( ( dependencies.getProject().getGroupId().equals( artifact.getGroupId() ) )
+ && ( dependencies.getProject().getArtifactId().equals( artifact.getArtifactId() ) )
+ && ( dependencies.getProject().getVersion().equals( artifact.getVersion() ) ) )
+ {
+ log.warn( "The artifact of this project has never been deployed." );
+ }
+ else
+ {
+ log.error( "Artifact: " + artifact.getId() + " has no file.", e );
+ }
+
+ continue;
+ }
+ }
+
+ if ( JAR_SUBTYPE.contains( artifact.getType().toLowerCase() ) )
+ {
+ try
+ {
+ JarData jarDetails = dependencies.getJarDependencyDetails( artifact );
+ if ( jarDetails.isSealed() )
+ {
+ hasSealed = true;
+ break;
+ }
+ }
+ catch ( IOException e )
+ {
+ log.error( "IOException: " + e.getMessage(), e );
+ }
+ }
+ }
+ }
+
+ String[] tableHeader;
+ if ( hasSealed )
+ {
+ tableHeader = new String[] { filename, size, entries, classes, packages, jdkrev, debug, sealed };
+ }
+ else
+ {
+ tableHeader = new String[] { filename, size, entries, classes, packages, jdkrev, debug };
+ }
+ tableHeader( tableHeader );
+
DecimalFormat decFormat = new DecimalFormat( "#,##0" );
for ( Iterator it = alldeps.iterator(); it.hasNext(); )
@@ -436,13 +499,6 @@
totaldebug++;
}
- String sealedstr = "";
- if ( jarDetails.isSealed() )
- {
- sealedstr = "sealed";
- totalsealed++;
- }
-
totalentries += jarDetails.getNumEntries();
totalclasses += jarDetails.getNumClasses();
totalpackages += jarDetails.getNumPackages();
@@ -459,11 +515,36 @@
// ignore
}
- tableRow( new String[]{artifactFile.getName(), decFormat.format( artifactFile.length() ),
- decFormat.format( jarDetails.getNumEntries() ),
- decFormat.format( jarDetails.getNumClasses() ),
- decFormat.format( jarDetails.getNumPackages() ), jarDetails.getJdkRevision(), debugstr,
- sealedstr} );
+ if ( hasSealed )
+ {
+ String sealedstr = "";
+ if ( jarDetails.isSealed() )
+ {
+ sealedstr = "sealed";
+ totalsealed++;
+ }
+
+ tableRow( new String[] {
+ artifactFile.getName(),
+ decFormat.format( artifactFile.length() ),
+ decFormat.format( jarDetails.getNumEntries() ),
+ decFormat.format( jarDetails.getNumClasses() ),
+ decFormat.format( jarDetails.getNumPackages() ),
+ jarDetails.getJdkRevision(),
+ debugstr,
+ sealedstr } );
+ }
+ else
+ {
+ tableRow( new String[] {
+ artifactFile.getName(),
+ decFormat.format( artifactFile.length() ),
+ decFormat.format( jarDetails.getNumEntries() ),
+ decFormat.format( jarDetails.getNumClasses() ),
+ decFormat.format( jarDetails.getNumPackages() ),
+ jarDetails.getJdkRevision(),
+ debugstr } );
+ }
}
catch ( IOException e )
{
@@ -480,9 +561,29 @@
tableHeader[0] = "Total";
tableHeader( tableHeader );
- tableRow( new String[]{"" + totaldeps + " total dependencies", decFormat.format( totaldepsize ),
- decFormat.format( totalentries ), decFormat.format( totalclasses ), decFormat.format( totalpackages ),
- String.valueOf( highestjdk ), decFormat.format( totaldebug ), decFormat.format( totalsealed )} );
+ if ( hasSealed )
+ {
+ tableRow( new String[] {
+ "" + totaldeps + " total dependencies",
+ decFormat.format( totaldepsize ),
+ decFormat.format( totalentries ),
+ decFormat.format( totalclasses ),
+ decFormat.format( totalpackages ),
+ String.valueOf( highestjdk ),
+ decFormat.format( totaldebug ),
+ decFormat.format( totalsealed ) } );
+ }
+ else
+ {
+ tableRow( new String[] {
+ "" + totaldeps + " total dependencies",
+ decFormat.format( totaldepsize ),
+ decFormat.format( totalentries ),
+ decFormat.format( totalclasses ),
+ decFormat.format( totalpackages ),
+ String.valueOf( highestjdk ),
+ decFormat.format( totaldebug ) } );
+ }
sink.tableRows_();