maven-m2-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason van Zyl <ja...@maven.org>
Subject Re: Addition to POM & New m2 subproject
Date Tue, 22 Feb 2005 07:10:16 GMT
On Mon, 2005-02-21 at 14:16 +0100, Maczka Michal wrote:
> Hey!
> 
> 
> I started to experiment with a tool which can change pom files and assure
> that the same version of some dependency 
> is used across the board. 

This is what the <dependencyManagement/> section is for in the POM which
we are experimenting with in the Geronimo, OpenEJB and ActiveMQ builds.

> For that I created new project for making
> different type of pom transformations.
> I think that this will be also needed for release plugin. In fact I the
> first transformation I want to implement is 
> that one which is happening when project is released (1.1-SNAPSHOT becomes
> 1.1) 
> I am just beginning and there is still long way to go but I want to ask if
> everybody is agreeing to add new subproject to maven-components.

Have you ever seen the tool that already does this in m1?

I'd like to know more about it before admitting it.

> While playing with it I found some things which are missing in our APIs.
> I am operating on maven projects/models using Java API. I need to write back
> the changes which I made to XML file.
>    Those changes should not change much XML file. There are two things
> missing to make it possible:
> 
>     a) Encoding should be kept in maven model so I can pass it to model
> marshaler when I will ask it to serialize POM.

Put that in Modello's JIRA for the generated modello reader/writer.
That's definitely a good idea.

>     b) Number of spaces which is used to indent XML files should be
> configurable and not hardcoded to 2 (this is really less important)

Note these in JIRA. There is code in Mevenide which can probably be
leveraged as they have dealt with these issues extensively for m1.

> 
> As the off topic comment I can add that some things are looking harder then
> I expected. For example I am not sure
> how to implement "release transformation"  while version is inherited from
> the parent project or parent project
> is in the snapshot state. This basically requires some agreed practices how
> pom should be modify during the release process.
> Note that latest additions to m2 (e.g shared place where dependecy version
> is defined) are not making it simpler.

Sorry, I'm not sure what you're talking about here.

> 
> 
> Other additions to POM which I would like to see:
> 
> 1) JDK used and required for given project.  For example artifact which
> claim that they need Java 5 should not be usable by the project 
>    targeting to java 1.3 or 1.4. With transitive dependencies in place
> minimal required JDK be detected. 
>    The settings which JDK is used can be also shared by multiple plugins
> (e.g. javac, javadoc).

Put it in JIRA.

> 2) I would like to add annotations to particular dependencies which can be
> displayed by GUI tools before dependecy version is flipped
>     (so for example user can decide not to change that version) 
>     I proposing to add something like  <comment> tag to Dependency. I think
> that those comments are also important for documentation
>     purpose.

Yah, I'm not so sure about this but put them in JIRA and we can discuss
them. I think we have a pretty good idea of what we are going to shoot
for in the first release (alpha-1) which is laid out in JIRA.

> 
> 
> 
> Michal
>     
> 
-- 
jvz.

Jason van Zyl
jason at 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 


Mime
View raw message