The issue is that you are exporting your package with "*", which will match subpackages...thus your impl subpackage gets exported too. Just export "com.mycomponent.myapp"...

-> richard

Sebastien ARBOGAST wrote:
Here is the exact section in my POM:
<plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>1.4.0</version>
                <extensions>true</extensions>
                <configuration>
                    <manifestLocation>META-INF</manifestLocation>
                    <instructions>
                        <Export-Package>com.mycompany.myapp*
</Export-Package>
                        <Private-Package>com.mycompany.myapp.impl
</Private-Package>
                        <Import-Package>*</Import-Package>

 
<Include-Resource>src/main/resources,target/flex-resources/swf</Include-Resource>
                        <Require-Service>org.osgi.service.http.HttpService
</Require-Service>
                        <Bundle-Classpath>.</Bundle-Classpath>
                        <Bundle-SymbolicName>com.mycompany.myapp.people
</Bundle-SymbolicName>
                        <Solstice-Type>App</Solstice-Type>
                        <Solstice-Label>Basement People</Solstice-Label>
                        <Solstice-UI>com.mycompany.myapp.people
/PeopleModule.swf</Solstice-UI>
                    </instructions>
                </configuration>
            </plugin>

And the manifest:

Manifest-Version: 1.0
Export-Package: com.mycompany.myapp.impl;uses:="com.mycompany.mya
 pp",com.mycompany.myapp
Private-Package: com.mycompany.myapp.impl
Bundle-Classpath: .
Built-By: sarbogast
Tool: Bnd-0.0.238
Bundle-Name: Basement People
Created-By: Apache Maven Bundle Plugin
Require-Service: org.osgi.service.http.HttpService
Solstice-Type: App
Build-Jdk: 1.6.0_04-dp
Bundle-Version: 1.0.0
Solstice-UI: com.mycompany.myapp.people/PeopleModule.swf
Bnd-LastModified: 1206834830830
Bundle-ManifestVersion: 2
Bundle-SymbolicName: com.mycompany.myapp.people
Import-Package: com.mycompany.myapp,com.mycompany.myapp.impl
Solstice-Label: Basement People

2008/3/30, Richard S. Hall <[EMAIL PROTECTED]>:
Sebastien ARBOGAST wrote:
It's weird because after using Private-Package, my manifest looks like
this:
Export-Package: com.mycompany.myapp.impl;uses:="com.mycompany.myapp",
com.mycompany.myapp
Private-Package: com.mycompany.myapp.impl

Is it normal that impl is still in Export-Package?

Did you cut and paste that directly? Because it doesn't look correct.
Private packages are not exported. Perhaps there is some mistake in your
POM?


-> richard


2008/3/29, Richard S. Hall <[EMAIL PROTECTED]>:

Sebastien ARBOGAST wrote:

I have a bundle with some service interfaces in com.mycompany.myappand

their implementations in com.mycompany.myapp.implSince I only want to

export


interfaces and not implementations, I add the following directive to
maven-bundle-plugin configuration:
<Export-Package>com.mycompany.myapp</Export-Package>

But then the problem is that implementations are not in the resulting
bundle. And if I a "*" to the package, implementation classes are in
the
bundle but the impl package is exported in the manifest.
How is it that the Export-Package directive also controls which
classes
are

bundled?

FYI I'm using version 1.4.0 of maven-bundle-plugin.


You need to use
<Private-Package>com.mycompany.myapp.impl</Private-Package> to include
packages that are not exported.

-> richard

---------------------------------------------------------------------
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]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to