On 8/28/05, Jeff McAffer <[EMAIL PROTECTED]> wrote:
> While you are on a M2 kick, it would be interested to know what it would
> mean to build Eclipse with M2.  

That would be very interesting!

> From what I have seen of the the M2 OSGi
> plugin, it looks like much of what would normally go in the manifest.mf of
> a bundle is to be put in a maven POM file and then the build generates the
> manifest?  

Correct.

> So what would a M2 POM for say the org.eclipse.osgi and
> org.eclipse.runtime bundles look like?  

I'd be happy to work with Tim to have a look at this.

> How are additional (non-standard)
> headers handled?  

You can insert arbitrary JAR manfiest headers through plugin
configuration. I'm sure the OSGi plugin can handle that as well as
passing on more specific OSGi headers that aren't derived from Maven
metadata.

> How are the dependencies managed and compile-time
> classpaths computed?  

Dependencies and their version(s) are listed in the POM. The Maven
repository is used to lookup dependencies of those dependencies and
build a graph, determining the optimal version to use. Each dependency
can be declared as a compile, runtime or test scope, which affects how
the classpaths are created for each of those phases of the build and
the final packaging.

> For example, the org.eclipse.pde.ui bundle directly
> or indirectly requires about 40 bundles on its compile-time classpath.
> What is the M2 structure for this?  

I would assume most of those are not direct, but derived from its
direct dependencies, which Maven can determine as long as the metadata
exists for all those dependencies also.

> How are platform/JRE dependencies
> handled?

We currently allow you to say a dependency should be treated as
"provided" so that it is on the compile time classpath but not
bundled. We're looking to make that more sophisticated in future by
supporting specification dependencies and being more knowledgable
about the JRE. One thing we do have is profiles, so you can include an
XML parser if the JDK is < 1.4, for example.

> Presumably there will be some people who want
> to use the Eclipse tooling for developing bundles (for Felix or
> otherwise).  Their output should be buildable using your structure.  If
> there are things that can be done in the Eclipse tooling to make that
> easier, we'd be happy to look at that.

I'm definitely interested in following this.

> Summary: The Eclipse project structure is simple, mostly regular and
> known.  It may be a fine subject for your M2 OSGi experimentation.
> 
> We could talk about this here or at [EMAIL PROTECTED]

Ok, I've subscribed. I'm happy to discuss it in either place too.

Cheers,
Brett

Reply via email to