You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2020/03/08 20:36:12 UTC

[maven-site-plugin] branch MSITE-845 updated (adde31a -> d7d5c94)

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

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


    omit adde31a  [MSITE-845] Drop Maven 2 support
     add e802657  [maven-release-plugin] prepare release maven-site-plugin-3.9.0
     add 048b89b  [maven-release-plugin] prepare for next development iteration
     new d7d5c94  [MSITE-845] Drop Maven 2 support

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (adde31a)
            \
             N -- N -- N   refs/heads/MSITE-845 (d7d5c94)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

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.


Summary of changes:
 pom.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


[maven-site-plugin] 01/01: [MSITE-845] Drop Maven 2 support

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

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

commit d7d5c94644873c56ca95f2223045c2f8d88f8c79
Author: tibordigana <ti...@apache.org>
AuthorDate: Mon Jul 8 14:20:47 2019 +0200

    [MSITE-845] Drop Maven 2 support
---
 src/it/projects/MSITE-265/pom.xml                  |   2 +-
 src/it/projects/MSITE-265/verify.bsh               |   4 +-
 src/it/projects/MSITE-609/pom.xml                  |   2 +-
 src/it/projects/MSITE-609/verify.bsh               |   4 +-
 src/it/projects/it-plugin-test/pom.xml             |   9 +-
 src/it/projects/new-configuration/pom.xml          |   2 +-
 src/it/projects/site-attach-descriptor/pom.xml     |   2 +-
 src/it/projects/site-deploy/pom.xml                |   2 +-
 src/it/projects/site-deploy/verify.bsh             |   4 +-
 src/it/projects/site-jar/pom.xml                   |   2 +-
 .../maven/plugins/site/AbstractSiteMojo.java       |   9 --
 .../plugins/site/deploy/AbstractDeployMojo.java    | 149 +++------------------
 .../site/render/AbstractSiteRenderingMojo.java     |  45 +++----
 13 files changed, 45 insertions(+), 191 deletions(-)

diff --git a/src/it/projects/MSITE-265/pom.xml b/src/it/projects/MSITE-265/pom.xml
index a4e0965..77dbc89 100644
--- a/src/it/projects/MSITE-265/pom.xml
+++ b/src/it/projects/MSITE-265/pom.xml
@@ -32,7 +32,7 @@ under the License.
   <name>MSITE-265 It</name>
 
   <properties>
-    <currentVersion>2.0.7</currentVersion>
+    <currentVersion>3.0.5</currentVersion>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>
 
diff --git a/src/it/projects/MSITE-265/verify.bsh b/src/it/projects/MSITE-265/verify.bsh
index e45d763..e460309 100644
--- a/src/it/projects/MSITE-265/verify.bsh
+++ b/src/it/projects/MSITE-265/verify.bsh
@@ -65,10 +65,10 @@ try
         return false;
     }
     String downloadContent = FileUtils.fileRead( download, "UTF-8" );
-    int indexOf = downloadContent.indexOf( "Download Maven 2.0.7" );
+    int indexOf = downloadContent.indexOf( "Download Maven 3.0.5" );
     if ( indexOf < 0 )
     {
-        System.err.println( "download.html doesn't contain Download Maven 2.0.7" );
+        System.err.println( "download.html doesn't contain Download Maven 3.0.5" );
         return false;
     }
     if ( downloadContent.indexOf( "charset=UTF-8" ) < 0 )
diff --git a/src/it/projects/MSITE-609/pom.xml b/src/it/projects/MSITE-609/pom.xml
index 69ad977..214fcc5 100644
--- a/src/it/projects/MSITE-609/pom.xml
+++ b/src/it/projects/MSITE-609/pom.xml
@@ -32,7 +32,7 @@ under the License.
   <name>MSITE-609 IT</name>
 
   <properties>
-    <currentVersion>2.0.7</currentVersion>
+    <currentVersion>3.0.5</currentVersion>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>
 
diff --git a/src/it/projects/MSITE-609/verify.bsh b/src/it/projects/MSITE-609/verify.bsh
index 3488815..0b822a8 100644
--- a/src/it/projects/MSITE-609/verify.bsh
+++ b/src/it/projects/MSITE-609/verify.bsh
@@ -65,10 +65,10 @@ try
         return false;
     }
     String downloadContent = FileUtils.fileRead( download, "UTF-8" );
