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]

Reply via email to