From 4bba060b74ed14ddcb4f779cb729dd848c0b32cc Mon Sep 17 00:00:00 2001 From: "James Z.M. Gao" Date: Tue, 5 Apr 2022 13:31:05 +0800 Subject: [PATCH 1/2] [MSHADE-124] keep original basedir after set d-r-p location to build dir From maven 3.2.5, the pom and basedir are seperated (https://github.com/apache/maven/commit/c15226f13f6d071d1e926880139d350cc4546b6f), and add new api `MavenProject::setPomFile()` to only upodate pom location. In this pr, the minimal maven version is bumped to 3.2.5, then use `setPomFile` to only update pom file location, leaving `${basedir}` unchanged. --- src/it/projects/dep-reduced-pom/pom.xml | 22 +++++++++++++++++++ .../maven/plugins/shade/mojo/ShadeMojo.java | 6 ++--- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/it/projects/dep-reduced-pom/pom.xml b/src/it/projects/dep-reduced-pom/pom.xml index 44b5ad9d..bbe2aa0f 100644 --- a/src/it/projects/dep-reduced-pom/pom.xml +++ b/src/it/projects/dep-reduced-pom/pom.xml @@ -73,6 +73,28 @@ under the License. + + org.apache.maven.plugins + maven-enforcer-plugin + 3.0.0 + + + enforce-basedir-is-not-changed + + enforce + + package + + + + basedir + + + + + + + diff --git a/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java b/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java index 4ff74fa3..704e3481 100644 --- a/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java +++ b/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java @@ -252,9 +252,7 @@ public class ShadeMojo extends AbstractMojo { private boolean createDependencyReducedPom; /** - * Where to put the dependency reduced pom. Note: setting a value for this parameter with a directory other than - * ${basedir} will change the value of ${basedir} for all executions that come after the shade execution. This is - * often not what you want. This is considered an open issue with this plugin. + * Where to put the dependency reduced pom. * * @since 1.7 */ @@ -1231,7 +1229,7 @@ private void rewriteDependencyReducedPomIfWeHaveReduction( } } - project.setFile(dependencyReducedPomLocation); + project.setPomFile(dependencyReducedPomLocation); } } From 3649d196285c52d54772d5aca66e6a9eace4d84f Mon Sep 17 00:00:00 2001 From: Slawomir Jaranowski Date: Fri, 12 Jun 2026 20:23:18 +0200 Subject: [PATCH 2/2] use property for version in IT --- src/it/projects/dep-reduced-pom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/it/projects/dep-reduced-pom/pom.xml b/src/it/projects/dep-reduced-pom/pom.xml index bbe2aa0f..8d9302d9 100644 --- a/src/it/projects/dep-reduced-pom/pom.xml +++ b/src/it/projects/dep-reduced-pom/pom.xml @@ -76,7 +76,7 @@ under the License. org.apache.maven.plugins maven-enforcer-plugin - 3.0.0 + @version.maven-enforcer-plugin@ enforce-basedir-is-not-changed