[jbosside-dev] Bundling features/plugins in the build system
Max Rydahl Andersen
max.andersen at jboss.com
Sat Sep 2 05:09:57 EDT 2006
> Over the past few days I've been playing with the build system trying to
> understand exactly how and what Eclipse bundles with a feature when it's
> being built.. I think I have a pretty clear understanding of what's
> going on now.
Cool.
> Things PDE build does/doesn't do:
> 1) If a plugin is listed as a <plugin> in your feature.xml, it will get
> bundled in the final ZIP file automatically (we were including 3rd party
> plugins to let eclipse do a lot of the bundling for us)
> 2) If a plugin is listed as an <import> in your feature.xml, no bundling
> will occur
> 3) If another feature is listed as an <include> in your feature.xml, no
> bundling will occur of that feature or it's plugins
Ok - fits my world view too.
> Things the old ant task did:
> 1) Took a list of plugins and added them to an arbitrary zip file.
ok - which is probably needed since i'm not sure that a plugin.xml needs to
list all its transitive dependencies.
> The old ant task was pretty annoying as you all probably know it
> required a list of plugins in a property file, which had to be
> synchronized every time one of our dependencies changed or one of our
> plugins changed it's needs. I have replaced the old task with a
> java-based task that recursively pulls
> requirements from your feature's feature.xml and corresponding plugin
> manifests.
nice.
> Things the new ant task current does:
> 1) Takes a name of a feature, and sets a property to a list of plugins
> that are not in the standard SDK that that feature depends on. This list
> is
> pulled from the <import> and <include> tags.
> With the new ant task we will be able now to automate bundling by just
> keeping our feature.xml's up to date. I am also thinking about making the
> new ant task make the "dependencies" it generates be not just plugins,
> but features also. That way our bundle contains not just plugins but
> features
> (which it probably should have all along). So, in short.. with the new
> ant task.. this will be the "new" behavior provided from our build
> system:
ok, so just so i understand "make the dependencies it generates...be
features" means
that you copy an existing complete feature as-is, instead of taking
individual parts
or create a new feature, correct?
> 1) If a plugin is listed as a <plugin>, it gets auto-bundled just like in
> standard PDE build (no change). Anything here will be seen in both
> "bundle" and "nodeps" downloads.
+1 (if "bundle" means the type of downloads we provide now for each
plugin? not bundle as in full eclipse SDK + deps + our plugin)
> 2) If a plugin is listed as an <import>, that plugin and all of it's
> recursive dependencies will be auto-bundled (only for "bundle" downloads)
+1
> 3) If a feature is listed as an <include>, that feature and all of it's
> plugins (and recursive dependencies) will be auto-bundled (again only in
> "bundle" downloads)
+1
> Basically, I just want you guys to chime in if this is or isn't the
> expected behavior you think we should have for bundling...
Sounds great.
Would be cool if one could automatically run through
plugin.xml/feature.xml and look for "evil" plugin references.
--
--
Max Rydahl Andersen
callto://max.rydahl.andersen
Hibernate
max at hibernate.org
http://hibernate.org
JBoss a division of Red Hat
max.andersen at jboss.com
More information about the jbosstools-dev
mailing list