Re: Commandline inheritance
Confirmed. Having the definition of central-repo in mind: this one is nominated to be moved from the super-pom to the installation settings.xml. It makes sense to have the ability to always override it using the user settings.xml (if you want to). Next the proposal is still to finally provide the --settings to override the previous result (so not anymore replacing one of the previous files). Based on the responses this seems to be preferred solution for handling this. Robert -- Origineel bericht -- Van: "Tamás Cservenák" Aan: "Maven Developers List" Verzonden: 10-8-2021 22:18:22 Onderwerp: Re: Commandline inheritance A git like behavior sound good for me as well. So install/system-wise < user < project T On Tue, Aug 10, 2021, 08:22 Benjamin Marwell wrote: I read Michaels message the way like option 6: > 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). Installation is more generic (global) than user. Same for git: it will first parse the installation settings (/etc), then any user settings, then any project settings. Or are we mixing up terms here? NPM does the same, too. On Mon, 9 Aug 2021, 16:35 Robert Scholte, wrote: > I'll add it, but it doesn't match the order of GIT[1] as mentioned by > Michael. > Maybe there should be a list of other comparable tools with their order > > > Robert > > > [1] https://git-scm.com/docs/git-config#FILES > On 9-8-2021 15:09:30, Benjamin Marwell wrote: > Hi Robert, > > I would like to propose another solution. > According to the wiki page and to the documentation, we have > > user > > where " > > From what I understand from other build systems, a more common approach > would be > > installation (aka global) > > This would fix the naming issue (global becomes global). > Of course this is a breaking change, but for maven 4, this seems > reasonable to me. > > Am So., 8. Aug. 2021 um 11:48 Uhr 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. > > > > thanks, > > Robert > > > > [1] > https://cwiki.apache.org/confluence/display/MAVEN/Commandline+inheritance > > - > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > For additional commands, e-mail: dev-h...@maven.apache.org > > - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org
Re: Commandline inheritance
Yup, that's what I meant. Big +1! On Tue, 10 Aug 2021, 22:18 Tamás Cservenák, wrote: > A git like behavior sound good for me as well. > > So install/system-wise < user < project > > T > > > On Tue, Aug 10, 2021, 08:22 Benjamin Marwell wrote: > > > I read Michaels message the way like option 6: > > > > > 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). > > > > Installation is more generic (global) than user. > > > > Same for git: it will first parse the installation settings (/etc), then > > any user settings, then any project settings. > > > > Or are we mixing up terms here? > > > > NPM does the same, too. > > > > > > > > > > On Mon, 9 Aug 2021, 16:35 Robert Scholte, wrote: > > > > > I'll add it, but it doesn't match the order of GIT[1] as mentioned by > > > Michael. > > > Maybe there should be a list of other comparable tools with their order > > > > > > > > > Robert > > > > > > > > > [1] https://git-scm.com/docs/git-config#FILES > > > On 9-8-2021 15:09:30, Benjamin Marwell wrote: > > > Hi Robert, > > > > > > I would like to propose another solution. > > > According to the wiki page and to the documentation, we have > > > > > > user > > > > > > where " > > > > > > From what I understand from other build systems, a more common approach > > > would be > > > > > > installation (aka global) > > > > > > This would fix the naming issue (global becomes global). > > > Of course this is a breaking change, but for maven 4, this seems > > > reasonable to me. > > > > > > Am So., 8. Aug. 2021 um 11:48 Uhr 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. > > > > > > > > thanks, > > > > Robert > > > > > > > > [1] > > > > > > https://cwiki.apache.org/confluence/display/MAVEN/Commandline+inheritance > > > > > > - > > > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > > > For additional commands, e-mail: dev-h...@maven.apache.org > > > > > > > > >
Re: Commandline inheritance
A git like behavior sound good for me as well. So install/system-wise < user < project T On Tue, Aug 10, 2021, 08:22 Benjamin Marwell wrote: > I read Michaels message the way like option 6: > > > 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). > > Installation is more generic (global) than user. > > Same for git: it will first parse the installation settings (/etc), then > any user settings, then any project settings. > > Or are we mixing up terms here? > > NPM does the same, too. > > > > > On Mon, 9 Aug 2021, 16:35 Robert Scholte, wrote: > > > I'll add it, but it doesn't match the order of GIT[1] as mentioned by > > Michael. > > Maybe there should be a list of other comparable tools with their order > > > > > > Robert > > > > > > [1] https://git-scm.com/docs/git-config#FILES > > On 9-8-2021 15:09:30, Benjamin Marwell wrote: > > Hi Robert, > > > > I would like to propose another solution. > > According to the wiki page and to the documentation, we have > > > > user > > > > where " > > > > From what I understand from other build systems, a more common approach > > would be > > > > installation (aka global) > > > > This would fix the naming issue (global becomes global). > > Of course this is a breaking change, but for maven 4, this seems > > reasonable to me. > > > > Am So., 8. Aug. 2021 um 11:48 Uhr 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. > > > > > > thanks, > > > Robert > > > > > > [1] > > > https://cwiki.apache.org/confluence/display/MAVEN/Commandline+inheritance > > > > - > > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > > For additional commands, e-mail: dev-h...@maven.apache.org > > > > >
Re: Commandline inheritance
Am 2021-08-10 um 08:21 schrieb Benjamin Marwell: I read Michaels message the way like option 6: 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). Installation is more generic (global) than user. Same for git: it will first parse the installation settings (/etc), then any user settings, then any project settings. /etc isn't installation settings. It's system settings. Or are we mixing up terms here? No, Robert created option 7 which reflects your and my view. On Mon, 9 Aug 2021, 16:35 Robert Scholte, wrote: I'll add it, but it doesn't match the order of GIT[1] as mentioned by Michael. Maybe there should be a list of other comparable tools with their order Robert [1] https://git-scm.com/docs/git-config#FILES On 9-8-2021 15:09:30, Benjamin Marwell wrote: Hi Robert, I would like to propose another solution. According to the wiki page and to the documentation, we have user where " From what I understand from other build systems, a more common approach would be installation (aka global) This would fix the naming issue (global becomes global). Of course this is a breaking change, but for maven 4, this seems reasonable to me. Am So., 8. Aug. 2021 um 11:48 Uhr 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. thanks, Robert [1] https://cwiki.apache.org/confluence/display/MAVEN/Commandline+inheritance - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org
Re: Commandline inheritance
I read Michaels message the way like option 6: > 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). Installation is more generic (global) than user. Same for git: it will first parse the installation settings (/etc), then any user settings, then any project settings. Or are we mixing up terms here? NPM does the same, too. On Mon, 9 Aug 2021, 16:35 Robert Scholte, wrote: > I'll add it, but it doesn't match the order of GIT[1] as mentioned by > Michael. > Maybe there should be a list of other comparable tools with their order > > > Robert > > > [1] https://git-scm.com/docs/git-config#FILES > On 9-8-2021 15:09:30, Benjamin Marwell wrote: > Hi Robert, > > I would like to propose another solution. > According to the wiki page and to the documentation, we have > > user > > where " > > From what I understand from other build systems, a more common approach > would be > > installation (aka global) > > This would fix the naming issue (global becomes global). > Of course this is a breaking change, but for maven 4, this seems > reasonable to me. > > Am So., 8. Aug. 2021 um 11:48 Uhr 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. > > > > thanks, > > Robert > > > > [1] > https://cwiki.apache.org/confluence/display/MAVEN/Commandline+inheritance > > - > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > For additional commands, e-mail: dev-h...@maven.apache.org > >
Re: Commandline inheritance
When I see "global" I think scope (applies to all users) not precedence (applies first). I'm happy with option 5 as it stands. It allows configuration to be set that can both overide or be overridden by the project, without changing system files. Delany On Mon, 9 Aug 2021, 15:09 Benjamin Marwell, wrote: > Hi Robert, > > I would like to propose another solution. > According to the wiki page and to the documentation, we have > > user < installation (aka global) < project. > > where "<" means "is overridden by". > > From what I understand from other build systems, a more common approach > would be > > installation (aka global) < user < project > > This would fix the naming issue (global becomes global). > Of course this is a breaking change, but for maven 4, this seems > reasonable to me. > > Am So., 8. Aug. 2021 um 11:48 Uhr schrieb Robert Scholte < > rfscho...@apache.org>: > > > > 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. > > > > thanks, > > Robert > > > > [1] > https://cwiki.apache.org/confluence/display/MAVEN/Commandline+inheritance > > - > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > For additional commands, e-mail: dev-h...@maven.apache.org > >
Re: Commandline inheritance
I'll add it, but it doesn't match the order of GIT[1] as mentioned by Michael. Maybe there should be a list of other comparable tools with their order Robert [1] https://git-scm.com/docs/git-config#FILES On 9-8-2021 15:09:30, Benjamin Marwell wrote: Hi Robert, I would like to propose another solution. According to the wiki page and to the documentation, we have user where " >From what I understand from other build systems, a more common approach would >be installation (aka global) This would fix the naming issue (global becomes global). Of course this is a breaking change, but for maven 4, this seems reasonable to me. Am So., 8. Aug. 2021 um 11:48 Uhr 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. > > thanks, > Robert > > [1] https://cwiki.apache.org/confluence/display/MAVEN/Commandline+inheritance - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org
Re: Commandline inheritance
Hi Robert, I would like to propose another solution. According to the wiki page and to the documentation, we have user < installation (aka global) < project. where "<" means "is overridden by". >From what I understand from other build systems, a more common approach would >be installation (aka global) < user < project This would fix the naming issue (global becomes global). Of course this is a breaking change, but for maven 4, this seems reasonable to me. Am So., 8. Aug. 2021 um 11:48 Uhr 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. > > thanks, > Robert > > [1] https://cwiki.apache.org/confluence/display/MAVEN/Commandline+inheritance - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org
Re: Commandline inheritance
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: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org
Commandline inheritance
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. thanks, Robert [1] https://cwiki.apache.org/confluence/display/MAVEN/Commandline+inheritance