You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by el...@apache.org on 2020/05/24 11:45:51 UTC

[maven-site-plugin] branch plex created (now 8f8d185)

This is an automated email from the ASF dual-hosted git repository.

elharo pushed a change to branch plex
in repository https://gitbox.apache.org/repos/asf/maven-site-plugin.git.


      at 8f8d185  -a

This branch includes the following new commits:

     new 8f8d185  -a

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[maven-site-plugin] 01/01: -a

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elharo pushed a commit to branch plex
in repository https://gitbox.apache.org/repos/asf/maven-site-plugin.git

commit 8f8d1857a5f7dd47ac11dc62cc7b057775b6c78f
Author: Elliotte Rusty Harold <el...@ibiblio.org>
AuthorDate: Sun May 24 07:45:33 2020 -0400

    -a
    
    remove Maven 2 support
---
 .../plugins/site/deploy/AbstractDeployMojo.java    | 58 +++-------------------
 .../site/render/AbstractSiteRenderingMojo.java     | 43 ++++++----------
 .../site/render/ReportDocumentRenderer.java        | 49 ++----------------
 3 files changed, 24 insertions(+), 126 deletions(-)

diff --git a/src/main/java/org/apache/maven/plugins/site/deploy/AbstractDeployMojo.java b/src/main/java/org/apache/maven/plugins/site/deploy/AbstractDeployMojo.java
index ac262cd..99748c9 100644
--- a/src/main/java/org/apache/maven/plugins/site/deploy/AbstractDeployMojo.java
+++ b/src/main/java/org/apache/maven/plugins/site/deploy/AbstractDeployMojo.java
@@ -51,7 +51,6 @@ 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.classworlds.ClassRealm;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.component.configurator.ComponentConfigurationException;
@@ -67,7 +66,6 @@ import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 
 import java.io.File;
-import java.lang.reflect.Method;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.List;
@@ -501,16 +499,16 @@ public abstract class AbstractDeployMojo
      * and the <code>protocol</code> of the given <code>repository</code>.
      * </p>
      * <p>
-     * Extract from <a href="http://java.sun.com/j2se/1.5.0/docs/guide/net/properties.html">
+     * Extract from <a href="https://docs.oracle.com/javase/1.5.0/docs/guide/net/properties.html">
      * J2SE Doc : Networking Properties - nonProxyHosts</a> : "The value can be a list of hosts,
      * each separated by a |, and in addition a wildcard character (*) can be used for matching"
      * </p>
      * <p>
-     * Defensively support for comma (",") and semi colon (";") in addition to pipe ("|") as separator.
+     * Defensively support comma (",") and semi colon (";") in addition to pipe ("|") as separator.
      * </p>
      *
-     * @param repository   the Repository to extract the ProxyInfo from.
-     * @param wagonManager the WagonManager used to connect to the Repository.
+     * @param repository   the Repository to extract the ProxyInfo from
+     * @param wagonManager the WagonManager used to connect to the Repository
      * @return a ProxyInfo object instantiated or <code>null</code> if no matching proxy is found
      */
     public static ProxyInfo getProxyInfo( Repository repository, WagonManager wagonManager )
