commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From robert burrell donkin <robertburrelldon...@blueyonder.co.uk>
Subject Re: [all] Sharing maven setup [was Re: HELP!]
Date Sun, 11 Dec 2005 12:13:13 GMT
On Mon, 2005-12-05 at 23:04 +0100, Dennis Lundberg wrote:
> Stephen Colebourne wrote:
> >>> I don't much like the idea of adding dependencies to each of the
> >>> individual POMs, but understand that this makes the dependency
> >>> explicit, which is a good thing.  So I guess I am +0 for this
> >>> approach.  Actually +1 as in "will help" if others agree we should go
> >>> this route instead of the updatePlugins approach.
> >>
> >> I'm more than happy with the updatePlugins approach. It's KISS at its 
> >> best.
> >> ;-)
> >>
> >> I remain -1 on reverting to extending the commons-build POM
> > 
> > I agree that we should not extend the commons-build POM. However we 
> > could do with a way to share stuff.
> > 
> > I have in my mind that what we need is a commons maven plugin. It would:
> > - create target/commons
> > - download commons-build within target/commons
> > - update the local maven installation
> > - merge the latest mandatory POM settings
> > - merge the latest mandatory POM properties
> > - merge the latest mandatory xdocs
> > 
> > Thus, to push a site or release out you do:
> > maven commons
> > then any other command:
> > maven ...
> > 
> > This is probably a pipedream though, as I doubt anyone has the time to 
> > write this (ie. I don't!)
> 
> Yes, of course! A plugin is the way to go.

+1

> Most people seems to agree that extending commons-build is a bad thing, 
> so we need to figure out a way to make each commons component 
> self-supporting.

i suspect that the opinion that this was a bad thing took hold in the
early days of maven after problems which didn't get fixed easily.

> Imagine this directory structure in the commons component of your choice:
> 
> /
> +- commons-<component>/
>     +- site/
>     |  +- menus/
>     |  |  +- ...
>     |  +- parts/
>     |  |  +- ...
>     |  +- commons-site.jsl
>     |  +- cvsusage.xml
>     |  +- ...
>     +- project.properties
>     +- project.xml
>     +- project-parent.xml
> 
> First we make sure that every commons-component extends the *local* 
> project-parent.xml, see directory-structure above. This would be a 
> one-time job.

partly due to my ISP losing the plot during this last week, i've been
playing around with the better ways to build modular projects using
maven and subversion. svn:external is very useful and powerful (in
combination with maven) but only works on directories. other folks (such
as axis2) use an etc directory.

so you might find:

+- commons-<component>/
     +- site/
     ...
     +- project.properties
     +- project.xml
     +- etc
        +- project-parent.xml

works a little better

> If we then create a plugin that does the following, it might just work:
> 
> - Download commons-build/project-parent.xml via anonymous SVN to 
> commons-<component>/project-parent.xml
> - We would probably need to do something similar for project.properties, 
> I'm not sure how that would work though
> - Download commons-build/site/menus/ , commons-build/site/parts/ et al 
> via anonymous SVN to commons-<component>/site/
> 
> This way we don't have to think about merging xml documents and other 
> fancy stuff - just download some files from SVN.
> 
> Does this sound at all possible?

dunno :)

probably a good idea to hook up with brett and the rest of the maveneers
on IRC (if you can).

> Should I have go at it? I have not made a plugin before, but there's a
> first time for everything...

+1

but don't waste too much energy: better to let folks take a look at a
quick proof of concept early.

- robert


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message