You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by cs...@apache.org on 2022/01/31 17:30:15 UTC
[maven-help-plugin] 01/01: [MPH-185] Require Maven 3.6.1
This is an automated email from the ASF dual-hosted git repository.
cstamas pushed a commit to branch drop-legacy
in repository https://gitbox.apache.org/repos/asf/maven-help-plugin.git
commit 049d6d70d9121a8c1cd14eae16ab86bedeb2b814
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Mon Jan 31 18:29:18 2022 +0100
[MPH-185] Require Maven 3.6.1
And drop the hoops and loops, just make it simple.
---
pom.xml | 68 +++----------
.../maven/plugins/help/EffectivePomMojo.java | 112 +--------------------
2 files changed, 17 insertions(+), 163 deletions(-)
diff --git a/pom.xml b/pom.xml
index b1ea5e2..6dd4d43 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,8 +69,8 @@
<properties>
<javaVersion>7</javaVersion>
- <mavenVersion>3.1.1</mavenVersion>
- <mavenPluginToolsVersion>3.6.2</mavenPluginToolsVersion>
+ <mavenVersion>3.6.1</mavenVersion>
+ <mavenPluginToolsVersion>3.6.4</mavenPluginToolsVersion>
<surefire.version>2.22.2</surefire.version>
<project.build.outputTimestamp>2020-04-07T21:04:00Z</project.build.outputTimestamp>
</properties>
@@ -81,26 +81,37 @@
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>${mavenVersion}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>${mavenVersion}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
- <version>3.8.4</version>
+ <version>${mavenVersion}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>${mavenVersion}</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-settings</artifactId>
<version>${mavenVersion}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-settings-builder</artifactId>
+ <version>${mavenVersion}</version>
+ <scope>provided</scope>
</dependency>
<!-- maven plugin tools -->
@@ -191,7 +202,7 @@
<dependency>
<groupId>org.apache.maven.plugin-testing</groupId>
<artifactId>maven-plugin-testing-harness</artifactId>
- <version>3.1.0</version>
+ <version>3.3.0</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -226,10 +237,6 @@
<version>3.1.2</version>
</plugin>
<plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>3.0.0-M3</version>
- </plugin>
- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.3.1</version>
@@ -265,51 +272,6 @@
</execution>
</executions>
</plugin>
- <!-- unpack old Maven core sources for maven.mdo model to be able to generate xpp3-extended-writer when not yet provided by Maven core -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <phase>generate-sources</phase>
- <goals>
- <goal>unpack</goal>
- </goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>org.apache.maven</groupId>
- <artifactId>apache-maven</artifactId>
- <version>${mavenVersion}</version>
- <type>tar.gz</type>
- <classifier>src</classifier>
- <outputDirectory>${project.build.directory}</outputDirectory>
- </artifactItem>
- </artifactItems>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.codehaus.modello</groupId>
- <artifactId>modello-maven-plugin</artifactId>
- <version>1.11</version>
- <configuration>
- <version>4.0.0</version>
- <models>
- <model>target/apache-maven-${mavenVersion}/maven-model/src/main/mdo/maven.mdo</model>
- </models>
- <extendedClassnameSuffix>ExOldSupport</extendedClassnameSuffix><!-- to avoid conflict with class provided by Maven core -->
- </configuration>
- <executions>
- <execution>
- <id>modello</id>
- <goals>
- <goal>xpp3-extended-writer</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
</plugins>
</build>
diff --git a/src/main/java/org/apache/maven/plugins/help/EffectivePomMojo.java b/src/main/java/org/apache/maven/plugins/help/EffectivePomMojo.java
index d80e7cd..f3e204c 100644
--- a/src/main/java/org/apache/maven/plugins/help/EffectivePomMojo.java
+++ b/src/main/java/org/apache/maven/plugins/help/EffectivePomMojo.java
@@ -21,18 +21,13 @@ package org.apache.maven.plugins.help;
import java.io.IOException;
import java.io.StringWriter;
-import java.io.Writer;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
import java.util.Collections;
import java.util.List;
import java.util.Properties;
-import org.apache.maven.model.InputLocation;
import org.apache.maven.model.Model;
-import org.apache.maven.model.InputSource;
import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
-import org.apache.maven.model.io.xpp3.MavenXpp3WriterExOldSupport;
+import org.apache.maven.model.io.xpp3.MavenXpp3WriterEx;
import org.apache.maven.plugin.MojoExecution;
import org.apache.maven.plugin.MojoExecution.Source;
import org.apache.maven.plugin.MojoExecutionException;
@@ -44,8 +39,6 @@ import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter;
import org.codehaus.plexus.util.xml.XMLWriter;
import org.codehaus.plexus.util.xml.XmlWriterUtil;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-import org.codehaus.plexus.util.xml.pull.XmlSerializer;
/**
* Displays the effective POM as an XML for this build, with the active profiles factored in, or a specified artifact.
@@ -212,12 +205,7 @@ public class EffectivePomMojo
{
if ( verbose )
{
- // try to use Maven core-provided xpp3 extended writer (available since Maven 3.6.1)
- if ( ! writeMavenXpp3WriterEx( sWriter, pom ) )
- {
- // xpp3 extended writer not provided by Maven core, use local code
- new EffectiveWriterExOldSupport().write( sWriter, pom );
- }
+ new MavenXpp3WriterEx().write( sWriter, pom );
}
else
{
@@ -248,100 +236,4 @@ public class EffectivePomMojo
properties.putAll( pom.getProperties() );
pom.setProperties( properties );
}
-
- private void warnWriteMavenXpp3WriterEx( Throwable t )
- {
- getLog().warn( "Unexpected exception while running Maven Model Extended Writer, "
- + "falling back to old internal implementation.", t );
- }
-
- private boolean writeMavenXpp3WriterEx( Writer writer, Model model )
- throws IOException
- {
- try
- {
- Class<?> mavenXpp3WriterExClass = Class.forName( "org.apache.maven.model.io.xpp3.MavenXpp3WriterEx" );
- Object mavenXpp3WriterEx = mavenXpp3WriterExClass.getDeclaredConstructor().newInstance();
-
- Method setStringFormatter =
- mavenXpp3WriterExClass.getMethod( "setStringFormatter", InputLocation.StringFormatter.class );
- setStringFormatter.invoke( mavenXpp3WriterEx, new InputLocationStringFormatter() );
-
- Method write = mavenXpp3WriterExClass.getMethod( "write", Writer.class, Model.class );
- write.invoke( mavenXpp3WriterEx, writer, model );
-
- return true;
- }
- catch ( ClassNotFoundException e )
- {
- // MavenXpp3WriterEx not available in running Maven version
- }
- catch ( NoSuchMethodException | SecurityException | IllegalArgumentException | IllegalAccessException
- | InstantiationException e )
- {
- warnWriteMavenXpp3WriterEx( e );
- }
- catch ( InvocationTargetException e )
- {
- if ( e.getTargetException() instanceof IOException )
- {
- throw (IOException) e.getTargetException();
- }
- else if ( e.getTargetException() instanceof RuntimeException )
- {
- throw (RuntimeException) e.getTargetException();
- }
- warnWriteMavenXpp3WriterEx( e );
- }
- return false;
- }
-
- private static String toString( InputLocation location )
- {
- InputSource source = location.getSource();
-
- String s = source.getModelId(); // by default, display modelId
-
- if ( StringUtils.isBlank( s ) || s.contains( "[unknown-version]" ) )
- {
- // unless it is blank or does not provide version information
- s = source.toString();
- }
-
- return '}' + s + ( ( location.getLineNumber() >= 0 ) ? ", line " + location.getLineNumber() : "" ) + ' ';
- }
-
- private static class InputLocationStringFormatter
- extends InputLocation.StringFormatter
- {
-
- public String toString( InputLocation location )
- {
- return EffectivePomMojo.toString( location );
- }
-
- }
-
- /**
- * Xpp3 extended writer extension to improve default InputSource display
- */
- private static class EffectiveWriterExOldSupport
- extends MavenXpp3WriterExOldSupport
- {
-
- @Override
- public String toString( InputLocation location )
- {
- return EffectivePomMojo.toString( location );
- }
-
- @Override
- protected void writeXpp3DomToSerializer( Xpp3Dom dom, XmlSerializer serializer )
- throws java.io.IOException
- {
- // default method uses Xpp3Dom input location tracking, not available in older Maven versions
- // use old Xpp3Dom serialization, without input location tracking
- dom.writeToSerializer( null, serializer );
- }
- }
}