slachiewicz commented on issue #13084: URL: https://github.com/apache/maven/issues/13084#issuecomment-5633498026
Ran the reproducer against a build of the current `maven-3.10.x` head (290a4a76), with and without the [PR #13095](https://github.com/apache/maven/pull/13095) compat hunk ported to `maven-model-builder` (applies with `-p2`, two-line offset). ``` Verified: 3.10.x head, dependency:tree → WARNING "POM ... is invalid", 9 missing versions, tree lists only resteasy-client Verified: 3.10.x head + #13095 hunk → 18 transitives, tree identical to 3.9.16 Verified: 3.10.x head + -Dmaven.model.dependencyInterpolation.full=true → still 9 missing versions ``` - 3.10.x does not fail hard for `compile` or `dependency:tree`; it behaves like 4.0.x (warning, green build, transitives gone). Only goals whose output is the effective model itself fail, such as `toolbox:gav-effective-model`. - `maven.model.dependencyInterpolation.full` is not an escape hatch: it only relaxes interpolation, the profile filter never consults it. - 3.10.0-rc-1 predates the change, so no released line is affected. `maven-3.9.x` is clean and must not receive the backport announced in the commit body until this fix lands with it. Prevalence, from a scan of one local repository (5800 POMs, not Central): | Activation idiom | Profiles | Adding dependencies or dependencyManagement | |---|---|---| | `!name`, no value | 103 | 9 | | name with `!value` | 91 | 7 | | positive name, no value | 429 | 19 | | name with value | 235 | 6 | The `!value` hits (Guice 3.0, Apache SSHD) contribute only optional or test-scope dependencies, so measured impact is low, but it is the same default-on shape as `!name`. Questions: 1. #13095 is master only. I would keep this issue as the tracker and link one PR per line (`maven-3.10.x`, `maven-4.0.x` before rc-7). Objections? 2. @gnodet should `isSafePropertyActivation` also accept `<value>!x</value>` with a positive name? 3. @gnodet on master the changed predicate is shared with the `BUILD_CONSUMER` branch, so #13095 also changes which profiles are inlined into published consumer POMs. GH-11798 wants exactly that and CI is green, but the PR body does not mention it. Intended? 4. #13095 tests only the compat module; the Maven 4 runtime path in `maven-impl` has no test for this case. Can the regression IT cover both? *This comment was created with AI assistance.* -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
