cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Fagerstrom <dani...@nada.kth.se>
Subject Re: [m2 build] status update
Date Mon, 19 Sep 2005 19:34:41 GMT
Jorg Heymans wrote:

>Hi,
>
>I have just finished putting all blocks under m2 pom control, which
>means that we are able to compile the whole of trunk using m2 - yay!
>  
>
Great!

>My next steps will be
>- understand exactly what the RBGs (Real Block Guys) expect from maven
>  
>
We expect a lot ;)

First, all real blocks are OSGi bundles (like the Eclipse 3+ pluggins), 
see http://wiki.apache.org/cocoon/osgi for links to documentation and 
previous discussions. There might be more to block building than the 
OSGi aspect, but for the time beeing  it will be enough if we can build 
OSGi bundles with M2.

An OSGi bundle is a jar that can contain class files, resources and 
other jars, its Manifest.mf can contain a number of OSGi specific properties

 From the build POV the most important OSGi manifest properties are: 
Export-Package, Import-Package, Bundle-Classpath and Require-Bundle (new 
in R4). These properties declare what packages a bundle export to other 
bundles, which packages it depends on, the bundle classpath (which 
defaults to '.') gives the possibility to add bundle internal jars to 
the classpath of the bundle. Require-Bundle imports all exported 
packages from a certain bundle. Observe that all import and export is 
done at the package level (even if there are possibiliites to use 
wildcards for chosing classes in R4). There are also an optional 
possibility so specify versions on packages (version ranges in R4).

 From the above we can draw the conclusion that the build mechanism for 
bundles must be OSGi aware. If one bundle depend on another, the rules 
for what packages are exported (also from internal jars) must be 
respected. Also while packaging the bundles it must be possible to 
include jars. In the current ad hoc ant build system for bundles 
(tools/targets/osgi-build.xml) we just explode the bundles that other 
bundles depend on.

                          --- o0o ---

There is work on an M2 OSGi plugin 
http://docs.safehaus.org/display/OSGI/OSGi+Plugin+for+Maven2 on the 
Apache Felix list, see the archive: 
http://mail-archives.apache.org/mod_mbox/incubator-oscar-dev/ for 
discussions. If you are interested I suggest that you subscribe to the 
Felix list and join the work.

/Daniel


Mime
View raw message