diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultModelBuilder.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultModelBuilder.java
index 5e917c76fd8e..da684ba32fb7 100644
--- a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultModelBuilder.java
+++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultModelBuilder.java
@@ -1135,7 +1135,16 @@ private Model readParentLocally(
}
try {
- ModelBuilderSessionState derived = derive(candidateSource);
+ ModelBuilderSessionState derived;
+ if (request.getRequestType() == ModelBuilderRequest.RequestType.BUILD_CONSUMER) {
+ ModelBuilderRequest parentRequest = ModelBuilderRequest.builder(request)
+ .requestType(ModelBuilderRequest.RequestType.CONSUMER_PARENT)
+ .source(candidateSource)
+ .build();
+ derived = derive(parentRequest);
+ } else {
+ derived = derive(candidateSource);
+ }
// Check GA match BEFORE readAsParentModel() which recursively resolves
// the candidate's parent chain and can trigger false cycle detection (GH-12074).
diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITgh11798ConsumerPomProfileActivationTest.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITgh11798ConsumerPomProfileActivationTest.java
new file mode 100644
index 000000000000..4e4f11a3baa1
--- /dev/null
+++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITgh11798ConsumerPomProfileActivationTest.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * 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
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.maven.it;
+
+import java.nio.file.Path;
+
+import org.junit.jupiter.api.Test;
+
+/**
+ * Verify that consumer POM generation preserves profile activation for locally-resolved parent POMs.
+ * When a parent POM defines properties inside a profile with property-based activation,
+ * those properties must be resolved during BUILD_CONSUMER so that BOM imports using
+ * those properties do not fail with "Invalid Version Range Request".
+ *
+ * @see GH-11798
+ */
+class MavenITgh11798ConsumerPomProfileActivationTest extends AbstractMavenIntegrationTestCase {
+
+ @Test
+ void testConsumerPomResolvesParentProfileProperties() throws Exception {
+ Path basedir = extractResources("/gh-11798-consumer-pom-profile-activation").toPath();
+
+ Verifier verifier = newVerifier(basedir.toString());
+ verifier.addCliArgument("install");
+ verifier.execute();
+ verifier.verifyErrorFreeLog();
+ }
+}
diff --git a/its/core-it-suite/src/test/resources/gh-11798-consumer-pom-profile-activation/child/pom.xml b/its/core-it-suite/src/test/resources/gh-11798-consumer-pom-profile-activation/child/pom.xml
new file mode 100644
index 000000000000..21c12802b797
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/gh-11798-consumer-pom-profile-activation/child/pom.xml
@@ -0,0 +1,43 @@
+
+
+
+ 4.1.0
+
+
+ org.apache.maven.its.gh11798
+ parent
+ 1.0
+
+
+ child
+ jar
+
+
+
+
+ org.apache.maven.its.gh11798
+ test-bom
+ ${dep.version}
+ pom
+ import
+
+
+
+
diff --git a/its/core-it-suite/src/test/resources/gh-11798-consumer-pom-profile-activation/pom.xml b/its/core-it-suite/src/test/resources/gh-11798-consumer-pom-profile-activation/pom.xml
new file mode 100644
index 000000000000..f37a5a75cb32
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/gh-11798-consumer-pom-profile-activation/pom.xml
@@ -0,0 +1,59 @@
+
+
+
+ 4.1.0
+
+ org.apache.maven.its.gh11798
+ parent
+ 1.0
+ pom
+
+
+ child
+
+
+
+
+
+ true
+ ignore
+
+
+ false
+
+ local-test-repo
+ file://${project.rootDirectory}/repo
+
+
+
+
+
+ default-versions
+
+
+ !skipDefaultVersions
+
+
+
+ 1.0
+
+
+
+
diff --git a/its/core-it-suite/src/test/resources/gh-11798-consumer-pom-profile-activation/repo/org/apache/maven/its/gh11798/test-bom/1.0/test-bom-1.0.pom b/its/core-it-suite/src/test/resources/gh-11798-consumer-pom-profile-activation/repo/org/apache/maven/its/gh11798/test-bom/1.0/test-bom-1.0.pom
new file mode 100644
index 000000000000..7e82f9cdf8f5
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/gh-11798-consumer-pom-profile-activation/repo/org/apache/maven/its/gh11798/test-bom/1.0/test-bom-1.0.pom
@@ -0,0 +1,7 @@
+
+ 4.0.0
+ org.apache.maven.its.gh11798
+ test-bom
+ 1.0
+ pom
+