-    int indexOf = downloadContent.indexOf( "Download Maven 2.0.7" );
+    int indexOf = downloadContent.indexOf( "Download Maven 3.0.5" );
     if ( indexOf < 0 )
     {
-        System.err.println( "download.html doesn't contain Download Maven 2.0.7" );
+        System.err.println( "download.html doesn't contain Download Maven 3.0.5" );
         return false;
     }
 }
diff --git a/src/it/projects/it-plugin-test/pom.xml b/src/it/projects/it-plugin-test/pom.xml
index 68c8b98..550019e 100644
--- a/src/it/projects/it-plugin-test/pom.xml
+++ b/src/it/projects/it-plugin-test/pom.xml
@@ -35,7 +35,7 @@ under the License.
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-plugin-api</artifactId>
-      <version>2.2.1</version>
+      <version>3.0</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
@@ -52,13 +52,6 @@ under the License.
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-site-plugin</artifactId>
           <version>@project.version@</version>
-          <dependencies><!-- TODO remove when prerequisite is Java 7 -->
-            <dependency>
-              <groupId>org.apache.maven.doxia</groupId>
-              <artifactId>doxia-module-markdown</artifactId>
-              <version>1.7</version>
-            </dependency>
-          </dependencies>
         </plugin>
       </plugins>
     </pluginManagement>
diff --git a/src/it/projects/new-configuration/pom.xml b/src/it/projects/new-configuration/pom.xml
index a37af45..5c552a3 100644
--- a/src/it/projects/new-configuration/pom.xml
+++ b/src/it/projects/new-configuration/pom.xml
@@ -35,7 +35,7 @@ under the License.
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-plugin-api</artifactId>
-      <version>2.2.1</version>
+      <version>3.0</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
diff --git a/src/it/projects/site-attach-descriptor/pom.xml b/src/it/projects/site-attach-descriptor/pom.xml
index b0321f1..db1475c 100644
--- a/src/it/projects/site-attach-descriptor/pom.xml
+++ b/src/it/projects/site-attach-descriptor/pom.xml
@@ -37,7 +37,7 @@ under the License.
   </modules>
 
   <properties>
-    <currentVersion>2.0.7</currentVersion>
+    <currentVersion>3.0.5</currentVersion>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>
 
diff --git a/src/it/projects/site-deploy/pom.xml b/src/it/projects/site-deploy/pom.xml
index 874ff53..99255c4 100644
--- a/src/it/projects/site-deploy/pom.xml
+++ b/src/it/projects/site-deploy/pom.xml
@@ -32,7 +32,7 @@ under the License.
   <name>site-deploy IT</name>
 
   <properties>
-    <currentVersion>2.0.7</currentVersion>
+    <currentVersion>3.0.5</currentVersion>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>
 
diff --git a/src/it/projects/site-deploy/verify.bsh b/src/it/projects/site-deploy/verify.bsh
index 3488815..0b822a8 100644
--- a/src/it/projects/site-deploy/verify.bsh
+++ b/src/it/projects/site-deploy/verify.bsh
@@ -65,10 +65,10 @@ try
         return false;
     }
     String downloadContent = FileUtils.fileRead( download, "UTF-8" );
-    int indexOf = downloadContent.indexOf( "Download Maven 2.0.7" );
+    int indexOf = downloadContent.indexOf( "Download Maven 3.0.5" );
     if ( indexOf < 0 )
     {
-        System.err.println( "download.html doesn't contain Download Maven 2.0.7" );
+        System.err.println( "download.html doesn't contain Download Maven 3.0.5" );
         return false;
     }
 }
diff --git a/src/it/projects/site-jar/pom.xml b/src/it/projects/site-jar/pom.xml
index d76a8ea..d1fa668 100644
--- a/src/it/projects/site-jar/pom.xml
+++ b/src/it/projects/site-jar/pom.xml
@@ -32,7 +32,7 @@ under the License.
   <name>site-jar IT</name>
 
   <properties>
-    <currentVersion>2.0.7</currentVersion>
+    <currentVersion>3.0.5</currentVersion>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.build.outputTimestamp>2019-11-02T17:48:12Z</project.build.outputTimestamp>
   </properties>
