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-dependency-plugin.git
commit fa132e7374d1ae70580a9363c1a2daa86559ff5f Author: Michael Osipov <micha...@apache.org> AuthorDate: Sat Dec 3 02:13:19 2022 +0100 [MDEP-903] Upgrade to Doxia 2.0.0 Milestone Stack This closes #314 --- pom.xml | 57 ++++------------------ src/it/projects/analyze-report/verify.bsh | 6 +-- .../verify.bsh | 10 ++-- .../{AnalyzeReportMojo.java => AnalyzeReport.java} | 4 +- .../apache/maven/plugins/dependency/TestSkip.java | 48 ++++++++++++++++-- 5 files changed, 62 insertions(+), 63 deletions(-) diff --git a/pom.xml b/pom.xml index 6989c859..743e0585 100644 --- a/pom.xml +++ b/pom.xml @@ -87,30 +87,17 @@ under the License. </distributionManagement> <properties> - <mavenVersion>3.6.3</mavenVersion> <javaVersion>8</javaVersion> - + <mavenVersion>3.6.3</mavenVersion> + <resolverVersion>1.4.1</resolverVersion> + <slf4jVersion>1.7.36</slf4jVersion> <jettyVersion>9.4.54.v20240208</jettyVersion> <mockito.version>4.11.0</mockito.version> <plexus-archiver.version>4.9.2</plexus-archiver.version> <pluginTestingVersion>3.3.0</pluginTestingVersion> - <resolverVersion>1.4.1</resolverVersion> - <slf4jVersion>1.7.36</slf4jVersion> - <project.build.outputTimestamp>2024-06-18T07:04:19Z</project.build.outputTimestamp> </properties> - <dependencyManagement> - <dependencies> - <!-- override the version from maven-reporting-impl --> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-text</artifactId> - <version>1.12.0</version> - </dependency> - </dependencies> - </dependencyManagement> - <dependencies> <!-- maven --> <dependency> @@ -156,49 +143,23 @@ under the License. <scope>provided</scope> </dependency> - <!-- reporting --> + <!-- doxia --> <dependency> <groupId>org.apache.maven.doxia</groupId> <artifactId>doxia-sink-api</artifactId> - <version>1.12.0</version> - <exclusions> - <exclusion> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-container-default</artifactId> - </exclusion> - </exclusions> + <version>2.0.0-M12</version> </dependency> + + <!-- reporting --> <dependency> <groupId>org.apache.maven.reporting</groupId> <artifactId>maven-reporting-api</artifactId> - <version>3.1.1</version> + <version>4.0.0-M12</version> </dependency> <dependency> <groupId>org.apache.maven.reporting</groupId> <artifactId>maven-reporting-impl</artifactId> - <version>3.2.0</version> - <exclusions> - <exclusion> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-container-default</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.maven</groupId> - <artifactId>maven-artifact</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.maven</groupId> - <artifactId>maven-core</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.maven</groupId> - <artifactId>maven-model</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.maven</groupId> - <artifactId>maven-plugin-api</artifactId> - </exclusion> - </exclusions> + <version>4.0.0-M15</version> </dependency> <dependency> <groupId>commons-io</groupId> diff --git a/src/it/projects/analyze-report/verify.bsh b/src/it/projects/analyze-report/verify.bsh index d32f9f90..55b19f0b 100644 --- a/src/it/projects/analyze-report/verify.bsh +++ b/src/it/projects/analyze-report/verify.bsh @@ -6,9 +6,9 @@ * 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 @@ -19,7 +19,7 @@ import java.io.*; -File htmlFile = new File( basedir, "target/site/dependency-analysis.html" ); +File htmlFile = new File( basedir, "target/reports/dependency-analysis.html" ); if ( !htmlFile.isFile() ) { diff --git a/src/it/projects/analyze-testDependencyWithNonTestScope/verify.bsh b/src/it/projects/analyze-testDependencyWithNonTestScope/verify.bsh index ba623ba7..46c27ff4 100644 --- a/src/it/projects/analyze-testDependencyWithNonTestScope/verify.bsh +++ b/src/it/projects/analyze-testDependencyWithNonTestScope/verify.bsh @@ -6,9 +6,9 @@ * 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 @@ -24,7 +24,7 @@ import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; -File htmlFile = new File( basedir, "target/site/dependency-analysis.html" ); +File htmlFile = new File( basedir, "target/reports/dependency-analysis.html" ); if ( !htmlFile.isFile() ) { @@ -37,7 +37,7 @@ if ( htmlFile.length() == 0 ) Document doc = Jsoup.parse( htmlFile, "UTF-8"); -Elements entry = doc.select( "#contentBox > section > section:nth-child(5) > table > tbody > tr.b" ); +Elements entry = doc.select( "#bodyColumn > section > section:nth-child(5) > table > tbody > tr.b" ); if( entry.isEmpty() ) { @@ -50,7 +50,7 @@ else if ( entry.size() != 1 ) } Element groupIdElement = doc.select( -"#contentBox > section > section:nth-child(5) > table > tbody > tr.b > td:nth-child(1)" ).first(); +"#bodyColumn > section > section:nth-child(5) > table > tbody > tr.b > td:nth-child(1)" ).first(); String groupId = groupIdElement.text(); diff --git a/src/main/java/org/apache/maven/plugins/dependency/analyze/AnalyzeReportMojo.java b/src/main/java/org/apache/maven/plugins/dependency/analyze/AnalyzeReport.java similarity index 96% rename from src/main/java/org/apache/maven/plugins/dependency/analyze/AnalyzeReportMojo.java rename to src/main/java/org/apache/maven/plugins/dependency/analyze/AnalyzeReport.java index 0c8d4ce6..239bc825 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/analyze/AnalyzeReportMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/analyze/AnalyzeReport.java @@ -42,7 +42,7 @@ import org.codehaus.plexus.i18n.I18N; */ @Mojo(name = "analyze-report", requiresDependencyResolution = ResolutionScope.TEST, threadSafe = true) @Execute(phase = LifecyclePhase.TEST_COMPILE) -public class AnalyzeReportMojo extends AbstractMavenReport { +public class AnalyzeReport extends AbstractMavenReport { // fields ----------------------------------------------------------------- /** @@ -124,13 +124,11 @@ public class AnalyzeReportMojo extends AbstractMavenReport { @Override public boolean canGenerateReport() { if (skip) { - getLog().info("Skipping plugin execution"); return false; } // Step 0: Checking pom availability if ("pom".equals(project.getPackaging())) { - getLog().info("Skipping pom project"); return false; } diff --git a/src/test/java/org/apache/maven/plugins/dependency/TestSkip.java b/src/test/java/org/apache/maven/plugins/dependency/TestSkip.java index b52a9e81..1fbcacb0 100644 --- a/src/test/java/org/apache/maven/plugins/dependency/TestSkip.java +++ b/src/test/java/org/apache/maven/plugins/dependency/TestSkip.java @@ -21,7 +21,11 @@ package org.apache.maven.plugins.dependency; import java.io.File; import org.apache.maven.execution.MavenSession; +import org.apache.maven.model.Plugin; import org.apache.maven.plugin.Mojo; +import org.apache.maven.plugin.MojoExecution; +import org.apache.maven.plugin.descriptor.MojoDescriptor; +import org.apache.maven.plugin.descriptor.PluginDescriptor; import org.apache.maven.plugin.logging.Log; import org.apache.maven.plugins.dependency.testUtils.stubs.DependencyProjectStub; import org.apache.maven.project.MavenProject; @@ -56,7 +60,7 @@ public class TestSkip extends AbstractDependencyMojoTestCase { } public void testSkipAnalyzeReport() throws Exception { - doSpecialTest("analyze-report"); + doSpecialTest("analyze-report", true); } public void testSkipAnalyzeDuplicate() throws Exception { @@ -124,19 +128,55 @@ public class TestSkip extends AbstractDependencyMojoTestCase { } protected void doSpecialTest(String mojoName) throws Exception { - doConfigTest(mojoName, "plugin-" + mojoName + "-config.xml"); + doConfigTest(mojoName, "plugin-" + mojoName + "-config.xml", false); + } + + protected void doSpecialTest(String mojoName, boolean addMojoExecution) throws Exception { + doConfigTest(mojoName, "plugin-" + mojoName + "-config.xml", addMojoExecution); } private void doConfigTest(String mojoName, String configFile) throws Exception { + doConfigTest(mojoName, configFile, false); + } + + private void doConfigTest(String mojoName, String configFile, boolean addMojoExecution) throws Exception { File testPom = new File(getBasedir(), "target/test-classes/unit/skip-test/" + configFile); Mojo mojo = lookupMojo(mojoName, testPom); - assertNotNull(mojo); + assertNotNull("Mojo not found.", mojo); + + if (addMojoExecution) { + setVariableValueToObject(mojo, "mojoExecution", getMockMojoExecution(mojoName)); + } Log log = mock(Log.class); mojo.setLog(log); mojo.execute(); ArgumentCaptor<String> captor = ArgumentCaptor.forClass(String.class); verify(log, atLeastOnce()).info(captor.capture()); - assertTrue(captor.getValue().contains("Skipping plugin execution")); + String skipMessage; + if (addMojoExecution) { + MojoExecution me = getMockMojoExecution(mojoName); + String reportMojoInfo = me.getPlugin().getId() + ":" + me.getGoal(); + skipMessage = "Skipping " + reportMojoInfo + " report goal"; + } else { + skipMessage = "Skipping plugin execution"; + } + assertTrue(captor.getValue().contains(skipMessage)); + } + + private MojoExecution getMockMojoExecution(String goal) { + MojoDescriptor md = new MojoDescriptor(); + md.setGoal(goal); + + MojoExecution me = new MojoExecution(md); + + PluginDescriptor pd = new PluginDescriptor(); + Plugin p = new Plugin(); + p.setGroupId("org.apache.maven.plugins"); + p.setArtifactId("maven-dependency-plugin"); + pd.setPlugin(p); + md.setPluginDescriptor(pd); + + return me; } }