felix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dawid Loubser <da...@travellinck.com>
Subject Re: Maven
Date Thu, 22 Aug 2013 06:45:32 GMT
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 <dawid@travellinck.com>

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: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
> 

Mime
View raw message