Consumer POM should keep only transitive dependencies, fixes #11162 (#11163)

Behavior:
- Keep only dependencies with transitive scopes (DependencyScope.isTransitive); null/empty treated as COMPILE
- Use MAIN_RUNTIME for dependency collection
- Drop all non-transitive scopes from consumer POM
diff --git a/impl/maven-core/src/main/java/org/apache/maven/internal/transformation/impl/DefaultConsumerPomBuilder.java b/impl/maven-core/src/main/java/org/apache/maven/internal/transformation/impl/DefaultConsumerPomBuilder.java
index 3a17f00..0cd11ff 100644
--- a/impl/maven-core/src/main/java/org/apache/maven/internal/transformation/impl/DefaultConsumerPomBuilder.java
+++ b/impl/maven-core/src/main/java/org/apache/maven/internal/transformation/impl/DefaultConsumerPomBuilder.java
@@ -29,6 +29,7 @@
 import java.util.stream.Collectors;
 
 import org.apache.maven.api.ArtifactCoordinates;
+import org.apache.maven.api.DependencyScope;
 import org.apache.maven.api.Node;
 import org.apache.maven.api.PathScope;
 import org.apache.maven.api.SessionData;
@@ -114,7 +115,7 @@ private Model buildEffectiveModel(RepositorySystemSession session, Path src) thr
             ArtifactCoordinates artifact = iSession.createArtifactCoordinates(
                     model.getGroupId(), model.getArtifactId(), model.getVersion(), null);
             Node node = iSession.collectDependencies(
-                    iSession.createDependencyCoordinates(artifact), PathScope.TEST_RUNTIME);
+                    iSession.createDependencyCoordinates(artifact), PathScope.MAIN_RUNTIME);
 
             Map<String, Node> nodes = node.stream()
                     .collect(Collectors.toMap(n -> getDependencyKey(n.getDependency()), Function.identity()));
@@ -159,6 +160,8 @@ private Model buildEffectiveModel(RepositorySystemSession session, Path src) thr
                 }
                 return dependency;
             });
+            // Only keep transitive scopes (null/empty => COMPILE)
+            directDependencies.values().removeIf(DefaultConsumerPomBuilder::hasDependencyScope);
             managedDependencies.keySet().removeAll(directDependencies.keySet());
 
             model = model.withDependencyManagement(
@@ -166,13 +169,36 @@ private Model buildEffectiveModel(RepositorySystemSession session, Path src) thr
                                     ? null
                                     : model.getDependencyManagement().withDependencies(managedDependencies.values()))
                     .withDependencies(directDependencies.isEmpty() ? null : directDependencies.values());
+        } else {
+            // Even without dependencyManagement, filter direct dependencies to compile/runtime only
+            Map<String, Dependency> directDependencies = model.getDependencies().stream()
+                    .filter(dependency -> !"import".equals(dependency.getScope()))
+                    .collect(Collectors.toMap(
+                            DefaultConsumerPomBuilder::getDependencyKey,
+                            Function.identity(),
+                            this::merge,
+                            LinkedHashMap::new));
+            // Only keep transitive scopes
+            directDependencies.values().removeIf(DefaultConsumerPomBuilder::hasDependencyScope);
+            model = model.withDependencies(directDependencies.isEmpty() ? null : directDependencies.values());
         }
 
         return model;
     }
 
