Thanks, great feedback!

CC to dev@

- Ben


On 2 April 2026 15:08:37 CEST, Olivier Bourgain <[email protected]> 
wrote:
>Hello,
>
>After meeting Hervé at an event, I tried using Maven 4 on $COMPANY's
>projects.
>I have a script to build about 140 projects, including libraries and
>applications and two Maven plugins.
>I encountered one bug, and I think I can make a few suggestions to improve
>the UX.
>The mail is quite long and about several topics, I can break it to
>different topics if you prefer.
>
>1- the Bug
>Summary: can't combine ! and ? for profiles.
>
>Related to https://issues.apache.org/jira/browse/MNG-7051
>
>Detailed description:
>My build script sets a bunch of profiles and applies them blindly to all
>projects.
>The profiles have various purposes, like building a front app and embed it
>in an artifact, run code gen plugins etc.
>With Maven 3, for projects that don't have this profile, I just get a
>warning. Maven 4 is more strict and fails. I can mark the profile as
>optional with -P?xxx  and that's fine.
>The issue arises with profiles that are activeByDefault. I can not combine
>? and ! to ask Maven 4 to disable the profile if it exists, and ignore it
>if it doesn't exist.
>
>2- UX improvements
>a- When a profile doesn't exist, I get the following error:
>
>[ERROR] The requested profiles [foo] could not be activated or deactivated
>because they do not exist. -> [Help 1]
>[ERROR]
>[ERROR] To see the full stack trace of the errors, re-run Maven with the
>'-e' switch
>[ERROR] Re-run Maven using the '-X' switch to enable verbose output
>[ERROR]
>[ERROR] For more information about the errors and possible solutions,
>please read the following articles:
>[ERROR] [Help 1]
>http://cwiki.apache.org/confluence/display/MAVEN/MissingProfilesException
>
>- the link is dead
>- the message could be improved to make the existence of '?' more
>discoverable.
>e.g:
>
>[ERROR] The requested profiles [foo] could not be activated or deactivated
>because they do not exist. If this is expected, mark the profile as
>optional with '?'
>
>
>b- the following message is not actionable
>
>[INFO] Artifact com.sun.activation:all:pom:1.2.2 is present in the local
>repository, but cached from a remote repository ID that is unavailable in
>current build context, verifying that is downloadable from [central (
>https://repo.maven.apache.org/maven2, default, releases)]
>
>Maybe more information about how this situation can arise, and the issue it
>causes. I have no precise suggestion here.
>
>
>c- this should be DEBUG
>I get what it is about, but as I user this is not a useful information
>about my build:
>
>[INFO] Loaded 22245 auto-discovered prefixes for remote repository central
>(prefixes-central.txt)
>
>d- Missing an explanation of the why
>Could be inline if short enough or a link to doc
>
>[WARNING] Unable to find the root directory. Create a .mvn directory in the
>root directory or add the root="true" attribute on the root project's model
>to identify it.
>
>e- error reporting contains a lot of duplicate information between root and
>modules. Maybe they can be grouped by category.
>E.g.
>[WARNING] 3 problems were encountered while building the effective model
>for 'com.acme:the-module:jar:latest-SNAPSHOT' (use -e to see details)
>[WARNING] Ignored POM import for:
>commons-logging:commons-logging:jar:1.3.5@compile as already imported
>commons-logging:commons-logging:jar:99-empty@compile. Add the conflicting
>managed dependency directly to the dependencyManagement section of the POM.
>[WARNING] Ignored POM import for:
>org.assertj:assertj-core:jar:3.27.6@compile as already imported
>org.assertj:assertj-core:jar:3.27.7@compile. Add the conflicting managed
>dependency directly to the dependencyManagement section of the POM.
>[WARNING] Ignored POM import for:
>org.eclipse.angus:jakarta.mail:jar:2.0.3@compile as already imported
>org.eclipse.angus:jakarta.mail:jar:2.0.5@compile. Add the conflicting
>managed dependency directly to the dependencyManagement section of the POM.
>[WARNING]
>[WARNING] 3 problems were encountered while building the effective model
>for 'com.acme:the-root:pom:latest-SNAPSHOT' (use -e to see details)
>[WARNING] Ignored POM import for:
>commons-logging:commons-logging:jar:1.3.5@compile as already imported
>commons-logging:commons-logging:jar:99-empty@compile. Add the conflicting
>managed dependency directly to the dependencyManagement section of the POM.
>[WARNING] Ignored POM import for:
>org.assertj:assertj-core:jar:3.27.6@compile as already imported
>org.assertj:assertj-core:jar:3.27.7@compile. Add the conflicting managed
>dependency directly to the dependencyManagement section of the POM.
>[WARNING] Ignored POM import for:
>org.eclipse.angus:jakarta.mail:jar:2.0.3@compile as already imported
>org.eclipse.angus:jakarta.mail:jar:2.0.5@compile. Add the conflicting
>managed dependency directly to the dependencyManagement section of the POM.
>[WARNING]
>[WARNING] Total model problems reported: 6
>
>Deduplication could help readability, in particular as in my case the
>problem in 'the-module' are inherited from 'the-root' and should be fixed
>there.
>E.g. we could have something like
>[WARNING] 3 problems were encountered while building the effective model
>for 'com.acme:the-root:pom:latest-SNAPSHOT' (use -e to see details)
>[WARNING] Also impacts: ['com.acme:the-module:jar:latest-SNAPSHOT']
>[WARNING] Ignored POM import for:
>commons-logging:commons-logging:jar:1.3.5@compile as already imported
>commons-logging:commons-logging:jar:99-empty@compile. Add the conflicting
>managed dependency directly to the dependencyManagement section of the POM.
>[WARNING] Ignored POM import for:
>org.assertj:assertj-core:jar:3.27.6@compile as already imported
>org.assertj:assertj-core:jar:3.27.7@compile. Add the conflicting managed
>dependency directly to the dependencyManagement section of the POM.
>[WARNING] Ignored POM import for:
>org.eclipse.angus:jakarta.mail:jar:2.0.3@compile as already imported
>org.eclipse.angus:jakarta.mail:jar:2.0.5@compile. Add the conflicting
>managed dependency directly to the dependencyManagement section of the POM.
>[WARNING]
>[WARNING] Total model problems reported: 3
>
>Thanks.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to