You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@felix.apache.org by Martin O'Connor <ma...@zippyrate.com> on 2016/01/25 22:25:44 UTC

Change in behaviour from v2.5.4 to v3.0.0 of Maven Bundle Plugin

I had a working bundle created with 2.5.4 of the Maven Bundle plugin with incantation [1] below. As can be seen, I embed quite a few JARs (which may not be the right thing to do ultimately, but ignore that for the moment). 

 <Embed-Dependency>
              swrlapi, swrlapi-drools-engine, axis,
              drools-core, drools-compiler, knowledge-api, drools-reteoo, antlr-runtime, kie-api, kie-internal, mvel2, ecj, 
              checker, checker-qual,  commons-codec, commons-discovery
</Embed-Dependency>

The 2.5.4-created manifest is as follows:

Manifest-Version: 1.0
Bnd-LastModified: 1453753977389
Build-Jdk: 1.8.0_51
Built-By: moconnor
Bundle-Activator: org.protege.editor.owl.ProtegeOWL
Bundle-ClassPath: .,swrlapi-1.0.0-beta-8-SNAPSHOT.jar,swrlapi-drools-eng
 ine-1.0.0-beta-9-SNAPSHOT.jar,axis-1.4_2.jar,drools-core-6.3.0.Final.ja
 r,drools-compiler-6.3.0.Final.jar,knowledge-api-6.3.0.Final.jar,drools-
 reteoo-6.3.0.Final.jar,antlr-runtime-3.5.jar,kie-api-6.3.0.Final.jar,ki
 e-internal-6.3.0.Final.jar,mvel2-2.2.6.Final.jar,ecj-4.3.1.jar,checker-
 1.9.10.jar,checker-qual-1.9.10.jar,commons-codec-1.9.jar,commons-discov
 ery-0.4_1.jar
Bundle-Description: SWRLTab Plugin for Desktop Protege 5.0+
Bundle-License: http://opensource.org/licenses/BSD-2-Clause
Bundle-ManifestVersion: 2
Bundle-Name: SWRLTab Protege 5.0+ Plugin
Bundle-SymbolicName: swrltab-plugin;singleton:=true
Bundle-Version: 1.0.0.beta-7-SNAPSHOT
Created-By: Apache Maven Bundle Plugin
Embed-Dependency: swrlapi, swrlapi-drools-engine,axis,drools-core, drool
 s-compiler, knowledge-api, drools-reteoo, antlr-runtime, kie-api, kie-i
 nternal, mvel2, ecj,checker, checker-qual,commons-codec, commons-discov
 ery
Embed-Transitive: true
Embedded-Artifacts: swrlapi-1.0.0-beta-8-SNAPSHOT.jar;g="edu.stanford.sw
 rl";a="swrlapi";v="1.0.0-beta-8-SNAPSHOT",swrlapi-drools-engine-1.0.0-b
 eta-9-SNAPSHOT.jar;g="edu.stanford.swrl";a="swrlapi-drools-engine";v="1
 .0.0-beta-9-SNAPSHOT",axis-1.4_2.jar;g="org.apache.geronimo.bundles";a=
 "axis";v="1.4_2",drools-core-6.3.0.Final.jar;g="org.drools";a="drools-c
 ore";v="6.3.0.Final",drools-compiler-6.3.0.Final.jar;g="org.drools";a="
 drools-compiler";v="6.3.0.Final",knowledge-api-6.3.0.Final.jar;g="org.d
 rools";a="knowledge-api";v="6.3.0.Final",drools-reteoo-6.3.0.Final.jar;
 g="org.drools";a="drools-reteoo";v="6.3.0.Final",antlr-runtime-3.5.jar;
 g="org.antlr";a="antlr-runtime";v="3.5",kie-api-6.3.0.Final.jar;g="org.
 kie";a="kie-api";v="6.3.0.Final",kie-internal-6.3.0.Final.jar;g="org.ki
 e";a="kie-internal";v="6.3.0.Final",mvel2-2.2.6.Final.jar;g="org.mvel";
 a="mvel2";v="2.2.6.Final",ecj-4.3.1.jar;g="org.eclipse.jdt.core.compile
 r";a="ecj";v="4.3.1",checker-1.9.10.jar;g="org.checkerframework";a="che
 cker";v="1.9.10",checker-qual-1.9.10.jar;g="org.checkerframework";a="ch
 ecker-qual";v="1.9.10",commons-codec-1.9.jar;g="commons-codec";a="commo
 ns-codec";v="1.9",commons-discovery-0.4_1.jar;g="org.apache.geronimo.bu
 ndles";a="commons-discovery";v="0.4_1"
Export-Package: org.swrltab.ui;version="1.0.0";uses:="org.protege.editor
 .owl.ui"
Import-Package: <REMOVED FOR CLARITY>
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))"
Tool: Bnd-2.4.1.201501161923

