Graham Charters wrote:
It would seem that the fine-grained/coarse-grained thoughts have
people divided.  Rajini's note (aside from the fact she has a tonne of
experience having done most, if not all, of the OSGi work in Tuscany)
paints a picture where the two are not mutually exclusive.  I don't
typically like doing two options because that seems like indecision,
but in this case they do appear to complement each other.

Based on what I've seen in this thread, I'm hoping this briefly
summarizes the collection of thoughts on how we might proceed:

Tuscany Running in OSGi

1.  Add bundle manifests to all the Tuscany modules (using maven
bundle plugin).  This will ensure the most fine-grained decomposition
works and therefore coarser-grained distributions will also work.
2.  Add a distribution which creates bundles around manageable
collections of Tuscany modules aligned with how we see the runtime
being extended/subsetted/replaced.  Have this build and test on
Continuum.
3.  Create 'virtual bundles' for third-party libraries to avoid
licensing and disk space issues (based on Rajini's suggestions, which
I need to better understand).
4.  Provide guidance on the wiki on how to avoid breaking OSGi.

There's also the suggestion that implementation.osgi relate to
Distributed OSGi (RFC 119), which shouldn't be lost.

Have I missed anything?

It sounds like a staging of 1 & 3 first, followed by 2 would work (and
4 if things keep breaking :-( ).  I'd be concerned if we didn't get to
2, and as part of 1&3, we need to make sure these are regularly tested
under osgi.


Sounds good to me, with the following comments:

When you have (1) + (3) you can already run a continuum OSGi build, before attacking (2). I'd actually suggest to start building on continuum as soon as we have (1).

- I'm not clear on what you meant by 'use the Maven bundle plugin'. Will we write something like this for example:
<project>
  ...
  <packaging>bundle</packaging>
  ...
  <plugin>
    <groupId>org.apache.felix</groupId>
    <artifactId>maven-bundle-plugin</artifactId>
    <extensions>true</extensions>
    <configuration>
      <instructions>
        <Export-Package>org.apache.tuscany.sca.foo</Export-Package>
        <Import-Package>org.apache.tuscany.sca.bar</Import-Package>
        <Private-Package>org.apache.tuscany.sca.impl.*</Private-Package>
      </instructions>
    </configuration>
  </plugin>
...

or did you mean something else?

--
Jean-Sebastien

Reply via email to