@@ -560,11 +558,7 @@ public abstract class AbstractDeployMojo
     }
 
     /**
-     * Get proxy information for Maven 3.
-     *
-     * @param repository
-     * @param settingsDecrypter
-     * @return
+     * Get proxy information.
      */
     private ProxyInfo getProxy( Repository repository, SettingsDecrypter settingsDecrypter )
     {
@@ -646,12 +640,6 @@ public abstract class AbstractDeployMojo
     /**
      * Configure the Wagon with the information from serverConfigurationMap ( which comes from settings.xml )
      *
-     * @param wagon
-     * @param repositoryId
-     * @param settings
-     * @param container
-     * @param log
-     * @throws TransferFailedException
      * @todo Remove when {@link WagonManager#getWagon(Repository) is available}. It's available in Maven 2.0.5.
      */
     private static void configureWagon( Wagon wagon, String repositoryId, Settings settings, PlexusContainer container,
@@ -677,15 +665,8 @@ public abstract class AbstractDeployMojo
                 {
                     componentConfigurator =
                         (ComponentConfigurator) container.lookup( ComponentConfigurator.ROLE, "basic" );
-                    if ( isMaven3OrMore() )
-                    {
-                        componentConfigurator.configureComponent( wagon, plexusConf,
+                    componentConfigurator.configureComponent( wagon, plexusConf,
                                                                   container.getContainerRealm() );
-                    }
-                    else
-                    {
-                        configureWagonWithMaven2( componentConfigurator, wagon, plexusConf, container );
-                    }
                 }
                 catch ( final ComponentLookupException e )
                 {
@@ -716,33 +697,6 @@ public abstract class AbstractDeployMojo
         }
     }
 
-    private static void configureWagonWithMaven2( ComponentConfigurator componentConfigurator, Wagon wagon,
-                                                  PlexusConfiguration plexusConf, PlexusContainer container )
-        throws ComponentConfigurationException
-    {
-        // in Maven 2.x   :
-        // * container.getContainerRealm() -> org.codehaus.classworlds.ClassRealm
-        // * componentConfiguration 3rd param is org.codehaus.classworlds.ClassRealm
-        // so use some reflection see MSITE-609
-        try
-        {
-            Method methodContainerRealm = container.getClass().getMethod( "getContainerRealm" );
-            ClassRealm realm = (ClassRealm) methodContainerRealm.invoke( container );
-
-            Method methodConfigure = componentConfigurator.getClass().getMethod( "configureComponent",
-                                                                                 new Class[]{ Object.class,
-                                                                                     PlexusConfiguration.class,
-                                                                                     ClassRealm.class } );
-
-            methodConfigure.invoke( componentConfigurator, wagon, plexusConf, realm );
-        }
-        catch ( Exception e )
-        {
-            throw new ComponentConfigurationException(
-                "Failed to configure wagon component for a Maven2 use " + e.getMessage(), e );
-        }
-    }
-
     /**
      * {@inheritDoc}
      */
diff --git a/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java b/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java
index 7336d0f..5b62aa6 100644
--- a/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java
+++ b/src/main/java/org/apache/maven/plugins/site/render/AbstractSiteRenderingMojo.java
@@ -230,40 +230,25 @@ public abstract class AbstractSiteRenderingMojo
     protected List<MavenReportExecution> getReports()
         throws MojoExecutionException
     {
-        final List<MavenReportExecution> allReports;
-        if ( isMaven3OrMore() )
+        MavenReportExecutorRequest mavenReportExecutorRequest = new MavenReportExecutorRequest();
+        mavenReportExecutorRequest.setLocalRepository( localRepository );
+        mavenReportExecutorRequest.setMavenSession( mavenSession );
+        mavenReportExecutorRequest.setProject( project );
+        mavenReportExecutorRequest.setReportPlugins( getReportingPlugins() );
+
+        MavenReportExecutor mavenReportExecutor;
+        try
         {
-            // Maven 3
-            MavenReportExecutorRequest mavenReportExecutorRequest = new MavenReportExecutorRequest();
-            mavenReportExecutorRequest.setLocalRepository( localRepository );
-            mavenReportExecutorRequest.setMavenSession( mavenSession );
-            mavenReportExecutorRequest.setProject( project );
-            mavenReportExecutorRequest.setReportPlugins( getReportingPlugins() );
-
-            MavenReportExecutor mavenReportExecutor;
-            try
-            {
-                mavenReportExecutor = container.lookup( MavenReportExecutor.class );
-            }
-            catch ( ComponentLookupException e )
-            {
-                throw new MojoExecutionException( "could not get MavenReportExecutor component", e );
-            }
-
-            allReports = mavenReportExecutor.buildMavenReports( mavenReportExecutorRequest );
+            mavenReportExecutor = container.lookup( MavenReportExecutor.class );
         }
-        else
+        catch ( ComponentLookupException e )
         {
-            // Maven 2
-            allReports = new ArrayList<>( reports.size() );
-            for ( MavenReport report : reports )
-            {
-                allReports.add( new MavenReportExecution( report ) );
-            }
+            throw new MojoExecutionException( "could not get MavenReportExecutor component", e );
         }
 
+        List<MavenReportExecution>  allReports = mavenReportExecutor.buildMavenReports( mavenReportExecutorRequest );
+
         // filter out reports that can't be generated
-        // todo Lambda Java 1.8
         List<MavenReportExecution> reportExecutions = new ArrayList<>( allReports.size() );
         for ( MavenReportExecution exec : allReports )
         {
@@ -276,7 +261,7 @@ public abstract class AbstractSiteRenderingMojo
     }
 
     /**
-     * Get the report plugins from reporting section, adding if necessary (ni.e. not excluded)
+     * Get the report plugins from reporting section, adding if necessary (i.e. not excluded)
      * default reports (i.e. maven-project-info-reports)
      *
      * @return the effective list of reports
diff --git a/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java b/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java
index dcf6e07..e59a023 100644
--- a/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java
+++ b/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java
@@ -76,57 +76,16 @@ public class ReportDocumentRenderer
 
         this.renderingContext = renderingContext;
 
-        if ( mavenReportExecution.getPlugin() == null )
-        {
-            // Maven 2: report has been prepared in Maven Core, MavenReportExecution contains only the report
-            this.reportMojoInfo = getPluginInfo( report );
-        }
-        else
-        {
-            // Maven 3: full MavenReportExecution prepared by maven-reporting-impl
-            this.reportMojoInfo =
-                mavenReportExecution.getPlugin().getArtifactId() + ':' + mavenReportExecution.getPlugin().getVersion()
-                    + ':' + mavenReportExecution.getGoal();
-        }
+        // full MavenReportExecution prepared by maven-reporting-impl
+        this.reportMojoInfo =
+            mavenReportExecution.getPlugin().getArtifactId() + ':' + mavenReportExecution.getPlugin().getVersion()
+                + ':' + mavenReportExecution.getGoal();
 
         this.classLoader = mavenReportExecution.getClassLoader();
 
         this.log = log;
     }
 
-    /**
-     * Get plugin information from report's Manifest.
-     *
-     * @param report the Maven report
-     * @return plugin information as Specification Title followed by Specification Version if set in Manifest and
-     *         supported by JVM
-     */
-    private String getPluginInfo( MavenReport report )
-    {
-        Package pkg = report.getClass().getPackage();
-
-        if ( pkg != null )
-        {
-            String title = pkg.getSpecificationTitle();
-            String version = pkg.getSpecificationVersion();
-
-            if ( title == null )
-            {
-                return version;
-            }
-            else if ( version == null )
-            {
-                return title;
-            }
-            else
-            {
-                return title + ' ' + version;
-            }
-        }
-
-        return null;
-    }
-
     private static class MultiPageSubSink
         extends SiteRendererSink
     {