You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2018/04/07 12:14:51 UTC
[maven-project-info-reports-plugin] 01/01: [MPIR-367] Remove
Dependency Repository Locations from dependency report Remove wagon
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MPIR-367
in repository https://gitbox.apache.org/repos/asf/maven-project-info-reports-plugin.git
commit da3aa3e07e35963b4150b179f14209fddad0c126
Author: rfscholte <rf...@apache.org>
AuthorDate: Sat Apr 7 14:14:40 2018 +0200
[MPIR-367] Remove Dependency Repository Locations from dependency report
Remove wagon
---
pom.xml | 26 --
src/it/full-pom/verify.bsh | 17 -
.../report/projectinfo/DependenciesReport.java | 30 +-
.../projectinfo/DependencyManagementReport.java | 11 +-
.../DependenciesReportConfiguration.java | 14 +-
.../projectinfo/dependencies/RepositoryUtils.java | 197 +----------
.../renderer/DependenciesRenderer.java | 385 +--------------------
7 files changed, 7 insertions(+), 673 deletions(-)
diff --git a/pom.xml b/pom.xml
index d3a991e..ecdd8ce 100644
--- a/pom.xml
+++ b/pom.xml
@@ -120,7 +120,6 @@ under the License.
<doxiaVersion>1.6</doxiaVersion>
<doxia-sitetoolsVersion>1.6</doxia-sitetoolsVersion>
<mavenVersion>2.2.1</mavenVersion>
- <wagonVersion>2.10</wagonVersion>
<scmVersion>1.9.5</scmVersion>
<sitePluginVersion>3.5.1</sitePluginVersion>
</properties>
@@ -200,31 +199,6 @@ under the License.
<version>1.4</version>
</dependency>
- <!-- Wagon -->
- <dependency>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-provider-api</artifactId>
- <version>${wagonVersion}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-ssh</artifactId>
- <version>${wagonVersion}</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-file</artifactId>
- <version>${wagonVersion}</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-http-lightweight</artifactId>
- <version>${wagonVersion}</version>
- <scope>runtime</scope>
- </dependency>
-
<!-- SCM -->
<dependency>
<groupId>org.apache.maven.scm</groupId>
diff --git a/src/it/full-pom/verify.bsh b/src/it/full-pom/verify.bsh
index 314810f..369aae3 100644
--- a/src/it/full-pom/verify.bsh
+++ b/src/it/full-pom/verify.bsh
@@ -98,23 +98,6 @@ try
System.err.println( "dependencies.html doesn't contain doxia-core-1.2.jar" );
return false;
}
- if ( !content.contains( "<td>central</td>" ) )
- {
- if ( content.contains( "<td>mirror-test</td><td><a class=\"externalLink\" href=\"http://mirrors.ibiblio.org/pub/mirrors/maven2/\">http://mirrors.ibiblio.org/pub/mirrors/maven2/</a></td>" ) )
- {
- System.err.println( "MPIR-244: 'Dependency Repository Locations' in dependencies.html doesn't refer to central repository but mirror-test which is its corresponding mirror." );
- }
- else
- {
- System.err.println( "[ERROR] 'Dependency Repository Locations' in dependencies.html doesn't refer to central repository nor mirror-test." );
- }
- return false;
- }
- if ( content.contains( "<th>mirror-test</th>" ) )
- {
- // MPIR-267, not fixed yet: just display ERROR but do not fail
- System.err.println( "[ERROR] 'Repository locations for each of the Dependencies.' in dependencies.html doesn't refer to central repository but mirror-test." );
- }
// MPIR-216: dependency with range
File dependencyMgmt = new File( siteDir, "dependency-management.html");
diff --git a/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java b/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java
index 6756807..76f8028 100644
--- a/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java
+++ b/src/main/java/org/apache/maven/report/projectinfo/DependenciesReport.java
@@ -30,7 +30,6 @@ import java.io.OutputStream;
import java.util.Locale;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
@@ -85,14 +84,6 @@ public class DependenciesReport
protected ArtifactMetadataSource artifactMetadataSource;
/**
- * Wagon manager component.
- *
- * @since 2.1
- */
- @Component
- private WagonManager wagonManager;
-
- /**
* Dependency graph builder component.
*
* @since 2.5
@@ -137,15 +128,6 @@ public class DependenciesReport
@Parameter( property = "dependency.details.enabled", defaultValue = "true" )
private boolean dependencyDetailsEnabled;
- /**
- * Display the repository locations of the dependencies. If Maven is configured to be offline, this parameter
- * will be ignored.
- *
- * @since 2.1
- */
- @Parameter( property = "dependency.locations.enabled", defaultValue = "true" )
- private boolean dependencyLocationsEnabled;
-
// ----------------------------------------------------------------------
// Public methods
// ----------------------------------------------------------------------
@@ -168,12 +150,6 @@ public class DependenciesReport
@Override
public void executeReport( Locale locale )
{
- if ( settings.isOffline() && dependencyLocationsEnabled )
- {
- getLog().warn( "The parameter 'dependencyLocationsEnabled' is ignored in offline mode." );
- dependencyLocationsEnabled = false;
- }
-
try
{
copyResources( new File( getOutputDirectory() ) );
@@ -184,7 +160,7 @@ public class DependenciesReport
}
@SuppressWarnings( "unchecked" ) RepositoryUtils repoUtils =
- new RepositoryUtils( getLog(), wagonManager, settings, mavenProjectBuilder, factory, resolver,
+ new RepositoryUtils( getLog(), mavenProjectBuilder, factory, resolver,
project.getRemoteArtifactRepositories(), project.getPluginArtifactRepositories(),
localRepository, repositoryMetadataManager );
@@ -193,10 +169,10 @@ public class DependenciesReport
Dependencies dependencies = new Dependencies( project, dependencyNode, classesAnalyzer );
DependenciesReportConfiguration config =
- new DependenciesReportConfiguration( dependencyDetailsEnabled, dependencyLocationsEnabled );
+ new DependenciesReportConfiguration( dependencyDetailsEnabled );
DependenciesRenderer r =
- new DependenciesRenderer( getSink(), locale, getI18N( locale ), getLog(), settings, dependencies,
+ new DependenciesRenderer( getSink(), locale, getI18N( locale ), getLog(), dependencies,
dependencyNode, config, repoUtils, artifactFactory, mavenProjectBuilder,
remoteRepositories, localRepository );
r.render();
diff --git a/src/main/java/org/apache/maven/report/projectinfo/DependencyManagementReport.java b/src/main/java/org/apache/maven/report/projectinfo/DependencyManagementReport.java
index e5b990d..b6ce4b7 100644
--- a/src/main/java/org/apache/maven/report/projectinfo/DependencyManagementReport.java
+++ b/src/main/java/org/apache/maven/report/projectinfo/DependencyManagementReport.java
@@ -20,7 +20,6 @@ package org.apache.maven.report.projectinfo;
*/
import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager;
import org.apache.maven.plugins.annotations.Component;
@@ -69,14 +68,6 @@ public class DependencyManagementReport
private ArtifactFactory artifactFactory;
/**
- * Wagon manager component.
- *
- * @since 2.3
- */
- @Component
- private WagonManager wagonManager;
-
- /**
* Repository metadata component.
*
* @since 2.3
@@ -113,7 +104,7 @@ public class DependencyManagementReport
public void executeReport( Locale locale )
{
@SuppressWarnings( "unchecked" ) RepositoryUtils repoUtils =
- new RepositoryUtils( getLog(), wagonManager, settings, mavenProjectBuilder, factory, resolver,
+ new RepositoryUtils( getLog(), mavenProjectBuilder, factory, resolver,
project.getRemoteArtifactRepositories(), project.getPluginArtifactRepositories(),
localRepository, repositoryMetadataManager );
diff --git a/src/main/java/org/apache/maven/report/projectinfo/dependencies/DependenciesReportConfiguration.java b/src/main/java/org/apache/maven/report/projectinfo/dependencies/DependenciesReportConfiguration.java
index f86343d..db3f2ea 100644
--- a/src/main/java/org/apache/maven/report/projectinfo/dependencies/DependenciesReportConfiguration.java
+++ b/src/main/java/org/apache/maven/report/projectinfo/dependencies/DependenciesReportConfiguration.java
@@ -29,16 +29,12 @@ public class DependenciesReportConfiguration
{
private boolean dependencyDetailsEnabled;
- private boolean dependencyLocationsEnabled;
-
/**
* @param detailsEnabled whether details is enabled.
- * @param locationEnabled whether location is enabled.
*/
- public DependenciesReportConfiguration( boolean detailsEnabled, boolean locationEnabled )
+ public DependenciesReportConfiguration( boolean detailsEnabled )
{
this.dependencyDetailsEnabled = detailsEnabled;
- this.dependencyLocationsEnabled = locationEnabled;
}
/**
@@ -48,12 +44,4 @@ public class DependenciesReportConfiguration
{
return dependencyDetailsEnabled;
}
-
- /**
- * @return value of Mojo dependencyLocationsEnabled parameter.
- */
- public boolean getDependencyLocationsEnabled()
- {
- return dependencyLocationsEnabled;
- }
}
diff --git a/src/main/java/org/apache/maven/report/projectinfo/dependencies/RepositoryUtils.java b/src/main/java/org/apache/maven/report/projectinfo/dependencies/RepositoryUtils.java
index 25346b6..81ead9d 100644
--- a/src/main/java/org/apache/maven/report/projectinfo/dependencies/RepositoryUtils.java
+++ b/src/main/java/org/apache/maven/report/projectinfo/dependencies/RepositoryUtils.java
@@ -19,15 +19,12 @@ package org.apache.maven.report.projectinfo.dependencies;
* under the License.
*/
-import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.manager.WagonConfigurationException;
-import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.artifact.metadata.ArtifactMetadata;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.metadata.Metadata;
@@ -41,18 +38,6 @@ import org.apache.maven.plugin.logging.Log;
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.apache.maven.wagon.ConnectionException;
-import org.apache.maven.wagon.TransferFailedException;
-import org.apache.maven.wagon.UnsupportedProtocolException;
-import org.apache.maven.wagon.Wagon;
-import org.apache.maven.wagon.authentication.AuthenticationException;
-import org.apache.maven.wagon.authentication.AuthenticationInfo;
-import org.apache.maven.wagon.authorization.AuthorizationException;
-import org.apache.maven.wagon.observers.Debug;
-import org.apache.maven.wagon.proxy.ProxyInfo;
-import org.apache.maven.wagon.repository.Repository;
import org.codehaus.plexus.util.StringUtils;
/**
@@ -63,14 +48,8 @@ import org.codehaus.plexus.util.StringUtils;
*/
public class RepositoryUtils
{
- private static final List<String> UNKNOWN_HOSTS = new ArrayList<String>();
-
private final Log log;
- private final WagonManager wagonManager;
-
- private final Settings settings;
-
private final MavenProjectBuilder mavenProjectBuilder;
private final ArtifactFactory factory;
@@ -85,8 +64,6 @@ public class RepositoryUtils
/**
* @param log {@link Log}
- * @param wagonManager {@link WagonManager}
- * @param settings {@link Settings}
* @param mavenProjectBuilder {@link MavenProjectBuilder}
* @param factory {@link ArtifactFactory}
* @param resolver {@link ArtifactResolver}
@@ -95,15 +72,12 @@ public class RepositoryUtils
* @param localRepository {@link ArtifactRepository}
* @param repositoryMetadataManager {@link RepositoryMetadataManager}
*/
- public RepositoryUtils( Log log, WagonManager wagonManager, Settings settings,
- MavenProjectBuilder mavenProjectBuilder, ArtifactFactory factory,
+ public RepositoryUtils( Log log, MavenProjectBuilder mavenProjectBuilder, ArtifactFactory factory,
ArtifactResolver resolver, List<ArtifactRepository> remoteRepositories,
List<ArtifactRepository> pluginRepositories, ArtifactRepository localRepository,
RepositoryMetadataManager repositoryMetadataManager )
{
this.log = log;
- this.wagonManager = wagonManager;
- this.settings = settings;
this.mavenProjectBuilder = mavenProjectBuilder;
this.factory = factory;
this.resolver = resolver;
@@ -154,127 +128,6 @@ public class RepositoryUtils
}
/**
- * @param repo not null
- * @param artifact not null
- * @return <code>true</code> if the artifact exists in the given repo, <code>false</code> otherwise or if
- * the repo is blacklisted.
- */
- public boolean dependencyExistsInRepo( ArtifactRepository repo, Artifact artifact )
- {
- if ( repo.isBlacklisted() )
- {
- if ( log.isDebugEnabled() )
- {
- log.debug( "The repo '" + repo.getId() + "' is black listed - Ignored it" );
- }
- return false;
- }
-
- if ( UNKNOWN_HOSTS.contains( repo.getUrl() ) )
- {
- if ( log.isDebugEnabled() )
- {
- log.debug( "The repo url '" + repo.getUrl() + "' is unknown - Ignored it" );
- }
- return false;
- }
-
- repo = wagonManager.getMirrorRepository( repo );
-
- String id = repo.getId();
- Repository repository = new Repository( id, repo.getUrl() );
-
- Wagon wagon;
- try
- {
- wagon = wagonManager.getWagon( repository );
- }
- catch ( UnsupportedProtocolException e )
- {
- logError( "Unsupported protocol: '" + repo.getProtocol() + "'", e );
- return false;
- }
- catch ( WagonConfigurationException e )
- {
- logError( "Unsupported protocol: '" + repo.getProtocol() + "'", e );
- return false;
- }
-
- wagon.setTimeout( 1000 );
-
- if ( log.isDebugEnabled() )
- {
- Debug debug = new Debug();
-
- wagon.addSessionListener( debug );
- wagon.addTransferListener( debug );
- }
-
- try
- {
- // FIXME when upgrading to maven 3.x : this must be changed.
- AuthenticationInfo auth = wagonManager.getAuthenticationInfo( repo.getId() );
-
- ProxyInfo proxyInfo = getProxyInfo();
- if ( proxyInfo != null )
- {
- wagon.connect( repository, auth, proxyInfo );
- }
- else
- {
- wagon.connect( repository, auth );
- }
-
- return wagon.resourceExists( StringUtils.replace( getDependencyUrlFromRepository( artifact, repo ),
- repo.getUrl(), "" ) );
- }
- catch ( ConnectionException e )
- {
- logError( "Unable to connect to: " + repo.getUrl(), e );
- return false;
- }
- catch ( AuthenticationException e )
- {
- logError( "Unable to connect to: " + repo.getUrl(), e );
- return false;
- }
- catch ( TransferFailedException e )
- {
- if ( e.getCause() instanceof UnknownHostException )
- {
- log.error( "Unknown host " + e.getCause().getMessage() + " - ignored it" );
- UNKNOWN_HOSTS.add( repo.getUrl() );
- }
- else
- {
- logError( "Unable to determine if resource " + artifact + " exists in " + repo.getUrl(), e );
- }
- return false;
- }
- catch ( AuthorizationException e )
- {
- logError( "Unable to connect to: " + repo.getUrl(), e );
- return false;
- }
- catch ( AbstractMethodError e )
- {
- log.error( "Wagon " + wagon.getClass().getName() + " does not support the resourceExists method" );
- return false;
- }
- finally
- {
- try
- {
- wagon.disconnect();
- }
- catch ( ConnectionException e )
- {
- logError( "Error disconnecting wagon - ignored", e );
- }
- }
- }
-
- /**
* Get the <code>Maven project</code> from the repository depending the <code>Artifact</code> given.
*
* @param artifact an artifact
@@ -363,52 +216,4 @@ public class RepositoryUtils
return repo.getUrl() + "/" + repo.pathOf( copyArtifact );
}
-
- // ----------------------------------------------------------------------
- // Private methods
- // ----------------------------------------------------------------------
-
- /**
- * Convenience method to map a <code>Proxy</code> object from the user system settings to a <code>ProxyInfo</code>
- * object.
- *
- * @return a proxyInfo object instanced or null if no active proxy is define in the settings.xml
- */
- private ProxyInfo getProxyInfo()
- {
- if ( settings == null || settings.getActiveProxy() == null )
- {
- return null;
- }
-
- Proxy settingsProxy = settings.getActiveProxy();
-
- ProxyInfo proxyInfo = new ProxyInfo();
- proxyInfo.setHost( settingsProxy.getHost() );
- proxyInfo.setType( settingsProxy.getProtocol() );
- proxyInfo.setPort( settingsProxy.getPort() );
- proxyInfo.setNonProxyHosts( settingsProxy.getNonProxyHosts() );
- proxyInfo.setUserName( settingsProxy.getUsername() );
- proxyInfo.setPassword( settingsProxy.getPassword() );
-
- return proxyInfo;
- }
-
- /**
- * Log an error, adding the stacktrace only is debug is enabled.
- *
- * @param message the error message
- * @param e the cause
- */
- private void logError( String message, Exception e )
- {
- if ( log.isDebugEnabled() )
- {
- log.error( message, e );
- }
- else
- {
- log.error( message );
- }
- }
}
diff --git a/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java b/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java
index 327ac79..87a2f93 100644
--- a/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java
+++ b/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java
@@ -23,8 +23,6 @@ import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
-import java.lang.reflect.InvocationTargetException;
-import java.net.URL;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.FieldPosition;
@@ -44,7 +42,6 @@ import java.util.TreeSet;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.doxia.sink.Sink;
@@ -61,7 +58,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.RepositoryUtils;
-import org.apache.maven.settings.Settings;
import org.apache.maven.shared.dependency.graph.DependencyNode;
import org.apache.maven.shared.jar.JarData;
import org.codehaus.plexus.i18n.I18N;
@@ -95,8 +91,6 @@ public class DependenciesRenderer
private final Log log;
- private final Settings settings;
-
private final RepositoryUtils repoUtils;
/** Used to format file length values */
@@ -160,7 +154,6 @@ public class DependenciesRenderer
* @param locale {@link Locale}
* @param i18n {@link I18N}
* @param log {@link Log}
- * @param settings {@link Settings}
* @param dependencies {@link Dependencies}
* @param dependencyTreeNode {@link DependencyNode}
* @param config {@link DependenciesReportConfiguration}
@@ -170,7 +163,7 @@ public class DependenciesRenderer
* @param remoteRepositories {@link ArtifactRepository}
* @param localRepository {@link ArtifactRepository}
*/
- public DependenciesRenderer( Sink sink, Locale locale, I18N i18n, Log log, Settings settings,
+ public DependenciesRenderer( Sink sink, Locale locale, I18N i18n, Log log,
Dependencies dependencies, DependencyNode dependencyTreeNode,
DependenciesReportConfiguration config, RepositoryUtils repoUtils,
ArtifactFactory artifactFactory, MavenProjectBuilder mavenProjectBuilder,
@@ -179,7 +172,6 @@ public class DependenciesRenderer
super( sink, i18n, locale );
this.log = log;
- this.settings = settings;
this.dependencies = dependencies;
this.dependencyNode = dependencyTreeNode;
this.repoUtils = repoUtils;
@@ -239,12 +231,6 @@ public class DependenciesRenderer
// === Section: Dependency File Details.
renderSectionDependencyFileDetails();
}
-
- if ( configuration.getDependencyLocationsEnabled() )
- {
- // === Section: Dependency Repository Locations.
- renderSectionDependencyRepositoryLocations();
- }
}
// ----------------------------------------------------------------------
@@ -732,94 +718,6 @@ public class DependenciesRenderer
"", "", "" } );
}
- private void populateRepositoryMap( Map<String, ArtifactRepository> repos, List<ArtifactRepository> rowRepos )
- {
- for ( ArtifactRepository repo : rowRepos )
- {
- repos.put( repo.getId(), repo );
- }
- }
-
- private void blacklistRepositoryMap( Map<String, ArtifactRepository> repos, List<String> repoUrlBlackListed )
- {
- for ( ArtifactRepository repo : repos.values() )
- {
- // ping repo
- if ( repo.isBlacklisted() )
- {
- repoUrlBlackListed.add( repo.getUrl() );
- }
- else
- {
- if ( repoUrlBlackListed.contains( repo.getUrl() ) )
- {
- repo.setBlacklisted( true );
- }
- else
- {
- try
- {
- URL repoUrl = new URL( repo.getUrl() );
- if ( ProjectInfoReportUtils.getContent( repoUrl, settings ) == null )
- {
- log.warn( "The repository url '" + repoUrl + "' has no stream - Repository '"
- + repo.getId() + "' will be blacklisted." );
- repo.setBlacklisted( true );
- repoUrlBlackListed.add( repo.getUrl() );
- }
- }
- catch ( IOException e )
- {
- log.warn( "The repository url '" + repo.getUrl() + "' is invalid - Repository '" + repo.getId()
- + "' will be blacklisted." );
- repo.setBlacklisted( true );
- repoUrlBlackListed.add( repo.getUrl() );
- }
- }
- }
- }
- }
-
- @SuppressWarnings( "unchecked" )
- private void renderSectionDependencyRepositoryLocations()
- {
- startSection( getI18nString( "repo.locations.title" ) );
-
- // Collect Alphabetical Dependencies
- List<Artifact> alldeps = dependencies.getAllDependencies();
- Collections.sort( alldeps, getArtifactComparator() );
-
- // Collect Repositories
- Map<String, ArtifactRepository> repoMap = new HashMap<String, ArtifactRepository>();
-
- populateRepositoryMap( repoMap, repoUtils.getRemoteArtifactRepositories() );
- for ( Artifact artifact : alldeps )
- {
- try
- {
- MavenProject artifactProject = repoUtils.getMavenProjectFromRepository( artifact );
- populateRepositoryMap( repoMap, artifactProject.getRemoteArtifactRepositories() );
- }
- catch ( ProjectBuildingException e )
- {
- log.warn( "Unable to create Maven project from repository for artifact " + artifact.getId(), e );
- }
- }
-
- List<String> repoUrlBlackListed = new ArrayList<String>();
- blacklistRepositoryMap( repoMap, repoUrlBlackListed );
-
- // Render Repository List
-
- printRepositories( repoMap, repoUrlBlackListed );
-
- // Render Artifacts locations
-
- printArtifactsLocations( repoMap, repoUrlBlackListed, alldeps );
-
- endSection();
- }
-
private void renderSectionDependencyLicenseListing()
{
startSection( getI18nString( "graph.tables.licenses" ) );
@@ -1161,102 +1059,6 @@ public class DependenciesRenderer
}
}
- private void printRepositories( Map<String, ArtifactRepository> repoMap, List<String> repoUrlBlackListed )
- {
- // i18n
- String repoid = getI18nString( "repo.locations.column.repoid" );
- String url = getI18nString( "repo.locations.column.url" );
- String release = getI18nString( "repo.locations.column.release" );
- String snapshot = getI18nString( "repo.locations.column.snapshot" );
- String blacklisted = getI18nString( "repo.locations.column.blacklisted" );
- String releaseEnabled = getI18nString( "repo.locations.cell.release.enabled" );
- String releaseDisabled = getI18nString( "repo.locations.cell.release.disabled" );
- String snapshotEnabled = getI18nString( "repo.locations.cell.snapshot.enabled" );
- String snapshotDisabled = getI18nString( "repo.locations.cell.snapshot.disabled" );
- String blacklistedEnabled = getI18nString( "repo.locations.cell.blacklisted.enabled" );
- String blacklistedDisabled = getI18nString( "repo.locations.cell.blacklisted.disabled" );
-
- // Table header
-
- String[] tableHeader;
- int[] justificationRepo;
- if ( repoUrlBlackListed.isEmpty() )
- {
- tableHeader = new String[] { repoid, url, release, snapshot };
- justificationRepo =
- new int[] { Sink.JUSTIFY_LEFT, Sink.JUSTIFY_LEFT, Sink.JUSTIFY_CENTER, Sink.JUSTIFY_CENTER };
- }
- else
- {
- tableHeader = new String[] { repoid, url, release, snapshot, blacklisted };
- justificationRepo =
- new int[] { Sink.JUSTIFY_LEFT, Sink.JUSTIFY_LEFT, Sink.JUSTIFY_CENTER, Sink.JUSTIFY_CENTER,
- Sink.JUSTIFY_CENTER };
- }
-
- startTable( justificationRepo, false );
-
- tableHeader( tableHeader );
-
- // Table rows
-
- for ( ArtifactRepository repo : repoMap.values() )
- {
- List<ArtifactRepository> mirroredRepos = getMirroredRepositories( repo );
-
- sink.tableRow();
- sink.tableCell();
- boolean addLineBreak = false;
- for ( ArtifactRepository r : mirroredRepos )
- {
- if ( addLineBreak )
- {
- sink.lineBreak();
- }
- addLineBreak = true;
- sink.text( r.getId() );
- }
- sink.tableCell_();
-
- sink.tableCell();
- addLineBreak = false;
- for ( ArtifactRepository r : mirroredRepos )
- {
- if ( addLineBreak )
- {
- sink.lineBreak();
- }
- addLineBreak = true;
- if ( repo.isBlacklisted() )
- {
- sink.text( r.getUrl() );
- }
- else
- {
- sink.link( r.getUrl() );
- sink.text( r.getUrl() );
- sink.link_();
- }
- }
- sink.tableCell_();
-
- ArtifactRepositoryPolicy releasePolicy = repo.getReleases();
- tableCell( releasePolicy.isEnabled() ? releaseEnabled : releaseDisabled );
-
- ArtifactRepositoryPolicy snapshotPolicy = repo.getSnapshots();
- tableCell( snapshotPolicy.isEnabled() ? snapshotEnabled : snapshotDisabled );
-
- if ( !repoUrlBlackListed.isEmpty() )
- {
- tableCell( repoUrlBlackListed.contains( repo.getUrl() ) ? blacklistedEnabled : blacklistedDisabled );
- }
-
- sink.tableRow_();
- }
-
- endTable();
- }
-
/**
* Resolves all given artifacts with {@link RepositoryUtils}.
*
@@ -1308,191 +1110,6 @@ public class DependenciesRenderer
}
}
- private Object invoke( Object object, String method )
- throws IllegalAccessException, InvocationTargetException, NoSuchMethodException
- {
- return object.getClass().getMethod( method ).invoke( object );
- }
-
- /**
- * Get the repos that can be hidden behind a mirror.
- *
- * @param repo the repo used to download artifacts
- * @return the mirrored repositories or a singleton with actual repo if it is not a mirror
- */
- private List<ArtifactRepository> getMirroredRepositories( ArtifactRepository repo )
- {
- try
- {
- @SuppressWarnings( "unchecked" )
- List<ArtifactRepository> mirroredRepos =
- (List<ArtifactRepository>) invoke( repo, "getMirroredRepositories" );
-
- if ( ( mirroredRepos != null ) && ( !mirroredRepos.isEmpty() ) )
- {
- return mirroredRepos;
- }
- }
- catch ( IllegalArgumentException e )
- {
- // ignore: API not available before Maven 3.0.3
- }
- catch ( SecurityException e )
- {
- // ignore: API not available before Maven 3.0.3
- }
- catch ( IllegalAccessException e )
- {
- // ignore: API not available before Maven 3.0.3
- }
- catch ( InvocationTargetException e )
- {
- // ignore: API not available before Maven 3.0.3
- }
- catch ( NoSuchMethodException e )
- {
- // ignore: API not available before Maven 3.0.3
- }
- // before Maven 3.0.3, we can't do anything: Maven 3.0-alpha to 3.0.2 will show the mirror
- return Collections.singletonList( repo );
- }
-
- private void printArtifactsLocations( Map<String, ArtifactRepository> repoMap, List<String> repoUrlBlackListed,
- List<Artifact> alldeps )
- {
- // i18n
- String artifact = getI18nString( "repo.locations.column.artifact" );
-
- sink.paragraph();
- sink.text( getI18nString( "repo.locations.artifact.breakdown" ) );
- sink.paragraph_();
-
- List<String> repoIdList = new ArrayList<String>();
- // removed blacklisted repo
- for ( Map.Entry<String, ArtifactRepository> entry : repoMap.entrySet() )
- {
- String repokey = entry.getKey();
- ArtifactRepository repo = entry.getValue();
- if ( !( repo.isBlacklisted() || repoUrlBlackListed.contains( repo.getUrl() ) ) )
- {
- repoIdList.add( repokey );
- }
- }
-
- String[] tableHeader = new String[repoIdList.size() + 1];
- int[] justificationRepo = new int[repoIdList.size() + 1];
-
- tableHeader[0] = artifact;
- justificationRepo[0] = Sink.JUSTIFY_LEFT;
-
- int idnum = 1;
- for ( String id : repoIdList )
- {
- tableHeader[idnum] = id;
- justificationRepo[idnum] = Sink.JUSTIFY_CENTER;
- idnum++;
- }
-
- Map<String, Integer> totalByRepo = new HashMap<String, Integer>();
- TotalCell totaldeps = new TotalCell( DEFAULT_DECIMAL_FORMAT );
-
- startTable( justificationRepo, false );
-
- tableHeader( tableHeader );
-
- for ( Artifact dependency : alldeps )
- {
- totaldeps.incrementTotal( dependency.getScope() );
-
- sink.tableRow();
-
- tableCell( dependency.getId() );
-
- if ( Artifact.SCOPE_SYSTEM.equals( dependency.getScope() ) )
- {
- for ( @SuppressWarnings( "unused" )
- String repoId : repoIdList )
- {
- tableCell( "-" );
- }
- }
- else
- {
- for ( String repokey : repoIdList )
- {
- ArtifactRepository repo = repoMap.get( repokey );
-
- String depUrl = repoUtils.getDependencyUrlFromRepository( dependency, repo );
-
- Integer old = totalByRepo.get( repokey );
- if ( old == null )
- {
- old = 0;
- totalByRepo.put( repokey, old );
- }
-
- boolean dependencyExists = false;
- // check snapshots in snapshots repository only and releases in release repositories...
- if ( ( dependency.isSnapshot() && repo.getSnapshots().isEnabled() )
- || ( !dependency.isSnapshot() && repo.getReleases().isEnabled() ) )
- {
- dependencyExists = repoUtils.dependencyExistsInRepo( repo, dependency );
- }
-
- if ( dependencyExists )
- {
- sink.tableCell();
- if ( StringUtils.isNotEmpty( depUrl ) )
- {
- sink.link( depUrl );
- }
- else
- {
- sink.text( depUrl );
- }
-
- sink.figure();
- sink.figureCaption();
- // TODO Translate me!
- sink.text( "Found at " + repo.getUrl() );
- sink.figureCaption_();
- sink.figureGraphics( "images/icon_success_sml.gif" );
- sink.figure_();
-
- sink.link_();
- sink.tableCell_();
-
- totalByRepo.put( repokey, old.intValue() + 1 );
- }
- else
- {
- tableCell( "-" );
- }
- }
- }
-
- sink.tableRow_();
- }
-
- // Total row
-
- // reused key
- tableHeader[0] = getI18nString( "file.details.total" );
- tableHeader( tableHeader );
- String[] totalRow = new String[repoIdList.size() + 1];
- totalRow[0] = totaldeps.toString();
- idnum = 1;
- for ( String repokey : repoIdList )
- {
- Integer deps = totalByRepo.get( repokey );
- totalRow[idnum++] = deps != null ? deps.toString() : "0";
- }
-
- tableRow( totalRow );
-
- endTable();
- }
-
/**
* @param artifacts not null
* @return <code>true</code> if one artifact in the list has a classifier, <code>false</code> otherwise.
--
To stop receiving notification emails like this one, please contact
rfscholte@apache.org.