geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vincent Massol" <vmas...@pivolis.com>
Subject RE: [Daytrader] Converting to Maven 2
Date Fri, 21 Oct 2005 07:25:37 GMT


> -----Original Message-----
> From: Matt Hogstrom [mailto:matt@hogstrom.org]
> Sent: vendredi 21 octobre 2005 06:54
> To: dev@geronimo.apache.org
> Subject: Re: [Daytrader] Converting to Maven 2
> 
> I was referring to updating the artifacts themselves like daytrader-
> plan.xml,
> application.xml, etc.

Oh ok. The first step is to create a maven project that is used to create a
Geronimo distribution, say daytrader/applications/geronimo (or
daytrader/applications/business as in "business layer"). In the future
you'll also need a daytrader/applications/database project to do the same
for the database.

Actually I've sent an email yesterday to the Maven dev list to propose some
conventions for J2EE projects (see http://tinyurl.com/75z9q). My idea is to
run this by the community and use it for making the m2 build for daytrader.
This is what I'll cover in the book in the J2EE chapter.

Once you have that daytrader/applications/geronimo(or business) project you
can do the following in maven1:

- have dependencies on all artifacts referenced in the plan in the
project.xml file
- generate the plan files by transforming them into JSL files and iterate
over the dependencies to find out the full name with the version.

Or

- have dependencies on all artifacts referenced in the plan in the
project.xml file
- use Ant filter tokens (@@) in your plans
- use some custom maven.xml code to do the iteration over the dependencies
to find out the names an define the filters in maven.xml. Then copy the
files using filtering = on.

Thanks
-Vincent

> >>-----Original Message-----
> >>From: Matt Hogstrom [mailto:matt@hogstrom.org]
> >>Sent: jeudi 20 octobre 2005 21:25
> >>To: dev@geronimo.apache.org
> >>Subject: Re: [Daytrader] Converting to Maven 2
> >>
> >>Vincent,
> >>
> >>I'll update the tree structure per your original note in terms of src
> >>placement,
> >>etc.  One thing that we still need to do is update some of the
> deployment
> >>plans
> >>and internal references to the artifacts (like the EJB jar).  They are
> >>currently
> >>hardcoded with 1.0-SNAPSHOT as a suffix.  I think David mentioned we
> could
> >>fix
> >>this with Velocity but I haven't looked at that yet.  Thoughts are
> >>welcome.
> >
> >
> > Sure I can help. ATM all project.xml are using "1.0-SNAPSHOT" (except
> the
> > top level one which is using "1.0"). I think they need to be aligned.
> > However I'm note sure I understand what you're saying.
> >
> > If you want them all to use the parent's version simply do not define a
> > <currentVersion> tag in any project except the top level one (the one
> that
> > they all depend on) and then use ${pom.currentVersion} in all
> dependencies.
> >
> > The only issue with this is when you deploy artifacts to a remote Maven
> repo
> > (say ibiblio). Maven will not resolve the ${pom.currentVersion}
> expression
> > and thus if some tools reads the POM from the remote repo they won't be
> able
> > to figure out the version. This is true for example for the repo
> converter
> > which runs on ibiblio and converts m1 POMs to m2. It'll keep
> > ${pom.currentVersion} references, which has no meaning in m2. Thus if
> > someone using m2 then depends on your artifact, his project will fail to
> > build because m2 will fail to resolve ${pom.currentVersion}...
> >
> > My suggestion is to keep the version in all dependencies for now. Just
> make
> > them all the same. You need to decide whether you want 1.0 or 1.0-
> SNAPSHOT.
> > Are there going to be releases of the daytrader app? If so, better to
> use
> > 1.0-SNAPSHOT everywhere and move to 1.0 when releasing. Then change them
> all
> > to 1.1-SNAPSHOT.
> >
> > I don't understand your point about velocity though.
> >
> >
> >>thanks for helping out in this effort :)
> >
> >
> > [snip]
> >
> > Thanks
> > -Vincent
> >
> >
> >
> >



Mime
View raw message