diff --git a/src/main/java/org/apache/maven/plugins/site/AbstractSiteMojo.java b/src/main/java/org/apache/maven/plugins/site/AbstractSiteMojo.java
index 9886634..b759cfd 100644
--- a/src/main/java/org/apache/maven/plugins/site/AbstractSiteMojo.java
+++ b/src/main/java/org/apache/maven/plugins/site/AbstractSiteMojo.java
@@ -20,7 +20,6 @@ package org.apache.maven.plugins.site;
  */
 
 import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.versioning.ComparableVersion;
 import org.apache.maven.doxia.tools.SiteTool;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugins.annotations.Component;
@@ -89,14 +88,6 @@ public abstract class AbstractSiteMojo
     @Parameter( defaultValue = "${reactorProjects}", required = true, readonly = true )
     protected List<MavenProject> reactorProjects;
 
-    /**
-     * Check the current Maven version to see if it's Maven 3.0 or newer.
-     */
-    protected static boolean isMaven3OrMore()
-    {
-        return new ComparableVersion( getMavenVersion() ).compareTo( new ComparableVersion( "3.0" ) ) >= 0;
-    }
-
     protected static String getMavenVersion()
     {
         // This relies on the fact that MavenProject is the in core classloader
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..4e2c5ec 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;
@@ -306,36 +304,10 @@ public abstract class AbstractDeployMojo
         try
         {
             configureWagon( wagon, repository.getId(), settings, container, getLog() );
-        }
-        catch ( TransferFailedException e )
-        {
-            throw new MojoExecutionException( "Unable to configure Wagon: '" + repository.getProtocol() + "'", e );
-        }
 
-        try
-        {
-            final ProxyInfo proxyInfo;
-            if ( !isMaven3OrMore() )
-            {
-                proxyInfo = getProxyInfo( repository, wagonManager );
-            }
-            else
-            {
-                try
-                {
-                    // The cast does not make sense, however I get when compiled with maven 3.5.4:
-                    // error: incompatible types: Object cannot be converted to SettingsDecrypter
-                    // The cast is not necessary with maven 3.3.9
-                    SettingsDecrypter settingsDecrypter =
-                            (SettingsDecrypter) container.lookup( SettingsDecrypter.class );
+            SettingsDecrypter settingsDecrypter = container.lookup( SettingsDecrypter.class );
 
-                    proxyInfo = getProxy( repository, settingsDecrypter );
-                }
-                catch ( ComponentLookupException cle )
-                {
-                    throw new MojoExecutionException( "Unable to lookup SettingsDecrypter: " + cle.getMessage(), cle );
-                }
-            }
+            ProxyInfo proxyInfo = getProxy( repository, settingsDecrypter );
 
             push( directory, repository, wagon, proxyInfo, getLocales(), getDeployModuleDirectory() );
 
@@ -344,6 +316,14 @@ public abstract class AbstractDeployMojo
                 chmod( wagon, repository, chmodOptions, chmodMode );
             }
         }
