diff --git a/pom.xml b/pom.xml
index 427e1b565..1d08ac898 100644
--- a/pom.xml
+++ b/pom.xml
@@ -87,30 +87,17 @@ under the License.
- 3.6.3
8
-
+ 3.6.3
+ 1.4.1
+ 1.7.36
9.4.55.v20240627
4.11.0
4.10.0
3.3.0
- 1.4.1
- 1.7.36
-
2024-06-18T07:04:19Z
-
-
-
-
- org.apache.commons
- commons-text
- 1.12.0
-
-
-
-
@@ -156,49 +143,23 @@ under the License.
provided
-
+
org.apache.maven.doxia
doxia-sink-api
- 1.12.0
-
-
- org.codehaus.plexus
- plexus-container-default
-
-
+ 2.0.0-M12
+
+
org.apache.maven.reporting
maven-reporting-api
- 3.1.1
+ 4.0.0-M12
org.apache.maven.reporting
maven-reporting-impl
- 3.2.0
-
-
- org.codehaus.plexus
- plexus-container-default
-
-
- org.apache.maven
- maven-artifact
-
-
- org.apache.maven
- maven-core
-
-
- org.apache.maven
- maven-model
-
-
- org.apache.maven
- maven-plugin-api
-
-
+ 4.0.0-M15
commons-io
diff --git a/src/it/projects/analyze-report/verify.bsh b/src/it/projects/analyze-report/verify.bsh
index d32f9f902..55b19f0b5 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 ba623ba7a..46c27ff4b 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 0c8d4ce60..239bc825c 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 @@
*/
@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 void executeReport(Locale locale) throws MavenReportException {
@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 b52a9e812..1fbcacb08 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 @@
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 void testSkipAnalyzeOnly() throws Exception {
}
public void testSkipAnalyzeReport() throws Exception {
- doSpecialTest("analyze-report");
+ doSpecialTest("analyze-report", true);
}
public void testSkipAnalyzeDuplicate() throws Exception {
@@ -124,19 +128,55 @@ protected void doTest(String mojoName) throws Exception {
}
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 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;
}
}