Thanks for everyones input. So it seems theres a number of paths we can go down, and never have Mavenized anything before, this makes things even more confusing for me :) as theres no one clear path I can model this after. So here a my requirements as I would appreciate someone's help getting me going on this.

Currently there are 4 plugins (3 of which are defined as eclipe OSGI bundles and will be packaged as a .jar), the other a regular plugin. The final folder org.apache.geronimo.feature defines the feature.

(1) Be able to define dependencies on external eclipse plugins as well as dependencies between each of the geronimo plugins themselves
(2) Compile and create the OSGI bundle .jar
(3) Package in that jar, only whats specified in the build.properties file of the given plugin, as some resources don't need to be in the binary.
(4) Build the feature plugin which contains no source.
(5) Finally package each of the plugins and feature into a .zip file for distribution.

More advance requirements including creating updating the site.xml and distributable jars for the update site.

So some of my confusion lays with the current directory structure. I know for each of the plugins I need to define a project.xml that defines each of the dependencies for it. But what puts all these togather? Do I need a single project.xml at the root level above all the plugins that handles each of the build steps? Or do I need some sort of master project for this where all the output will go into? (Kinda like the geronimo assembly module?) How is project build order handled?

Thanks.

Brett Porter wrote:
This might seem a little crazy, but perhaps both :) The project.xml (+
properties) and pom.xml files hopefully should not be too different
and can sit side by side. As long as those differences are within
reason this is probably a realistic choice - but it depends on what
you are able/want to work with.

The Maven2 OSGi plugin is being developed at Apache Felix by Tim
Bennett. I'm sure he'd love some feedback.

There is a Maven1 plugin at http://mavenosgiplugin.berlios.de/

Hopefully that's all the information you need to go one way or the
other. Please let me know if I can be of any help.

Cheers,
Brett

On 8/28/05, Matt Hogstrom <[EMAIL PROTECTED]> wrote:
I agree with Jeff that one Maven would be better.  When we do the move
to M2 I don't think an additional poject will make that much difference
but having to Mavens would a bit frustrating.

- Matt

Jeff Genender wrote:

Sachin,

maven 1 can use a lot of your ant stuff too (just looks a bit wierd).
You don't always have to rely on the plugin - for example the maven
xdoclet plugins are too restrictive.  Its easy to just do a taskdef
and throw in your ant tasks.

If I had my druthers, I would stick with M1 so it will build with
everything.  Although there is a plan to move to M2, those target
dates are unknown.  It would be nice to have the plugin build under
M1, with the rest of G.  I think it would be a bit much to have the
end user have to download m1 and m2 to build all of G.

Jeff

Sachin Patel wrote:

So, Gilles doesn't recommend modeling the build for the geronimo
eclipse plugins after the Mevenide plugin, as he thinks its grown way
too complex, plus it doesn't support OSGI bundles.  The geronimo
server adapter are already defined as OSGI bundles anyways so this is
problem as I wouldn't to revert away from OSGI as this would force me
to use deprecated Eclipse APIs.

He mentions trying to use the maven-osgi-plugin, but the M2 version
of it, which of course Geronimo hasn't moved to M2 yet.  Will the
move to M2 be a post 1.0 item?





------------------------------------------------------------------------

Subject:
Re: [mevenide-dev] Help building eclipse plugins
From:
Gilles Dodinet <[EMAIL PROTECTED]>
Date:
Sat, 27 Aug 2005 16:19:21 +0200
To:
[EMAIL PROTECTED]

To:
[EMAIL PROTECTED]

X-Account-Key:
account3
X-Gmail-Received:
6f5b36182ff4c4ed96e5a06c71c259bdee55bbd1
Delivered-To:
[EMAIL PROTECTED]
Received:
by 10.36.121.19 with SMTP id t19cs9894nzc; Sat, 27 Aug 2005 07:15:40
-0700 (PDT)
Received:
by 10.54.63.12 with SMTP id l12mr4524333wra; Sat, 27 Aug 2005
07:15:40 -0700 (PDT)
Return-Path:
<[EMAIL PROTECTED]>
Received:
from codehaus.org (beaver.codehaus.org [64.7.141.17]) by mx.gmail.com
with SMTP id 14si2776555wrl.2005.08.27.07.15.39; Sat, 27 Aug 2005
07:15:40 -0700 (PDT)
Received-SPF:
pass (gmail.com: domain of
[EMAIL PROTECTED] designates
64.7.141.17 as permitted sender)
Received:
(qmail 6124 invoked by uid 7924); 27 Aug 2005 14:21:21 -0000
Mailing-List:
contact [EMAIL PROTECTED]; run by ezmlm
Precedence:
bulk
List-Post:
<mailto:[EMAIL PROTECTED]>
List-Help:
<mailto:[EMAIL PROTECTED]>
List-Unsubscribe:
<mailto:[EMAIL PROTECTED]>
List-Subscribe:
<mailto:[EMAIL PROTECTED]>
Reply-To:
[EMAIL PROTECTED]
Delivered-To:
mailing list [EMAIL PROTECTED]
Received:
(qmail 5606 invoked from network); 27 Aug 2005 14:21:06 -0000
Message-ID:
<[EMAIL PROTECTED]>
User-Agent:
Mozilla Thunderbird 1.0 (Windows/20041206)
X-Accept-Language:
en-us, en
MIME-Version:
1.0
References:
<[EMAIL PROTECTED]>
In-Reply-To:
<[EMAIL PROTECTED]>
Content-Type:
text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding:
7bit


sachin,

right now maven-eclipse-eclipse-plugin is used in conjunction with
m1. however this plugin has grown big and now exposes too many
configuration properties and thus is now way too complex. besides
that it doesn't support osgi bundle packaged plugins so it may
probably not fit your needs. months ago i had started to reimplement
it targetting m2 but had no time to finish the task. luckily enough
matthew pryor has started too to write a m2 plugin to build eclipse
plugins (search maven-dev list for "help with custom lifecyle"
thread). i don't know the exact status of this plugin though.

another alternative could be to use maven-osgi-plugin - haven't tried
m1 version, m2 version' howto can be found here :
http://tinyurl.com/8cjkv (in particular it needs a modified
maven-archiver-plugin version) ; just to let you know: i'm
experimenting a little issue with inherited artifacts : if projectA
inherits from projectB and projectB declares dependency D with a
scope of either compile or runtime, D artifact will be bundled in
projectA's osgi bundle even it redeclares D with a scope of provided.
i've played with it only recently so i'm not sure yet how to fix it.
in any case i'll fill a issue against felix jira if i can't solve it.

also if you're hesitating i'd recommend you to start with m2. last,
as you'd probably know eclipse forces you to use a flat layout - m2
supports this very well when defining module as  <module>
../child-project-folder</module>

hope this helps-

-- gd


Sachin Patel wrote:

Hi all,

I'm wanting to build and package a set of plugins and its feature
using Maven.  I see that you all have done this successfully with
Mavenide.  I'm experienced in Eclipse but a newbie to Maven, so
would someone mind helping me get started with this?  I've pulled
down the source and I'm looking at the following directory structure

goals-grabber
maven-eclipse-plugin-plugin
mevenide-config
mevenide-core
mevenide-eclipse-help
mevenide-feature
mevenide-grammer
mevenide-master
... ... ...

I want to essentially use your infrastructure as a model.... Where
should I start, what should I be looking at?

Thanks in advance

Sachin.








Reply via email to