This is an automated email from the ASF dual-hosted git repository.

sjaranowski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven.git


The following commit(s) were added to refs/heads/master by this push:
     new 1fc87b8d0d [MNG-8075] Allow project.baseUri in repository.url
1fc87b8d0d is described below

commit 1fc87b8d0d20a56cae9eb418e9839870d355d7c3
Author: Slawomir Jaranowski <s.jaranow...@gmail.com>
AuthorDate: Thu Mar 14 19:38:25 2024 +0100

    [MNG-8075] Allow project.baseUri in repository.url
---
 .../apache/maven/model/validation/DefaultModelValidator.java   |  6 ++++--
 .../raw-model/repository-with-basedir-expression.xml           | 10 +++++++++-
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git 
a/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
 
b/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
index 23c602d035..d2553c455d 100644
--- 
a/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
+++ 
b/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
@@ -982,10 +982,12 @@ public class DefaultModelValidator implements 
ModelValidator {
                     repository.getUrl(),
                     null,
                     repository)) {
-                // only allow ${basedir} and ${project.basedir}
+                // only allow ${basedir}, ${project.basedir} or 
${project.baseUri}
                 Matcher m = 
EXPRESSION_NAME_PATTERN.matcher(repository.getUrl());
                 while (m.find()) {
-                    if (!("basedir".equals(m.group(1)) || 
"project.basedir".equals(m.group(1)))) {
+                    if (!("basedir".equals(m.group(1))
+                            || "project.basedir".equals(m.group(1))
+                            || "project.baseUri".equals(m.group(1)))) {
                         validateStringNoExpression(
                                 prefix + prefix2 + "[" + repository.getId() + 
"].url",
                                 problems,
diff --git 
a/maven-model-builder/src/test/resources/poms/validation/raw-model/repository-with-basedir-expression.xml
 
b/maven-model-builder/src/test/resources/poms/validation/raw-model/repository-with-basedir-expression.xml
index 3e64091da8..2dd11eb42e 100644
--- 
a/maven-model-builder/src/test/resources/poms/validation/raw-model/repository-with-basedir-expression.xml
+++ 
b/maven-model-builder/src/test/resources/poms/validation/raw-model/repository-with-basedir-expression.xml
@@ -37,6 +37,14 @@ under the License.
       <id>repo</id>
       <url>file://${basedir}/target/remote-repo</url>
     </repository>
+    <repository>
+      <id>repo-project-basedir</id>
+      <url>file://${project.basedir}/sdk/maven/repo</url>
+    </repository>
+    <repository>
+      <id>repo-project-baseUri</id>
+      <url>${project.baseUri}/sdk/maven/repo</url>
+    </repository>
   </repositories>
 
-</project>
\ No newline at end of file
+</project>

Reply via email to