The Embedded-Artifacts section contains all the embedded JARs (as does the bundle itself).

When I upgrade to 3.0.0 or 3.0.1 I get the following:

Manifest-Version: 1.0
Bnd-LastModified: 1453755341682
Build-Jdk: 1.8.0_51
Built-By: moconnor
Bundle-Activator: org.protege.editor.owl.ProtegeOWL
Bundle-ClassPath: .,swrlapi-1.0.0-beta-8-SNAPSHOT.jar,swrlapi-drools-eng
 ine-1.0.0-beta-9-SNAPSHOT.jar
Bundle-Description: SWRLTab Plugin for Desktop Protege 5.0+
Bundle-License: http://opensource.org/licenses/BSD-2-Clause
Bundle-ManifestVersion: 2
Bundle-Name: SWRLTab Protege 5.0+ Plugin
Bundle-SymbolicName: swrltab-plugin;singleton:=true
Bundle-Version: 1.0.0.beta-7-SNAPSHOT
Created-By: Apache Maven Bundle Plugin
Embed-Dependency: swrlapi, swrlapi-drools-engine,axis,drools-core, drool
 s-compiler, knowledge-api, drools-reteoo, antlr-runtime, kie-api, kie-i
 nternal, mvel2, ecj,checker, checker-qual,commons-codec, commons-discov
 ery
Embed-Transitive: true
Embedded-Artifacts: swrlapi-1.0.0-beta-8-SNAPSHOT.jar;g="edu.stanford.sw
 rl";a="swrlapi";v="1.0.0-beta-8-SNAPSHOT",swrlapi-drools-engine-1.0.0-b
 eta-9-SNAPSHOT.jar;g="edu.stanford.swrl";a="swrlapi-drools-engine";v="1
 .0.0-beta-9-SNAPSHOT"
Export-Package: org.swrltab.ui;uses:="org.protege.editor.owl.ui";version
 ="1.0.0"
Import-Package:  <REMOVED FOR CLARITY>
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))"
Tool: Bnd-3.0.0.201509101326

Here the Embedded-Artifacts section is a shadow of its former self and the JARs are not embedded in the bundle.

Did something intentionally change between the two versions to cause this change in behaviour?

TIA
Martin

[1] Maven Bundle Configuraiton

(The full POM can be found here: https://github.com/protegeproject/swrltab-plugin <https://github.com/protegeproject/swrltab-plugin>).

      <plugin>
	<groupId>org.apache.felix</groupId>
	<artifactId>maven-bundle-plugin</artifactId>
	<version>${maven.bundle.plugin.version}</version>
	<extensions>true</extensions>
	<configuration>
	  <instructions>
	    <Bundle-Activator>org.protege.editor.owl.ProtegeOWL</Bundle-Activator>
	    <Bundle-SymbolicName>${project.artifactId};singleton:=true</Bundle-SymbolicName>
	    <Include-Resource>plugin.xml, {maven-resources}</Include-Resource>
            <Bundle-ClassPath>.</Bundle-ClassPath>
            <Embed-Transitive>true</Embed-Transitive>
            <Embed-Dependency>
              swrlapi, swrlapi-drools-engine, axis,
              drools-core, drools-compiler, knowledge-api, drools-reteoo, antlr-runtime, kie-api, kie-internal, mvel2, ecj, 
              checker, checker-qual,  commons-codec, commons-discovery
            </Embed-Dependency>
            <Import-Package>
              org.protege.editor.core.*;version="5.0.0",
              org.protege.editor.owl.*;version="5.0.0",
              org.semanticweb.owlapi.*;version="[4.1.3,5.0.0)",
              org.swrlapi.*;version="1.0.0",
              org.swrlapi.drools.*;version="1.0.0",
              com.ibm.*;resolution:=optional,
              com.sun.*;resolution:=optional,
              sun.*;resolution:=optional,
              javax.*;resolution:=optional,
              org.apache.tools.ant.*;resolution:=optional,
              org.apache.bsf.*;resolution:=optional,
              org.apache.commons.httpclient.*;resolution:=optional,
              org.apache.commons.logging.*;resolution:=optional,
              org.apache.commons.net.*;resolution:=optional,
              com.thoughtworks.xstream.*;resolution:=optional,
              com.google.protobuf.*;resolution:=optional,
              org.antlr.stringtemplate.*;resolution:=optional,
              org.codehaus.janino.*;resolution:=optional,
              org.eclipse.jdt.*;resolution:=optional,
              org.exolab.castor.xml.*;resolution:=optional,
              org.junit.*;resolution:=optional,
              *
            </Import-Package>
   	  </instructions>

	  <executions>
	    <execution>
	      <id>bundle-manifest</id>
	      <phase>install</phase>
	      <goals>    
		<goal>manifest</goal>
	      </goals>   
	    </execution>
	  </executions>

	</configuration>
      </plugin>


Martin