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 23c602d035f0..d2553c455df5 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 @@ private void validateRawRepositories( 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 3e64091da822..2dd11eb42ed0 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. repo file://${basedir}/target/remote-repo + + repo-project-basedir + file://${project.basedir}/sdk/maven/repo + + + repo-project-baseUri + ${project.baseUri}/sdk/maven/repo + - \ No newline at end of file +