Re: Commandline inheritance

2021-08-11 Thread Robert Scholte

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

2021-08-11 Thread Benjamin Marwell
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

2021-08-10 Thread Tamás Cservenák
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

2021-08-10 Thread Michael Osipov

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

2021-08-09 Thread 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.

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

2021-08-09 Thread Delany
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

2021-08-09 Thread Robert Scholte
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

2021-08-09 Thread Benjamin Marwell
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

2021-08-08 Thread Michael Osipov

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

2021-08-08 Thread 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