+        catch ( ComponentLookupException cle )
+        {
+            throw new MojoExecutionException( "Unable to lookup SettingsDecrypter: " + cle.getMessage(), cle );
+        }
+        catch ( TransferFailedException e )
+        {
+            throw new MojoExecutionException( "Unable to configure Wagon: '" + repository.getProtocol() + "'", e );
+        }
         finally
         {
             try
@@ -496,75 +476,14 @@ public abstract class AbstractDeployMojo
     }
 
     /**
+     * Get proxy information for Maven 3.
      * <p>
      * Get the <code>ProxyInfo</code> of the proxy associated with the <code>host</code>
      * 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">
-     * 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.
-     * </p>
-     *
-     * @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 )
-    {
-        ProxyInfo proxyInfo = wagonManager.getProxy( repository.getProtocol() );
-
-        if ( proxyInfo == null )
-        {
-            return null;
-        }
-
-        String host = repository.getHost();
-        String nonProxyHostsAsString = proxyInfo.getNonProxyHosts();
-        for ( String nonProxyHost : StringUtils.split( nonProxyHostsAsString, ",;|" ) )
-        {
-            if ( StringUtils.contains( nonProxyHost, "*" ) )
-            {
-                // Handle wildcard at the end, beginning or middle of the nonProxyHost
-                final int pos = nonProxyHost.indexOf( '*' );
-                String nonProxyHostPrefix = nonProxyHost.substring( 0, pos );
-                String nonProxyHostSuffix = nonProxyHost.substring( pos + 1 );
-                // prefix*
-                if ( StringUtils.isNotEmpty( nonProxyHostPrefix ) && host.startsWith( nonProxyHostPrefix )
-                    && StringUtils.isEmpty( nonProxyHostSuffix ) )
-                {
-                    return null;
-                }
-                // *suffix
-                if ( StringUtils.isEmpty( nonProxyHostPrefix ) && StringUtils.isNotEmpty( nonProxyHostSuffix )
-                    && host.endsWith( nonProxyHostSuffix ) )
-                {
-                    return null;
-                }
-                // prefix*suffix
-                if ( StringUtils.isNotEmpty( nonProxyHostPrefix ) && host.startsWith( nonProxyHostPrefix )
-                    && StringUtils.isNotEmpty( nonProxyHostSuffix ) && host.endsWith( nonProxyHostSuffix ) )
-                {
-                    return null;
-                }
-            }
-            else if ( host.equals( nonProxyHost ) )
-            {
-                return null;
-            }
-        }
-        return proxyInfo;
-    }
-
-    /**
-     * Get proxy information for Maven 3.
      *
-     * @param repository
-     * @param settingsDecrypter
-     * @return
+     * @param repository        the Repository to extract the ProxyInfo from.
+     * @param settingsDecrypter settings password decrypter.
+     * @return a ProxyInfo object instantiated or <code>null</code> if no matching proxy is found.
      */
     private ProxyInfo getProxy( Repository repository, SettingsDecrypter settingsDecrypter )
     {
@@ -593,13 +512,13 @@ public abstract class AbstractDeployMojo
                 {
                     getLog().warn( "fail to build URL with " + url );
                 }
-
             }
         }
         else
         {
             getLog().debug( "getProxy 'protocol': " + protocol );
         }
+
         if ( mavenSession != null && protocol != null )
         {
             MavenExecutionRequest request = mavenSession.getRequest();
@@ -677,15 +596,8 @@ public abstract class AbstractDeployMojo
                 {
                     componentConfigurator =
                         (ComponentConfigurator) container.lookup( ComponentConfigurator.ROLE, "basic" );
-                    if ( isMaven3OrMore() )
-                    {
-                        componentConfigurator.configureComponent( wagon, plexusConf,
-                                                                  container.getContainerRealm() );
-                    }
-                    else
-                    {
-                        configureWagonWithMaven2( componentConfigurator, wagon, plexusConf, container );
-                    }
+
+                    componentConfigurator.configureComponent( wagon, plexusConf, container.getContainerRealm() );
                 }
                 catch ( final ComponentLookupException e )
                 {
@@ -716,33 +628,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..49c5e47 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,49 +230,34 @@ public abstract class AbstractSiteRenderingMojo
     protected List<MavenReportExecution> getReports()
         throws MojoExecutionException
     {
-        final List<MavenReportExecution> allReports;
-        if ( isMaven3OrMore() )
+        try
         {
-            // Maven 3
+            MavenReportExecutor mavenReportExecutor = container.lookup( MavenReportExecutor.class );
+
             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 );
-            }
+            List<MavenReportExecution> allReports = mavenReportExecutor.buildMavenReports( mavenReportExecutorRequest );
 
-            allReports = mavenReportExecutor.buildMavenReports( mavenReportExecutorRequest );
-        }
-        else
-        {
-            // Maven 2
-            allReports = new ArrayList<>( reports.size() );
-            for ( MavenReport report : reports )
+            // filter out reports that can't be generated
+            // todo Lambda Java 1.8
+            List<MavenReportExecution> reportExecutions = new ArrayList<>( allReports.size() );
+            for ( MavenReportExecution exec : allReports )
             {
-                allReports.add( new MavenReportExecution( report ) );
+                if ( exec.canGenerateReport() )
+                {
+                    reportExecutions.add( exec );
+                }
             }
+            return reportExecutions;
         }
-
-        // filter out reports that can't be generated
-        // todo Lambda Java 1.8
-        List<MavenReportExecution> reportExecutions = new ArrayList<>( allReports.size() );
-        for ( MavenReportExecution exec : allReports )
+        catch ( ComponentLookupException e )
         {
-            if ( exec.canGenerateReport() )
-            {
-                reportExecutions.add( exec );
-            }
+            throw new MojoExecutionException( "could not get MavenReportExecutor component", e );
         }
-        return reportExecutions;
     }
 
     /**