You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@felix.apache.org by motes motes <mo...@gmail.com> on 2010/07/23 13:27:15 UTC

Package not visible (exported)

I have a minimal maven2 parent project with a single submodule that
only contains one package com.test with a single class. I am trying to
use Felix to build the submodule as a bundle:

<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>
	<parent>
		<artifactId>logTest</artifactId>
		<groupId>com.minimal</groupId>
		<version>1.0.0</version>
	</parent>
	<groupId>com.minimal</groupId>
	<artifactId>logTest-sub</artifactId>
	<version>1.0.0</version>
	<name>Log test submodule</name>
	<packaging>bundle</packaging>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<version>1.4.0</version>
				<extensions>true</extensions>
				<configuration>
					<instructions>
						<Export-Package>com.test</Export-Package>
						<Bundle-SymbolicName>${pom.groupId}.${pom.artifactId}</Bundle-SymbolicName>
						<Bundle-Name>${pom.name}</Bundle-Name>
						<Bundle-Version>1.0.0</Bundle-Version>
					</instructions>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<dependencies>
		<dependency>
			<groupId>org.apache.felix</groupId>
			<artifactId>org.osgi.core</artifactId>
			<version>1.0.0</version>
		</dependency>
	</dependencies>
</project>


After running mvn clean install I get the following MANIFEST file in
the jar file:

Manifest-Version: 1.0
Export-Package: com.test
Bundle-Version: 1.0.0
Build-Jdk: 1.6.0_21
Built-By: mort
Tool: Bnd-0.0.238
Bnd-LastModified: 1279883880970
Bundle-Name: Log test submodule
Bundle-ManifestVersion: 2
Created-By: Apache Maven Bundle Plugin
Import-Package: com.test
Bundle-SymbolicName: com.minimal.logTest-sub


which looks fine. But when I add it to the target platform in eclipse
and create a PDE project the package com.test is not visible.

Any ideas why this bundle (actually the package com.test) does not
show up in the Plug-in Dependencies?

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Re: Package not visible (exported)

Posted by "Richard S. Hall" <he...@ungoverned.org>.
  I don't know...you could try to ask in an Eclipse forum...

-> richard

On 7/23/10 7:27, motes motes wrote:
> I have a minimal maven2 parent project with a single submodule that
> only contains one package com.test with a single class. I am trying to
> use Felix to build the submodule as a bundle:
>
> <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>
> 	<parent>
> 		<artifactId>logTest</artifactId>
> 		<groupId>com.minimal</groupId>
> 		<version>1.0.0</version>
> 	</parent>
> 	<groupId>com.minimal</groupId>
> 	<artifactId>logTest-sub</artifactId>
> 	<version>1.0.0</version>
> 	<name>Log test submodule</name>
> 	<packaging>bundle</packaging>
> 	<build>
> 		<plugins>
> 			<plugin>
> 				<groupId>org.apache.felix</groupId>
> 				<artifactId>maven-bundle-plugin</artifactId>
> 				<version>1.4.0</version>
> 				<extensions>true</extensions>
> 				<configuration>
> 					<instructions>
> 						<Export-Package>com.test</Export-Package>
> 						<Bundle-SymbolicName>${pom.groupId}.${pom.artifactId}</Bundle-SymbolicName>
> 						<Bundle-Name>${pom.name}</Bundle-Name>
> 						<Bundle-Version>1.0.0</Bundle-Version>
> 					</instructions>
> 				</configuration>
> 			</plugin>
> 		</plugins>
> 	</build>
>
> 	<dependencies>
> 		<dependency>
> 			<groupId>org.apache.felix</groupId>
> 			<artifactId>org.osgi.core</artifactId>
> 			<version>1.0.0</version>
> 		</dependency>
> 	</dependencies>
> </project>
>
>
> After running mvn clean install I get the following MANIFEST file in
> the jar file:
>
> Manifest-Version: 1.0
> Export-Package: com.test
> Bundle-Version: 1.0.0
> Build-Jdk: 1.6.0_21
> Built-By: mort
> Tool: Bnd-0.0.238
> Bnd-LastModified: 1279883880970
> Bundle-Name: Log test submodule
> Bundle-ManifestVersion: 2
> Created-By: Apache Maven Bundle Plugin
> Import-Package: com.test
> Bundle-SymbolicName: com.minimal.logTest-sub
>
>
> which looks fine. But when I add it to the target platform in eclipse
> and create a PDE project the package com.test is not visible.
>
> Any ideas why this bundle (actually the package com.test) does not
> show up in the Plug-in Dependencies?
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Re: Package not visible (exported)

