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]