You are viewing a plain text version of this content. The canonical link for it is here.
Posted to m2-dev@maven.apache.org by Jason van Zyl <jv...@maven.org> on 2004/06/04 00:36:13 UTC

m1 and m2 co-existing

Howdy,

One of the things that I would like to work very well is the ability for
m1 and m2 to run side by side with zero difficulty and for the most part
things work fairly well but I wanted to throw some more ideas.

The name of the POM xml file:

m1: project.xml
m2: pom.xml

This I would like to do first so that people can try experimenting with
the v4 POM without having to touch the m1 project.xml. I also think the
name pom.xml is more fitting, more mavenesque. It will also allow a
clear separation between m1 and m2 so for example if m2 is run and no
pom.xml exists but a project.xml does then it can be converted on the
fly or the user can be asked if they would like to create a pom.xml from
the project.xml.

The name of properties file with parameters:

We are definitely going unify the m1 notion of project.properties into
the POM itself for m2 but there will still be a need to have a
properties file for parameters. For this I was thinking that
maven.properties would be an appropriate name and again this will allow
an m1 build to sit along side an m2 build.

These are the things I would like to tackle next so feedback is
appreciated.

-- 
jvz.

Jason van Zyl
jason@maven.org
http://maven.apache.org

happiness is like a butterfly: the more you chase it, the more it will
elude you, but if you turn your attention to other things, it will come
and sit softly on your shoulder ...

 -- Thoreau 


Re: m1 and m2 co-existing

Posted by Jerome Lacoste <je...@coffeebreaks.org>.
On Fri, 2004-06-04 at 04:08, Tomasz Pik wrote:
> Rafal Krzewski wrote:
> 
> > here's my proposal of various m2 properties files:
> > 
> > project/pom.properties
> > project/pom.overrides  (project local overrides)
> > 
> > $HOME/.m2/pom.defaults
> > $HOME/.m2/pom.overrides
> 
> $ORGANIZATION/pom.defaults
> $ORGANIZATION/pom.overrides
> 
> where $ORGANIZATION is defined in $HOME/.m2/pom.defaults

so the only way to change your organization settings is by modifying the
.m2/pom.defaults file?

It would be nice if maven could reuse the organization node of the pom
file.... wouldn't it?

or you could have an implicit .maven2/overrides/<organization_name>/

directory used for that purpose. But I guess the capability of
specifying the $ORGANIZATION dir is required.

In that case, should the path looked for be $ORGANIZATION/.maven2/ ?

ORGANIZATION is a very generic name and may be used for other purposes.
Let's not pollute its space.

Jerome


Re: m1 and m2 co-existing

Posted by Tomasz Pik <pi...@ais.pl>.
Rafal Krzewski wrote:

> here's my proposal of various m2 properties files:
> 
> project/pom.properties
> project/pom.overrides  (project local overrides)
> 
> $HOME/.m2/pom.defaults
> $HOME/.m2/pom.overrides

$ORGANIZATION/pom.defaults
$ORGANIZATION/pom.overrides

where $ORGANIZATION is defined in $HOME/.m2/pom.defaults

> evaluation order is:
> 
> $HOME/.m2/pom.defaults
> parent project/pom.properties
> parent project/pom.overrides
> project/pom.properties
> project/pom.overrides
> $HOME/.m2/pom.overrides

Here I don't have the idea for a moment, in which place it should
be processed. Probably as a layer between $HOME and project settings
so

$HOME/.m2/pom.defaults
$ORGANIZATION/pom.defaults
parent project/pom.properties
parent project/pom.overrides
project/pom.properties
project/pom.overrides
$ORGANIZATION/pom.overrides
$HOME/.m2/pom.overrides

This additional layer will add a possibilty to include 'organization
wide' properties in one line in $HOME files instead of repeating
them in every $HOME.

Tomek


Re: m1 and m2 co-existing

Posted by Jerome Lacoste <je...@coffeebreaks.org>.
On Fri, 2004-06-04 at 04:00, Rafal Krzewski wrote:
> Jason van Zyl wrote:
> > Howdy,
> > 
> > One of the things that I would like to work very well is the ability for
> > m1 and m2 to run side by side with zero difficulty and for the most part
> > things work fairly well but I wanted to throw some more ideas.
> > 
> > The name of the POM xml file:
> > 
> > m1: project.xml
> > m2: pom.xml
> > 
> > This I would like to do first so that people can try experimenting with
> > the v4 POM without having to touch the m1 project.xml. I also think the
> > name pom.xml is more fitting, more mavenesque. It will also allow a
> > clear separation between m1 and m2 so for example if m2 is run and no
> > pom.xml exists but a project.xml does then it can be converted on the
> > fly or the user can be asked if they would like to create a pom.xml from
> > the project.xml.
> > 
> > The name of properties file with parameters:
> > 
> > We are definitely going unify the m1 notion of project.properties into
> > the POM itself for m2 but there will still be a need to have a
> > properties file for parameters. For this I was thinking that
> > maven.properties would be an appropriate name and again this will allow
> > an m1 build to sit along side an m2 build.
> > 
> > These are the things I would like to tackle next so feedback is
> > appreciated.
> > 
> 
> here's my proposal of various m2 properties files:
> 
> project/pom.properties
> project/pom.overrides  (project local overrides)
> 
> $HOME/.m2/pom.defaults
> $HOME/.m2/pom.overrides

make it .maven2 not .m2

J


Re: m1 and m2 co-existing

