Ah, I didn't even know that BND Tools (used from ant) put in a -
non-standard and meaningless, as you say - "Private-Package" manifest
entry in the JAR. I can see how that would confuse the original poster
coming from there, then.

Impedance mismatch or not, we are running a very large (many bundles)
supplier integration system on OSGi, built and tested with maven, using
strong design-by-contract and test-driven-development practices. The
amount of code and complexity in relation to development team size is
staggering, and I wouldn't dream of doing it without Maven!

-- 
Dawid Loubser <[email protected]>

Op Wo, 2013-08-21 om 23:59 -0700 skryf David Jencks:
> Yes, but if you use bnd say from ant using a bnd.bnd file for configuration, 
> the Private-Package instruction ends up in the manifest too unless you 
> explicitly tell bnd to leave it out.  
> 
> I would guess that the bundle plugin wrapping of bnd explicitly leaves out 
> Private-Package from the generated manifest, but I didn't check the code.
> 
> It's somewhat academic since Private-Package has no meaning to the osgi 
> framework, just to bnd while it computes your manifest.
> 
> FWIW I think there's a surprisingly large impedance mismatch between maven 
> and osgi.  I would definitely also look into bndtools.
> 
> thanks
> davdi jencks
> 
> On Aug 21, 2013, at 11:45 PM, Dawid Loubser <[email protected]> wrote:
> 
> > Hi,
> > 
> > This is correct. If you mark a package as "private" it should not show
> > up in the JAR manifest. Those classes can only be used by other classes
> > inside this bundle.
> > 
> > What are you expecting to see? "Export-Package" in the manifest is not
> > transitive, i.e. sub-packages are not exported just because a parent
> > package is exported. Your "abc.projectx.bundlex.internal" is not
> > available to other bundles in your manifest below, otherwise it would be
> > explicitly listed in the exported packages.
> > 
> > kind regards,
> > 
> > -- 
> > Dawid Loubser <[email protected]>
> > 
> > Op Wo, 2013-08-21 om 15:38 -0700 skryf bokie:
> >> Hi,
> >> 
> >> I'm currently experimenting with the  Bundle Plugin for Maven
> >> <http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html>  .
> >> I essentially want to learn maven and at the same time get a feel for and
> >> weigh the PROS and CONS of developing OSGi solutions "The Maven Way".
> >> 
> >> I've created a small Maven type project in Eclipse, edited the pom.xml file
> >> to look like:
> >> 
> >> =============
> >> <project xmlns="http://maven.apache.org/POM/4.0.0";
> >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> >> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> >> http://maven.apache.org/xsd/maven-4.0.0.xsd";>
> >>  <modelVersion>4.0.0</modelVersion>
> >>  <groupId>abc.projectx</groupId>
> >>  <artifactId>bundlex</artifactId>
> >>  <packaging>bundle</packaging>
> >>  <version>1.0.0</version>
> >>  <dependencies>
> >>    <dependency>
> >>      <groupId>org.osgi</groupId>
> >>      <artifactId>core</artifactId>
> >>      <version>4.3.1</version>
> >>    </dependency>
> >>    <dependency>
> >>      <groupId>org.osgi</groupId>
> >>      <artifactId>cmpn</artifactId>
> >>      <version>4.3.1</version>
> >>    </dependency>
> >>  </dependencies>
> >>  <build>
> >>    <plugins>
> >>      <plugin>
> >>        <groupId>org.apache.felix</groupId>
> >>        <artifactId>maven-bundle-plugin</artifactId>
> >>        <version>2.4.0</version>
> >>        <extensions>true</extensions>
> >>        <configuration>
> >>          <instructions>
> >> 
> >> <Bundle-Activator>abc.projectx.bundlex.internal.Activator</Bundle-Activator>
> >>            <Private-Package>abc.projectx.bundlex.internal</Private-Package>
> >>            <Export-Package>abc.projectx.bundlex</Export-Package>
> >>          </instructions>
> >>        </configuration>
> >>      </plugin>
> >>    </plugins>
> >>  </build>
> >> </project>
> >> =============
> >> When I right click the pom.xml file > Run As > Maven Build... > Goals:
> >> bundle:bundle, everything looks fine except for the Private-Package which
> >> seems to be ignored (I don't see it in the final MANIFEST.MF)
> >> 
> >> =============
> >> Manifest-Version: 1.0
> >> Bnd-LastModified: 1377123088222
> >> Build-Jdk: 1.7.0_25
> >> Built-By: User
> >> Bundle-Activator: abc.projectx.bundlex.internal.Activat
> >> or
> >> Bundle-ManifestVersion: 2
> >> Bundle-Name: bundlex
> >> Bundle-SymbolicName: abc.projectx.bundlex
> >> Bundle-Version: 1.0.0
> >> Created-By: Apache Maven Bundle Plugin
> >> Export-Package: abc.projectx.bundlex;version="1.0.0"
> >> Import-Package: org.osgi.framework;version="[1.6,2)"
> >> Tool: Bnd-2.1.0.20130426-122213
> >> =============
> >> 
> >> 
> >> 
> >> 
> >> 
> >> 
> >> --
> >> View this message in context: 
> >> http://apache-felix.18485.x6.nabble.com/Maven-tp5004631.html
> >> Sent from the Apache Felix - Users mailing list archive at Nabble.com.
> >> 
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [email protected]
> >> For additional commands, e-mail: [email protected]
> >> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to