You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2022/04/17 21:08:49 UTC
[maven-reporting-exec] 01/01: Rest
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch doxia-2.0.0
in repository https://gitbox.apache.org/repos/asf/maven-reporting-exec.git
commit 56917740ab245e784e42622047429a2496fc573f
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sun Apr 17 23:05:45 2022 +0200
Rest
---
pom.xml | 27 ++---
src/it/forked-lifecycle/pom.xml | 2 +-
src/it/reportConfig/pom.xml | 2 +-
.../reporting/exec/DefaultMavenReportExecutor.java | 125 +++++++++++----------
src/main/java/org/codehaus/doxia/sink/Sink.java | 31 +++++
.../exec/TestDefaultMavenReportExecutor.java | 8 +-
6 files changed, 112 insertions(+), 83 deletions(-)
diff --git a/pom.xml b/pom.xml
index f3916b3..2bf212d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
<groupId>org.apache.maven.reporting</groupId>
<artifactId>maven-reporting-exec</artifactId>
- <version>1.6.1-SNAPSHOT</version>
+ <version>2.0.0-M1-SNAPSHOT</version>
<name>Apache Maven Reporting Executor</name>
<description>Classes to manage report plugin executions with Maven 3.</description>
@@ -56,19 +56,20 @@
</distributionManagement>
<properties>
+ <javaVersion>8</javaVersion>
<mavenVersion>3.2.5</mavenVersion>
<aetherVersion>1.0.0.v20140518</aetherVersion>
- <javaVersion>7</javaVersion>
+ <slf4jVersion>1.7.36</slf4jVersion>
<project.build.outputTimestamp>2022-02-10T08:20:39Z</project.build.outputTimestamp>
- <sitePluginVersion>3.10.0</sitePluginVersion>
- <projectInfoReportsPluginVersion>3.2.1</projectInfoReportsPluginVersion>
+ <sitePluginVersion>3.11.0</sitePluginVersion>
+ <projectInfoReportsPluginVersion>3.2.2</projectInfoReportsPluginVersion>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.maven.reporting</groupId>
<artifactId>maven-reporting-api</artifactId>
- <version>3.1.0</version>
+ <version>4.0.0-M1-SNAPSHOT</version>
</dependency>
<!-- Maven -->
@@ -118,6 +119,12 @@
<version>3.1.0</version><!-- do not upgrade to 3.2.0+ because it adds Xpp3Dom.getInputLocation(): see MSHARED-921 -->
</dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>${slf4jVersion}</version>
+ </dependency>
+
<!-- Eclipse Aether for Maven 3.1+ -->
<dependency>
<groupId>org.eclipse.aether</groupId>
@@ -153,7 +160,7 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
- <version>1.7.32</version>
+ <version>${slf4jVersion}</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -191,13 +198,9 @@
<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-site-renderer</artifactId>
- <version>1.11.1</version>
+ <version>2.0.0-M2</version>
<scope>test</scope>
<exclusions>
- <exclusion>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-container-default</artifactId>
- </exclusion>
<exclusion>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
@@ -329,8 +332,6 @@
<properties>
<maven.compiler.source>${maven.compiler.source}</maven.compiler.source>
<maven.compiler.target>${maven.compiler.target}</maven.compiler.target>
- <!-- e.g. ensure that Java7 picks up TLSv1.2 when connecting with Central -->
- <https.protocols>${https.protocols}</https.protocols>
</properties>
</configuration>
<executions>
diff --git a/src/it/forked-lifecycle/pom.xml b/src/it/forked-lifecycle/pom.xml
index 1e14926..d739dad 100644
--- a/src/it/forked-lifecycle/pom.xml
+++ b/src/it/forked-lifecycle/pom.xml
@@ -65,7 +65,7 @@ under the License.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
- <version>3.3.1</version>
+ <version>3.4.0</version>
</plugin>
</plugins>
</reporting>
diff --git a/src/it/reportConfig/pom.xml b/src/it/reportConfig/pom.xml
index ee04529..ff43213 100644
--- a/src/it/reportConfig/pom.xml
+++ b/src/it/reportConfig/pom.xml
@@ -42,7 +42,7 @@ under the License.
<dependency>
<groupId>org.apache.maven.reporting</groupId>
<artifactId>maven-reporting-impl</artifactId>
- <version>3.1.0</version>
+ <version>4.0.0-M1-SNAPSHOT</version>
</dependency>
</dependencies>
diff --git a/src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java b/src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java
index 1d53bc5..3f57bc1 100644
--- a/src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java
+++ b/src/main/java/org/apache/maven/reporting/exec/DefaultMavenReportExecutor.java
@@ -50,9 +50,10 @@ import org.apache.maven.shared.utils.StringUtils;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.configuration.PlexusConfiguration;
-import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.util.xml.Xpp3Dom;
import org.codehaus.plexus.util.xml.Xpp3DomUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* <p>
@@ -98,8 +99,7 @@ import org.codehaus.plexus.util.xml.Xpp3DomUtils;
public class DefaultMavenReportExecutor
implements MavenReportExecutor
{
- @Requirement
- private Logger logger;
+ private static final Logger LOGGER = LoggerFactory.getLogger( DefaultMavenReportExecutor.class );
@Requirement
protected MavenPluginManager mavenPluginManager;
@@ -137,7 +137,6 @@ public class DefaultMavenReportExecutor
{
return Collections.emptyList();
}
- getLog().debug( "DefaultMavenReportExecutor.buildMavenReports()" );
Set<String> reportPluginKeys = new HashSet<>();
List<MavenReportExecution> reportExecutions = new ArrayList<>();
@@ -151,7 +150,7 @@ public class DefaultMavenReportExecutor
if ( !reportPluginKeys.add( pluginKey ) )
{
- logger.info( "plugin " + pluginKey + " will be executed more than one time" );
+ LOGGER.info( "Plugin {} will be executed more than one time", pluginKey );
}
reportExecutions.addAll( buildReportPlugin( mavenReportExecutorRequest, reportPlugin ) );
@@ -159,7 +158,7 @@ public class DefaultMavenReportExecutor
}
catch ( Exception e )
{
- throw new MojoExecutionException( "failed to get report for " + pluginKey, e );
+ throw new MojoExecutionException( "Failed to get report for " + pluginKey, e );
}
return reportExecutions;
@@ -174,7 +173,7 @@ public class DefaultMavenReportExecutor
plugin.setGroupId( reportPlugin.getGroupId() );
plugin.setArtifactId( reportPlugin.getArtifactId() );
plugin.setVersion( resolvePluginVersion( reportPlugin, mavenReportExecutorRequest ) );
- logger.info( "configuring report plugin " + plugin.getId() );
+ LOGGER.info( "Configuring report plugin {}", plugin.getId() );
mergePluginToReportPlugin( mavenReportExecutorRequest, plugin, reportPlugin );
@@ -211,9 +210,9 @@ public class DefaultMavenReportExecutor
}
buff.append( mre.getGoal() );
}
- logger.info( reports.size() + " report" + ( reports.size() > 1 ? "s" : "" ) + " "
- + ( hasUserDefinedReports ? "configured" : "detected" ) + " for " + plugin.getArtifactId() + ":"
- + plugin.getVersion() + ": " + buff );
+ LOGGER.info( "{} report{} {} for {}:{}: {}", reports.size(), ( reports.size() > 1 ? "s" : "" ),
+ ( hasUserDefinedReports ? "configured" : "detected" ), plugin.getArtifactId(),
+ plugin.getVersion(), buff );
}
return reports;
@@ -245,7 +244,7 @@ public class DefaultMavenReportExecutor
}
else
{
- logger.warn( report + " report is declared twice in default reports" );
+ LOGGER.warn( "{} report is declared twice in default reports", report );
}
}
@@ -261,7 +260,7 @@ public class DefaultMavenReportExecutor
}
else
{
- logger.warn( report + " report is declared twice in " + reportSet.getId() + " reportSet" );
+ LOGGER.warn( "{} report is declared twice in {} reportSet", report, reportSet.getId() );
}
}
}
@@ -302,8 +301,9 @@ public class DefaultMavenReportExecutor
if ( hasUserDefinedReports )
{
// reports were explicitly written in the POM
- logger.warn( "ignoring " + mojoExecution.getPlugin().getId() + ':' + report.getGoal()
- + " goal since it is not a report: should be removed from reporting configuration in POM" );
+ LOGGER.warn( "Ignoring {}:{}"
+ + " goal since it is not a report: should be removed from reporting configuration in POM",
+ mojoExecution.getPlugin().getId(), report.getGoal() );
}
return null;
}
@@ -354,12 +354,12 @@ public class DefaultMavenReportExecutor
execution = "'" + mojoDescriptor.getExecuteGoal() + "' forked goal execution";
}
- logger.info( "preparing " + reportDescription + " requires " + execution );
+ LOGGER.info( "Preparing {} requires {}", reportDescription, execution );
lifecycleExecutor.executeForkedExecutions( mojoExecution,
mavenReportExecutorRequest.getMavenSession() );
- logger.info( execution + " for " + reportDescription + " preparation done" );
+ LOGGER.info( "{} for {} preparation done", execution, reportDescription );
}
return mavenReportExecution;
@@ -385,7 +385,14 @@ public class DefaultMavenReportExecutor
}
catch ( ClassCastException e )
{
- getLog().warn( "skip ClassCastException " + e.getMessage() );
+ if ( LOGGER.isDebugEnabled() )
+ {
+ LOGGER.warn( "Skipping ClassCastException", e );
+ }
+ else
+ {
+ LOGGER.warn( "Skipping ClassCastException" );
+ }
return null;
}
catch ( PluginContainerException e )
@@ -397,11 +404,13 @@ public class DefaultMavenReportExecutor
if ( e.getCause() != null && e.getCause() instanceof NoClassDefFoundError
&& e.getMessage().contains( "PluginRegistry" ) )
{
- getLog().warn( "skip NoClassDefFoundError with PluginRegistry " );
- // too noisy, only in debug mode + e.getMessage() );
- if ( getLog().isDebugEnabled() )
+ if ( LOGGER.isDebugEnabled() )
+ {
+ LOGGER.warn( "Skipping NoClassDefFoundError with PluginRegistry", e );
+ }
+ else
{
- getLog().debug( e.getMessage(), e );
+ LOGGER.warn( "Skipping NoClassDefFoundError with PluginRegistry" );
}
return null;
}
@@ -424,8 +433,14 @@ public class DefaultMavenReportExecutor
}
catch ( ClassNotFoundException e )
{
- getLog().warn( "skip ClassNotFoundException mojoExecution.goal '" + mojoExecution.getGoal() + "': "
- + e.getMessage(), e );
+ if ( LOGGER.isDebugEnabled() )
+ {
+ LOGGER.warn( "Skipping ClassNotFoundException mojoExecution.goal {}", mojoExecution.getGoal(), e );
+ }
+ else
+ {
+ LOGGER.warn( "Skipping ClassNotFoundException mojoExecution.goal {}", mojoExecution.getGoal() );
+ }
return false;
}
finally
@@ -441,17 +456,17 @@ public class DefaultMavenReportExecutor
boolean isMavenReport = MavenReport.class.isAssignableFrom( mojoClass );
- if ( getLog().isDebugEnabled() )
+ if ( LOGGER.isDebugEnabled() )
{
if ( mojoDescriptor != null && mojoDescriptor.getImplementationClass() != null )
{
- getLog().debug( "class " + mojoDescriptor.getImplementationClass().getName() + " isMavenReport: "
- + isMavenReport );
+ LOGGER.debug( "Class {} is MavenReport: ",
+ mojoDescriptor.getImplementationClass().getName(), isMavenReport );
}
if ( !isMavenReport )
{
- getLog().debug( "skip non MavenReport " + mojoExecution.getMojoDescriptor().getId() );
+ LOGGER.debug( "Skipping non MavenReport {}", mojoExecution.getMojoDescriptor().getId() );
}
}
@@ -459,8 +474,14 @@ public class DefaultMavenReportExecutor
}
catch ( LinkageError e )
{
- getLog().warn( "skip LinkageError mojoExecution.goal '" + mojoExecution.getGoal() + "': " + e.getMessage(),
- e );
+ if ( LOGGER.isDebugEnabled() )
+ {
+ LOGGER.warn( "Skipping LinkageError mojoExecution.goal {}", mojoExecution.getGoal(), e );
+ }
+ else
+ {
+ LOGGER.warn( "Skipping LinkageError mojoExecution.goal {}", mojoExecution.getGoal() );
+ }
return false;
}
finally
@@ -539,11 +560,6 @@ public class DefaultMavenReportExecutor
return dom;
}
- private Logger getLog()
- {
- return logger;
- }
-
/**
* Resolve report plugin version. Steps to find a plugin version stop after each step if a non <code>null</code>
* value has been found:
@@ -565,19 +581,13 @@ public class DefaultMavenReportExecutor
throws PluginVersionResolutionException
{
String reportPluginKey = reportPlugin.getGroupId() + ':' + reportPlugin.getArtifactId();
- if ( getLog().isDebugEnabled() )
- {
- getLog().debug( "resolving version for " + reportPluginKey );
- }
+ LOGGER.debug( "Resolving version for {}", reportPluginKey );
// look for version defined in the reportPlugin configuration
if ( reportPlugin.getVersion() != null )
{
- if ( getLog().isDebugEnabled() )
- {
- logger.debug( "resolved " + reportPluginKey + " version from the reporting.plugins section: "
- + reportPlugin.getVersion() );
- }
+ LOGGER.debug( "Resolved {} version from the reporting.plugins section: {}",
+ reportPluginKey, reportPlugin.getVersion() );
return reportPlugin.getVersion();
}
@@ -590,11 +600,8 @@ public class DefaultMavenReportExecutor
if ( plugin != null && plugin.getVersion() != null )
{
- if ( getLog().isDebugEnabled() )
- {
- logger.debug( "resolved " + reportPluginKey + " version from the build.plugins section: "
- + plugin.getVersion() );
- }
+ LOGGER.debug( "Resolved {} version from the build.plugins section: {}",
+ reportPluginKey, plugin.getVersion() );
return plugin.getVersion();
}
}
@@ -606,21 +613,18 @@ public class DefaultMavenReportExecutor
if ( plugin != null && plugin.getVersion() != null )
{
- if ( getLog().isDebugEnabled() )
- {
- logger.debug( "resolved " + reportPluginKey
- + " version from the build.pluginManagement.plugins section: " + plugin.getVersion() );
- }
+ LOGGER.debug( "Resolved {} version from the build.pluginManagement.plugins section: {}",
+ reportPluginKey, plugin.getVersion() );
return plugin.getVersion();
}
}
- logger.warn( "Report plugin " + reportPluginKey + " has an empty version." );
- logger.warn( "" );
- logger.warn( "It is highly recommended to fix these problems"
+ LOGGER.warn( "Report plugin {} has an empty version.", reportPluginKey );
+ LOGGER.warn( "" );
+ LOGGER.warn( "It is highly recommended to fix these problems"
+ " because they threaten the stability of your build." );
- logger.warn( "" );
- logger.warn( "For this reason, future Maven versions might no"
+ LOGGER.warn( "" );
+ LOGGER.warn( "For this reason, future Maven versions might no"
+ " longer support building such malformed projects." );
Plugin plugin = new Plugin();
@@ -631,10 +635,7 @@ public class DefaultMavenReportExecutor
new DefaultPluginVersionRequest( plugin, mavenReportExecutorRequest.getMavenSession() );
PluginVersionResult result = pluginVersionResolver.resolve( pluginVersionRequest );
- if ( getLog().isDebugEnabled() )
- {
- getLog().debug( "resolved " + reportPluginKey + " version from repository: " + result.getVersion() );
- }
+ LOGGER.debug( "Resolved {} version from repository: {}", reportPluginKey, result.getVersion() );
return result.getVersion();
}
diff --git a/src/main/java/org/codehaus/doxia/sink/Sink.java b/src/main/java/org/codehaus/doxia/sink/Sink.java
new file mode 100644
index 0000000..0fe64cf
--- /dev/null
+++ b/src/main/java/org/codehaus/doxia/sink/Sink.java
@@ -0,0 +1,31 @@
+package org.codehaus.doxia.sink;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * Generic document processing interface.
+ *
+ * @deprecated use {@link org.apache.maven.doxia.sink.Sink} instead (since 1.0-alpha-6).
+ */
+public interface Sink
+ extends org.apache.maven.doxia.sink.Sink
+{
+ // nop
+}
diff --git a/src/test/java/org/apache/maven/reporting/exec/TestDefaultMavenReportExecutor.java b/src/test/java/org/apache/maven/reporting/exec/TestDefaultMavenReportExecutor.java
index 1be5f53..8a2142a 100644
--- a/src/test/java/org/apache/maven/reporting/exec/TestDefaultMavenReportExecutor.java
+++ b/src/test/java/org/apache/maven/reporting/exec/TestDefaultMavenReportExecutor.java
@@ -48,7 +48,6 @@ import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusTestCase;
import org.codehaus.plexus.classworlds.realm.ClassRealm;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-import org.codehaus.plexus.logging.Logger;
import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.artifact.Artifact;
import org.eclipse.aether.repository.RemoteRepository;
@@ -129,7 +128,7 @@ public class TestDefaultMavenReportExecutor
Plugin plugin = new Plugin();
plugin.setGroupId( "org.apache.maven.plugins" );
plugin.setArtifactId( "maven-javadoc-plugin" );
- plugin.setVersion( "3.0.0-M1" );
+ plugin.setVersion( "3.4.0" );
Dependency dependency = new Dependency();
dependency.setGroupId( "commons-lang" );
dependency.setArtifactId( "commons-lang" );
@@ -170,7 +169,7 @@ public class TestDefaultMavenReportExecutor
ReportPlugin reportPlugin = new ReportPlugin();
reportPlugin.setGroupId( "org.apache.maven.plugins" );
reportPlugin.setArtifactId( "maven-javadoc-plugin" );
- reportPlugin.setVersion( "3.0.0-M1" );
+ reportPlugin.setVersion( "3.4.0" );
for ( ReportSet reportSet : javadocReportSets )
{
@@ -227,9 +226,6 @@ public class TestDefaultMavenReportExecutor
request.setLocalRepositoryPath( getLocalArtifactRepository().getBasedir() );
request.setCacheNotFound( false );
- request.setLoggingLevel( MavenExecutionRequest.LOGGING_LEVEL_INFO );
- getContainer().lookup( Logger.class ).setThreshold( 1 );
-
request.setSystemProperties( System.getProperties() );
MavenExecutionResult result = new DefaultMavenExecutionResult();