Posted by Christopher Brind <br...@brindy.org.uk>.
As Richard implies, this is really an Eclipse question, but I'll give my
2cents anyway even though I rarely use PDE these days.

Make sure you've applied the target correctly.  In older versions of Eclipse
it didn't always pick up changes straight away, I had to touch the file a
few times for it to apply properly.

To check - go to the Plug-ins view (usually behind Package Explorer in the
Plugin development perspective) and you'll see all the bundles that are
specific to the currently applied target.  Your bundle should be one of
them.

If it is, and you're still not able to see your com.test package when adding
package dependencies, right click on the bundle and select Import As ->
Source Project.  This usually fixes the problem, but I don't like the way it
does it (you'll see what I mean) and I've never been able to work out why
the problem you describe happens in the first place.

Hope that helps.

Cheers,
Chris


On 23 July 2010 12:27, motes motes <mo...@gmail.com> wrote:

> I have a minimal maven2 parent project with a single submodule that
> only contains one package com.test with a single class. I am trying to
> use Felix to build the submodule as a bundle:
>
> <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>
>        <parent>
>                <artifactId>logTest</artifactId>
>                <groupId>com.minimal</groupId>
>                <version>1.0.0</version>
>        </parent>
>        <groupId>com.minimal</groupId>
>        <artifactId>logTest-sub</artifactId>
>        <version>1.0.0</version>
>        <name>Log test submodule</name>
>        <packaging>bundle</packaging>
>        <build>
>                <plugins>
>                        <plugin>
>                                <groupId>org.apache.felix</groupId>
>                                <artifactId>maven-bundle-plugin</artifactId>
>                                <version>1.4.0</version>
>                                <extensions>true</extensions>
>                                <configuration>
>                                        <instructions>
>
>  <Export-Package>com.test</Export-Package>
>
>  <Bundle-SymbolicName>${pom.groupId}.${pom.artifactId}</Bundle-SymbolicName>
>                                                <Bundle-Name>${pom.name
> }</Bundle-Name>
>
>  <Bundle-Version>1.0.0</Bundle-Version>
>                                        </instructions>
>                                </configuration>
>                        </plugin>
>                </plugins>
>        </build>
>
>        <dependencies>
>                <dependency>
>                        <groupId>org.apache.felix</groupId>
>                        <artifactId>org.osgi.core</artifactId>
>                        <version>1.0.0</version>
>                </dependency>
>        </dependencies>
> </project>
>
>
> After running mvn clean install I get the following MANIFEST file in
> the jar file:
>
> Manifest-Version: 1.0
> Export-Package: com.test
> Bundle-Version: 1.0.0
> Build-Jdk: 1.6.0_21
> Built-By: mort
> Tool: Bnd-0.0.238
> Bnd-LastModified: 1279883880970
> Bundle-Name: Log test submodule
> Bundle-ManifestVersion: 2
> Created-By: Apache Maven Bundle Plugin
> Import-Package: com.test
> Bundle-SymbolicName: com.minimal.logTest-sub
>
>
> which looks fine. But when I add it to the target platform in eclipse
> and create a PDE project the package com.test is not visible.
>
> Any ideas why this bundle (actually the package com.test) does not
> show up in the Plug-in Dependencies?
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>