[jboss-jira] [JBoss JIRA] (DROOLS-478) Biuld: Felix (OSGi) plugin confgs: remove invalid version strings and unneeded imports statements from pom
Geoffrey De Smet (JIRA)
issues at jboss.org
Fri May 9 09:17:56 EDT 2014
Geoffrey De Smet created DROOLS-478:
---------------------------------------
Summary: Biuld: Felix (OSGi) plugin confgs: remove invalid version strings and unneeded imports statements from pom
Key: DROOLS-478
URL: https://issues.jboss.org/browse/DROOLS-478
Project: Drools
Issue Type: Task
Security Level: Public (Everyone can see)
Reporter: Geoffrey De Smet
Assignee: Michael Biarnes Kiefer
Some osgi-enabled modules's felix configuration hasn't been cleaned up yet. Find and fix all pom files which follow the bad pattern below.
Bad:
{code}
<instructions>
<Bundle-SymbolicName>org.jbpm.bpmn2</Bundle-SymbolicName>
<Bundle-Activator>org.jbpm.osgi.bpmn2.Activator</Bundle-Activator>
<Import-Package>
!org.jbpm.compiler
org.drools.core*;version=6.0.0,
org.drools.compiler*;version=6.0.0,
org.kie.api*;version=6.0.0,
*
</Import-Package>
<Export-Package>
*
</Export-Package>
</instructions>
{code}
https://github.com/droolsjbpm/jbpm/blob/master/jbpm-bpmn2/pom.xml#L147
The above instructions are bad, because:
- *"version=6.0.0" is plain wrong: this is master, this is 6.1 already and soon 6.2 (and we don't want to have to change that constantly).
- Import of org.drools.core, org.drools.compiler, etc is redundant. The pom file should depend on those (which it already does transitively, but it might need to be direct for felix to work) and then felix will automatically add them for osgi.
Note: The felix plugin now activates during compilation and checks osgi boundaries. This means that if it compiles, it's relatively safe to assume that osgi isn't broken. (A year ago, felix have no such assurances and osgi was broken without anyone noticing).
Ideal (low maintenance):
{code}
<instructions>
<Bundle-SymbolicName>org.optaplanner.core</Bundle-SymbolicName>
<Export-Package>
org.optaplanner.core.*
</Export-Package>
</instructions>
{code}
https://github.com/droolsjbpm/optaplanner/blob/master/optaplanner-core/pom.xml#L80
Reasonable:
{code}
<instructions>
<Bundle-SymbolicName>org.drools.compiler</Bundle-SymbolicName>
<Import-Package>
com.sun.tools.xjc.*;resolution:=optional,
com.sun.codemodel;resolution:=optional,
javax.enterprise.*;resolution:=optional,
org.antlr.*;resolution:=optional,
org.codehaus.janino.*;resolution:=optional,
org.eclipse.jdt.*;resolution:=optional,
org.osgi.*;resolution:=optional,
org.kie.spring*;resolution:=optional,
*
</Import-Package>
<Export-Package>
*
</Export-Package>
<Bundle-Activator>org.drools.compiler.osgi.Activator</Bundle-Activator>
<_removeheaders>Private-Package</_removeheaders>
</instructions>
{code}
https://github.com/droolsjbpm/drools/blob/master/drools-compiler/pom.xml#L240
--
This message was sent by Atlassian JIRA
(v6.2.3#6260)
More information about the jboss-jira
mailing list