Am 2021-08-08 um 11:48 schrieb Robert Scholte:
During a discussion with Michael we noticed there's something odd about the 
names of some flags and the order of inheritance.

I've tried to explain it on a separate wiki page[1] together with the first 3 
options how we could fix it.
Please have a look at it and share your thoughts.

Sharing a few thoughts we partially already discussed privately:

Order: We used the example of Git [1] (Subversion to some extend too [2]) how it manages configuration/settings. I can't see a bundled file which we call installation in both SCM clients. Both use the same approach, a more generic configuration is overriden by a more specific one. Since we have only two files: installation and user, I'd expect that first the installation settings are parsed followed by user settings (generic to specific).

Regarding option 2: I think global should really be system. E.g., /usr/local/etc/maven/settings.xml, /usr/local/etc/maven/toolchains.xml if necessary.

Naming: I'd like to propose a fourth option. --maven-settings sounds quite general since all settings are Maven settings. We alread have user and installation, therefore it should be reflected in the flags: --user-settings (-us) and --installation-settings (--is). This provides a clear migration path off the previous flags.

Use cases: Considering that Maven Central will move to installation settings in Maven 4 I wonder what are the usecases to override both settings files? Installation settings: if something is permanent an admin would change the file, especially on CI servers providing the same configuration for all jobs, credentials for internal Nexus, replacing Maven Central with a proxy repository, etc., non-interactiveness. User settings: Alternative deployments, testing?

From a user's PoV I should always be able to override configuration I cannot change directly (system-wide/installation-wide).

Michael

[1] https://git-scm.com/docs/git-config#FILES
[2] https://github.com/apache/subversion/blob/015245dc5ade2bee025460175279ad582b68dfcb/subversion/libsvn_subr/config.c#L207-L220

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

Reply via email to