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/15 00:22:39 UTC
svn commit: r676753 - in
/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo:
./ dependencies/ dependencies/renderer/
Author: vsiveton
Date: Mon Jul 14 15:22:34 2008
New Revision: 676753
URL: http://svn.apache.org/viewvc?rev=676753&view=rev
Log:
o moved code from ArtifactUtils to ProjectInfoReportUtils
Removed:
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/ArtifactUtils.java
Modified:
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginManagementReport.java
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginsReport.java
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectInfoReportUtils.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/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependencyManagementRenderer.java
Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginManagementReport.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginManagementReport.java?rev=676753&r1=676752&r2=676753&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginManagementReport.java (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginManagementReport.java Mon Jul 14 15:22:34 2008
@@ -36,7 +36,6 @@
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.project.ProjectBuildingException;
-import org.apache.maven.report.projectinfo.dependencies.ArtifactUtils;
import org.apache.maven.reporting.AbstractMavenReportRenderer;
import org.codehaus.plexus.i18n.I18N;
import org.codehaus.plexus.util.StringUtils;
@@ -251,7 +250,7 @@
private String[] getPluginRow( String groupId, String artifactId, String version, String link )
{
- artifactId = ArtifactUtils.getArtifactIdCell( artifactId, link );
+ artifactId = ProjectInfoReportUtils.getArtifactIdCell( artifactId, link );
return new String[] { groupId, artifactId, version };
}
Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginsReport.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginsReport.java?rev=676753&r1=676752&r2=676753&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginsReport.java (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginsReport.java Mon Jul 14 15:22:34 2008
@@ -36,7 +36,6 @@
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.project.ProjectBuildingException;
-import org.apache.maven.report.projectinfo.dependencies.ArtifactUtils;
import org.apache.maven.reporting.AbstractMavenReportRenderer;
import org.codehaus.plexus.i18n.I18N;
import org.codehaus.plexus.util.StringUtils;
@@ -275,7 +274,7 @@
private String[] getPluginRow( String groupId, String artifactId, String version, String link )
{
- artifactId = ArtifactUtils.getArtifactIdCell( artifactId, link );
+ artifactId = ProjectInfoReportUtils.getArtifactIdCell( artifactId, link );
return new String[] { groupId, artifactId, version };
}
Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectInfoReportUtils.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectInfoReportUtils.java?rev=676753&r1=676752&r2=676753&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectInfoReportUtils.java (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectInfoReportUtils.java Mon Jul 14 15:22:34 2008
@@ -1,17 +1,5 @@
package org.apache.maven.report.projectinfo;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.Authenticator;
-import java.net.PasswordAuthentication;
-import java.net.URL;
-import java.util.Properties;
-
-import org.apache.maven.settings.Proxy;
-import org.apache.maven.settings.Settings;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.StringUtils;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -31,6 +19,25 @@
* under the License.
*/
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.Authenticator;
+import java.net.PasswordAuthentication;
+import java.net.URL;
+import java.util.List;
+import java.util.Properties;
+
+import org.apache.commons.validator.UrlValidator;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuildingException;
+import org.apache.maven.settings.Proxy;
+import org.apache.maven.settings.Settings;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.StringUtils;
+
/**
* Utilities methods.
*
@@ -40,6 +47,8 @@
*/
public class ProjectInfoReportUtils
{
+ private static final UrlValidator URL_VALIDATOR = new UrlValidator( new String[] { "http", "https" } );
+
/**
* Get the input stream using ISO-8859-1 as charset from an URL.
*
@@ -131,5 +140,68 @@
IOUtil.close( in );
}
}
+
+ /**
+ * @param artifact not null
+ * @param mavenProjectBuilder not null
+ * @param remoteRepositories not null
+ * @param localRepository not null
+ * @return the artifact url or null if an error occurred.
+ */
+ public static String getArtifactUrl( Artifact artifact, MavenProjectBuilder mavenProjectBuilder,
+ List remoteRepositories, ArtifactRepository localRepository )
+ {
+ if ( Artifact.SCOPE_SYSTEM.equals( artifact.getScope() ) )
+ {
+ return null;
+ }
+
+ try
+ {
+ MavenProject pluginProject = mavenProjectBuilder.buildFromRepository( artifact, remoteRepositories,
+ localRepository );
+
+ if ( isArtifactUrlValid( pluginProject.getUrl() ) )
+ {
+ return pluginProject.getUrl();
+ }
+
+ return null;
+ }
+ catch ( ProjectBuildingException e )
+ {
+ return null;
+ }
+ }
+
+ /**
+ * @param artifactId not null
+ * @param link could be null
+ * @return the artifactId cell with or without a link pattern
+ * @see {@link AbstractMavenReportRenderer#linkPatternedText(String)}
+ */
+ public static String getArtifactIdCell( String artifactId, String link )
+ {
+ if ( StringUtils.isEmpty( link ) )
+ {
+ return artifactId;
+ }
+
+ return "{" + artifactId + "," + link + "}";
+ }
+
+ /**
+ * @param url not null
+ * @return <code>true</code> if the url is valid, <code>false</code> otherwise.
+ */
+ public static boolean isArtifactUrlValid( String url )
+ {
+ if ( StringUtils.isEmpty( url ) )
+ {
+ return false;
+ }
+
+ return URL_VALIDATOR.isValid( url );
+ }
}
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=676753&r1=676752&r2=676753&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 Mon Jul 14 15:22:34 2008
@@ -52,7 +52,6 @@
import org.apache.maven.report.projectinfo.ProjectInfoReportUtils;
import org.apache.maven.report.projectinfo.dependencies.Dependencies;
import org.apache.maven.report.projectinfo.dependencies.DependenciesReportConfiguration;
-import org.apache.maven.report.projectinfo.dependencies.ArtifactUtils;
import org.apache.maven.report.projectinfo.dependencies.RepositoryUtils;
import org.apache.maven.reporting.AbstractMavenReportRenderer;
import org.apache.maven.settings.Settings;
@@ -155,6 +154,7 @@
* @param locale
* @param i18n
* @param log
+ * @param settings
* @param dependencies
* @param dependencyTreeNode
* @param config
@@ -957,8 +957,8 @@
String isOptional = artifact.isOptional() ? getReportString( "report.dependencies.column.isOptional" )
: getReportString( "report.dependencies.column.isNotOptional" );
- String url = ArtifactUtils.getArtifactUrl( artifact, mavenProjectBuilder, remoteRepositories, localRepository );
- String artifactIdCell = ArtifactUtils.getArtifactIdCell( artifact.getArtifactId(), url );
+ String url = ProjectInfoReportUtils.getArtifactUrl( artifact, mavenProjectBuilder, remoteRepositories, localRepository );
+ String artifactIdCell = ProjectInfoReportUtils.getArtifactIdCell( artifact.getArtifactId(), url );
if ( withClassifier )
{
@@ -1098,7 +1098,7 @@
sink.bold();
sink.text( getReportString( "report.dependencies.column.url" ) + ": " );
sink.bold_();
- if ( ArtifactUtils.isArtifactUrlValid( artifactUrl ) )
+ if ( ProjectInfoReportUtils.isArtifactUrlValid( artifactUrl ) )
{
sink.link( artifactUrl );
sink.text( artifactUrl );
Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependencyManagementRenderer.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/DependencyManagementRenderer.java?rev=676753&r1=676752&r2=676753&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependencyManagementRenderer.java (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependencyManagementRenderer.java Mon Jul 14 15:22:34 2008
@@ -33,7 +33,7 @@
import org.apache.maven.model.Dependency;
import org.apache.maven.plugin.logging.Log;
import org.apache.maven.project.MavenProjectBuilder;
-import org.apache.maven.report.projectinfo.dependencies.ArtifactUtils;
+import org.apache.maven.report.projectinfo.ProjectInfoReportUtils;
import org.apache.maven.report.projectinfo.dependencies.ManagementDependencies;
import org.apache.maven.reporting.AbstractMavenReportRenderer;
import org.codehaus.plexus.i18n.I18N;
@@ -215,8 +215,8 @@
{
Artifact artifact = artifactFactory.createParentArtifact( dependency.getGroupId(), dependency.getArtifactId(),
dependency.getVersion() );
- String url = ArtifactUtils.getArtifactUrl( artifact, mavenProjectBuilder, remoteRepositories, localRepository );
- String artifactIdCell = ArtifactUtils.getArtifactIdCell( artifact.getArtifactId(), url );
+ String url = ProjectInfoReportUtils.getArtifactUrl( artifact, mavenProjectBuilder, remoteRepositories, localRepository );
+ String artifactIdCell = ProjectInfoReportUtils.getArtifactIdCell( artifact.getArtifactId(), url );
if ( hasClassifier )
{