+    private static boolean hasDependencyScope(Dependency dependency) {
+        String scopeId = dependency.getScope();
+        DependencyScope scope;
+        if (scopeId == null || scopeId.isEmpty()) {
+            scope = DependencyScope.COMPILE;
+        } else {
+            scope = DependencyScope.forId(scopeId);
+        }
+        return scope == null || !scope.isTransitive();
+    }
+
     private Dependency merge(Dependency dep1, Dependency dep2) {
-        throw new IllegalArgumentException("Duplicate dependency: " + dep1);
+        throw new IllegalArgumentException("Duplicate dependency: " + getDependencyKey(dep1));
     }
 
     private static String getDependencyKey(org.apache.maven.api.Dependency dependency) {
@@ -182,7 +208,7 @@ private static String getDependencyKey(org.apache.maven.api.Dependency dependenc
 
     private static String getDependencyKey(Dependency dependency) {
         return dependency.getGroupId() + ":" + dependency.getArtifactId() + ":"
-                + (dependency.getType() != null ? dependency.getType() : "") + ":"
+                + (dependency.getType() != null ? dependency.getType() : "jar") + ":"
                 + (dependency.getClassifier() != null ? dependency.getClassifier() : "");
     }
 
diff --git a/its/.gitignore b/its/.gitignore
index 1e857fd..7398428 100644
--- a/its/.gitignore
+++ b/its/.gitignore
@@ -1,6 +1,5 @@
 .svn
 target
-/repo
 .project
 .classpath
 .settings
diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITgh11162ConsumerPomScopesTest.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITgh11162ConsumerPomScopesTest.java
new file mode 100644
index 0000000..f7dbe71
--- /dev/null
+++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITgh11162ConsumerPomScopesTest.java
@@ -0,0 +1,84 @@
+/*
+ * 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.io.Reader;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import org.apache.maven.api.model.Model;
+import org.apache.maven.model.v4.MavenStaxReader;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+/**
+ * Verify that consumer POM keeps only "compile" and "runtime" scoped dependencies
+ * and drops other scopes including the new scopes introduced by Maven 4.
+ */
+class MavenITgh11162ConsumerPomScopesTest extends AbstractMavenIntegrationTestCase {
+
+    MavenITgh11162ConsumerPomScopesTest() {
+        super("(4.0.0-rc-3,)");
+    }
+
+    @Test
+    void testConsumerPomFiltersScopes() throws Exception {
+        Path basedir = extractResources("/gh-11162-consumer-pom-scopes").toPath();
+
+        Verifier verifier = newVerifier(basedir.toString());
+        verifier.addCliArgument("install");
+        verifier.execute();
+        verifier.verifyErrorFreeLog();
+
+        Path consumerPom = basedir.resolve(Paths.get(
+                "target",
+                "project-local-repo",
+                "org.apache.maven.its.gh11162",
+                "consumer-pom-scopes-app",
+                "1.0",
+                "consumer-pom-scopes-app-1.0-consumer.pom"));
+        assertTrue(Files.exists(consumerPom), "consumer pom not found at " + consumerPom);
+
+        Model consumerPomModel;
+        try (Reader r = Files.newBufferedReader(consumerPom)) {
+            consumerPomModel = new MavenStaxReader().read(r);
+        }
+
+        long numDeps = consumerPomModel.getDependencies() != null
+                ? consumerPomModel.getDependencies().size()
+                : 0;
+        assertEquals(2, numDeps, "Consumer POM should keep only compile and runtime dependencies");
+
+        boolean hasCompile = consumerPomModel.getDependencies().stream()
+                .anyMatch(d -> "compile".equals(d.getScope()) && "compile-dep".equals(d.getArtifactId()));
+        boolean hasRuntime = consumerPomModel.getDependencies().stream()
+                .anyMatch(d -> "runtime".equals(d.getScope()) && "runtime-dep".equals(d.getArtifactId()));
+        assertTrue(hasCompile, "compile dependency should be present");
+        assertTrue(hasRuntime, "runtime dependency should be present");
+
+        long dropped = consumerPomModel.getDependencies().stream()
+                .map(d -> d.getScope())
+                .filter(s -> !"compile".equals(s) && !"runtime".equals(s))
+                .count();
+        assertEquals(0, dropped, "All non compile/runtime scopes should be dropped in consumer POM");
+    }
+}
diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8527ConsumerPomTest.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8527ConsumerPomTest.java
index f5c8715..2ad11b4 100644
--- a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8527ConsumerPomTest.java
+++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8527ConsumerPomTest.java
@@ -70,11 +70,11 @@ void testIt() throws Exception {
                 consumerPomLines.stream().anyMatch(s -> s.contains("<organization>")),
                 "Consumer pom should have an <organization> element");
         assertEquals(
-                2,
+                1,
                 consumerPomLines.stream()
                         .filter(s -> s.contains("<dependency>"))
                         .count(),
-                "Consumer pom should have two dependencies");
+                "Consumer pom should have one dependency");
 
         List<String> buildPomLines;
         try (Stream<String> lines = Files.lines(buildPomPath)) {
diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/TestSuiteOrdering.java b/its/core-it-suite/src/test/java/org/apache/maven/it/TestSuiteOrdering.java
index 54f4b48..9ecc5d4 100644
--- a/its/core-it-suite/src/test/java/org/apache/maven/it/TestSuiteOrdering.java
+++ b/its/core-it-suite/src/test/java/org/apache/maven/it/TestSuiteOrdering.java
@@ -103,6 +103,7 @@ public TestSuiteOrdering() {
          * the tests are to finishing. Newer tests are also more likely to fail, so this is
          * a fail fast technique as well.
          */
+        suite.addTestSuite(MavenITgh11162ConsumerPomScopesTest.class);
         suite.addTestSuite(MavenITgh11181CoreExtensionsMetaVersionsTest.class);
         suite.addTestSuite(MavenITmng8750NewScopesTest.class);
         suite.addTestSuite(MavenITgh11055DIServiceInjectionTest.class);
diff --git a/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/app/pom.xml b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/app/pom.xml
new file mode 100644
index 0000000..a0198b5
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/app/pom.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.1.0">
+  <modelVersion>4.1.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.its.gh11162</groupId>
+    <artifactId>consumer-pom-scopes-parent</artifactId>
+    <version>1.0</version>
+  </parent>
+
+  <artifactId>consumer-pom-scopes-app</artifactId>
+  <packaging>jar</packaging>
+
+  <name>Maven Integration Test :: mng-8750 :: Consumer POM Scopes App</name>
+
+  <dependencies>
+    <!-- should be kept as compile -->
+    <dependency>
+      <groupId>org.apache.maven.its.gh11162</groupId>
+      <artifactId>compile-dep</artifactId>
+      <version>1.0</version>
+      <scope>compile</scope>
+    </dependency>
+
+    <!-- should be dropped (non-transitive) -->
+    <dependency>
+      <groupId>org.apache.maven.its.gh11162</groupId>
+      <artifactId>compile-only-dep</artifactId>
+      <version>1.0</version>
+      <scope>compile-only</scope>
+    </dependency>
+
+    <!-- should be dropped (non-transitive) -->
+    <dependency>
+      <groupId>org.apache.maven.its.gh11162</groupId>
+      <artifactId>test-only-dep</artifactId>
+      <version>1.0</version>
+      <scope>test-only</scope>
+    </dependency>
+
+    <!-- should be dropped (non-transitive) -->
+    <dependency>
+      <groupId>org.apache.maven.its.gh11162</groupId>
+      <artifactId>test-dep</artifactId>
+      <version>1.0</version>
+      <scope>test</scope>
+    </dependency>
+
+    <!-- should be dropped (non-compile/runtime) -->
+    <dependency>
+      <groupId>org.apache.maven.its.gh11162</groupId>
+      <artifactId>test-runtime-dep</artifactId>
+      <version>1.0</version>
+      <scope>test-runtime</scope>
+    </dependency>
+
+    <!-- should be kept as runtime -->
+    <dependency>
+      <groupId>org.apache.maven.its.gh11162</groupId>
+      <artifactId>runtime-dep</artifactId>
+      <version>1.0</version>
+      <scope>runtime</scope>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/pom.xml b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/pom.xml
new file mode 100644
index 0000000..cc4d20a
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/pom.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.1.0" root="true">
+  <modelVersion>4.1.0</modelVersion>
+
+  <groupId>org.apache.maven.its.gh11162</groupId>
+  <artifactId>consumer-pom-scopes-parent</artifactId>
+  <version>1.0</version>
+  <packaging>pom</packaging>
+
+  <modules>
+    <module>app</module>
+  </modules>
+
+  <repositories>
+    <repository>
+      <releases>
+        <enabled>true</enabled>
+        <checksumPolicy>ignore</checksumPolicy>
+      </releases>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <id>local-test-repo</id>
+      <url>file://${project.rootDirectory}/repo</url>
+    </repository>
+  </repositories>
+</project>
diff --git a/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/compile-dep/1.0/compile-dep-1.0.jar b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/compile-dep/1.0/compile-dep-1.0.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/compile-dep/1.0/compile-dep-1.0.jar
diff --git a/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/compile-dep/1.0/compile-dep-1.0.pom b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/compile-dep/1.0/compile-dep-1.0.pom
new file mode 100644
index 0000000..10ea33e
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/compile-dep/1.0/compile-dep-1.0.pom
@@ -0,0 +1,7 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.maven.its.gh11162</groupId>
+    <artifactId>compile-only-dep</artifactId>
+    <version>1.0</version>
+    <packaging>jar</packaging>
+</project>
\ No newline at end of file
diff --git a/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/compile-only-dep/1.0/compile-only-dep-1.0.jar b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/compile-only-dep/1.0/compile-only-dep-1.0.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/compile-only-dep/1.0/compile-only-dep-1.0.jar
diff --git a/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/compile-only-dep/1.0/compile-only-dep-1.0.pom b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/compile-only-dep/1.0/compile-only-dep-1.0.pom
new file mode 100644
index 0000000..10ea33e
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/compile-only-dep/1.0/compile-only-dep-1.0.pom
@@ -0,0 +1,7 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.maven.its.gh11162</groupId>
+    <artifactId>compile-only-dep</artifactId>
+    <version>1.0</version>
+    <packaging>jar</packaging>
+</project>
\ No newline at end of file
diff --git a/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/runtime-dep/1.0/runtime-dep-1.0.jar b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/runtime-dep/1.0/runtime-dep-1.0.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/runtime-dep/1.0/runtime-dep-1.0.jar
diff --git a/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/runtime-dep/1.0/runtime-dep-1.0.pom b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/runtime-dep/1.0/runtime-dep-1.0.pom
new file mode 100644
index 0000000..e245f6c
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/runtime-dep/1.0/runtime-dep-1.0.pom
@@ -0,0 +1,7 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.maven.its.gh11162</groupId>
+    <artifactId>runtime-dep</artifactId>
+    <version>1.0</version>
+    <packaging>jar</packaging>
+</project>
\ No newline at end of file
diff --git a/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/test-dep/1.0/test-dep-1.0.jar b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/test-dep/1.0/test-dep-1.0.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/test-dep/1.0/test-dep-1.0.jar
diff --git a/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/test-dep/1.0/test-dep-1.0.pom b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/test-dep/1.0/test-dep-1.0.pom
new file mode 100644
index 0000000..68cd312
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/test-dep/1.0/test-dep-1.0.pom
@@ -0,0 +1,7 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.maven.its.gh11162</groupId>
+    <artifactId>test-dep</artifactId>
+    <version>1.0</version>
+    <packaging>jar</packaging>
+</project>
\ No newline at end of file
diff --git a/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/test-only-dep/1.0/test-only-dep-1.0.jar b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/test-only-dep/1.0/test-only-dep-1.0.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/test-only-dep/1.0/test-only-dep-1.0.jar
diff --git a/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/test-only-dep/1.0/test-only-dep-1.0.pom b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/test-only-dep/1.0/test-only-dep-1.0.pom
new file mode 100644
index 0000000..ee39997
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/test-only-dep/1.0/test-only-dep-1.0.pom
@@ -0,0 +1,7 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.maven.its.gh11162</groupId>
+    <artifactId>test-only-dep</artifactId>
+    <version>1.0</version>
+    <packaging>jar</packaging>
+</project>
\ No newline at end of file
diff --git a/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/test-runtime-dep/1.0/test-runtime-dep-1.0.jar b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/test-runtime-dep/1.0/test-runtime-dep-1.0.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/test-runtime-dep/1.0/test-runtime-dep-1.0.jar
diff --git a/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/test-runtime-dep/1.0/test-runtime-dep-1.0.pom b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/test-runtime-dep/1.0/test-runtime-dep-1.0.pom
new file mode 100644
index 0000000..5c54163
--- /dev/null
+++ b/its/core-it-suite/src/test/resources/gh-11162-consumer-pom-scopes/repo/org/apache/maven/its/gh11162/test-runtime-dep/1.0/test-runtime-dep-1.0.pom
@@ -0,0 +1,7 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.maven.its.gh11162</groupId>
+    <artifactId>test-runtime-dep</artifactId>
+    <version>1.0</version>
+    <packaging>jar</packaging>
+</project>
\ No newline at end of file
diff --git a/its/core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/simple-weather.pom b/its/core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/simple-weather.pom
index cde80ac..3deed39 100644
--- a/its/core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/simple-weather.pom
+++ b/its/core-it-suite/src/test/resources/mng-6957-buildconsumer/expected/simple-weather.pom
@@ -5,12 +5,4 @@
   <artifactId>simple-weather</artifactId>
   <version>0.9-MNG6957-SNAPSHOT</version>
   <name>Multi Chapter Simple Weather API</name>
-  <dependencies>
-    <dependency>
-      <groupId>org.sonatype.mavenbook.multi</groupId>
-      <artifactId>simple-testutils</artifactId>
-      <version>0.9-MNG6957-SNAPSHOT</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
 </project>
\ No newline at end of file