Posted by Rafal Krzewski <Ra...@caltha.pl>.
Jason van Zyl wrote:
> Howdy,
> 
> One of the things that I would like to work very well is the ability for
> m1 and m2 to run side by side with zero difficulty and for the most part
> things work fairly well but I wanted to throw some more ideas.
> 
> The name of the POM xml file:
> 
> m1: project.xml
> m2: pom.xml
> 
> This I would like to do first so that people can try experimenting with
> the v4 POM without having to touch the m1 project.xml. I also think the
> name pom.xml is more fitting, more mavenesque. It will also allow a
> clear separation between m1 and m2 so for example if m2 is run and no
> pom.xml exists but a project.xml does then it can be converted on the
> fly or the user can be asked if they would like to create a pom.xml from
> the project.xml.
> 
> The name of properties file with parameters:
> 
> We are definitely going unify the m1 notion of project.properties into
> the POM itself for m2 but there will still be a need to have a
> properties file for parameters. For this I was thinking that
> maven.properties would be an appropriate name and again this will allow
> an m1 build to sit along side an m2 build.
> 
> These are the things I would like to tackle next so feedback is
> appreciated.
> 

here's my proposal of various m2 properties files:

project/pom.properties
project/pom.overrides  (project local overrides)

$HOME/.m2/pom.defaults
$HOME/.m2/pom.overrides

evaluation order is:

$HOME/.m2/pom.defaults
parent project/pom.properties
parent project/pom.overrides
project/pom.properties
project/pom.overrides
$HOME/.m2/pom.overrides

When/if we decide to get rid of properties files, defaults/overrides 
will need to be specified as POMs also. This would call for a different 
naming strategy, like:

project/pom.xml
project/overrides.xml

$HOME/.m2/defaults.xml
$HOME/.m2/overrides.xml

Now, what do we do about current maven.xml file? Will it be supported in 
the future, or will users be forced to create their own plugins for 
customization? (note - I don't think it's a bad idea, but people are 
used to Ant/M1 where you can just script away)

If we decide to keep maven.xml, what should it become? script.xml?, 
goals.xml?

Rafal

Re: m1 and m2 co-existing

Posted by Jerome Lacoste <je...@coffeebreaks.org>.
On Thu, 2004-06-03 at 18:36, Jason van Zyl wrote:
> Howdy,
> 
> One of the things that I would like to work very well is the ability for
> m1 and m2 to run side by side with zero difficulty and for the most part
> things work fairly well but I wanted to throw some more ideas.
> 
> The name of the POM xml file:
> 
> m1: project.xml
> m2: pom.xml
> 
> This I would like to do first so that people can try experimenting with
> the v4 POM without having to touch the m1 project.xml. I also think the
> name pom.xml is more fitting, more mavenesque. It will also allow a
> clear separation between m1 and m2 so for example if m2 is run and no
> pom.xml exists but a project.xml does then it can be converted on the
> fly or the user can be asked if they would like to create a pom.xml from
> the project.xml.

that would be create a pom.xml from the project.xml +
project.properties?

> The name of properties file with parameters:
> 
> We are definitely going unify the m1 notion of project.properties into
> the POM itself for m2 but there will still be a need to have a
> properties file for parameters. For this I was thinking that
> maven.properties would be an appropriate name and again this will allow
> an m1 build to sit along side an m2 build.

What kind of parameters do you think of for that maven.properties file?

> These are the things I would like to tackle next so feedback is
> appreciated.


Talking about naming files, in maven 1.0 we have .jelly files. 
But Jelly is to be replaced if I got that correctly. 
I am not sure as to where does this leads in terms of compatibility, but these kind of changes should probably be taken into account when choosing a file name.

Jerome


Re: m1 and m2 co-existing

Posted by Brett Porter <br...@apache.org>.
Firstly, can we please make sure the reply-to: on the list is set to the list?

Back on topic, I think these are both good as long as we don't make a habit of it :)

I have a couple of Q's and thoughts:
- how does a user override something that is in the POM? ie what
build.properties used to do
- we should address the number of issues surrounding properties whether they are
in the POM or not (including things like the repo location, etc). Users want
installation-wide defaults, user defaults, installation-wide overrides, user
overrides and per-project overrides. Maven 1 only has the installation-wide
defaults (defaults.properties built into Maven), user overrides
(~/build.properties) and per project overrides (./build.properties).
- I also want to make sure none of these names are ever hardcoded, so you can
specify an alternative on the command line, or an env var

Cheers,
Brett

Quoting Jason van Zyl <jv...@maven.org>:

> Howdy,
> 
> One of the things that I would like to work very well is the ability for
> m1 and m2 to run side by side with zero difficulty and for the most part
> things work fairly well but I wanted to throw some more ideas.
> 
> The name of the POM xml file:
> 
> m1: project.xml
> m2: pom.xml
> 
> This I would like to do first so that people can try experimenting with
> the v4 POM without having to touch the m1 project.xml. I also think the
> name pom.xml is more fitting, more mavenesque. It will also allow a
> clear separation between m1 and m2 so for example if m2 is run and no
> pom.xml exists but a project.xml does then it can be converted on the
> fly or the user can be asked if they would like to create a pom.xml from
> the project.xml.
> 
> The name of properties file with parameters:
> 
> We are definitely going unify the m1 notion of project.properties into
> the POM itself for m2 but there will still be a need to have a
> properties file for parameters. For this I was thinking that
> maven.properties would be an appropriate name and again this will allow
> an m1 build to sit along side an m2 build.
> 
> These are the things I would like to tackle next so feedback is
> appreciated.
> 
> -- 
> jvz.
> 
> Jason van Zyl
> jason@maven.org
> http://maven.apache.org
> 
> happiness is like a butterfly: the more you chase it, the more it will
> elude you, but if you turn your attention to other things, it will come
> and sit softly on your shoulder ...
> 
>  -- Thoreau 
>