[jbpm-dev] Platform BOM => How to add new dependencies or upgrade dependency versions

Geoffrey De Smet ge0ffrey.spam at gmail.com
Fri Aug 23 12:09:42 EDT 2013


Hi guys,

The platform BOM work has been completed.
In the new situation, some of you might be wondering:

*Where do I add a new dependency, or upgrade an existing dependency's 
version?*

1) *Where do I add a new internal**module?*
An internal module is a module of drools, jbpm, optaplanner, guvnor or 
dashboard-builder itself.
Add it in droolsjbpm-build-bootstrap/*-bom/pom.xml
Depending on the groupId of your new internal module:
   groupId org.kie => add in kie-bom
   groupId org.drools => add in drools-bom
   groupId org.jbpm => add in jbpm-bom

2) *Where do I add a new external dependency?*
Add it in 
droolsjbpm-build-bootstrap/kie-parent-with-dependencies/pom.xml in 
<dependencyManagement>.
Be sure to follow the conventions comment in that xml.

3) *Why is kie-parent-with-dependencies so empty?*
Most dependencies have been extracted to jboss-integration-platform-bom:
https://github.com/jboss-integration/jboss-integration-platform-bom
This is a bom we share with the switchyard team.

4) *Where do I change the version of an existing external dependency?*
Also in droolsjbpm-build-bootstrap/kie-parent-with-dependencies/pom.xml.
If it's not there, but it is inherited from jboss-integration-platform-bom,
simply declare it again in kie-parent-with-dependencies 
in<dependencyManagement>,
but with a different version.

5) *Can I add my dependency (or change my dependency version) directly 
on jboss-integration-platform-bom?*
No.
Because that can disrupt SwitchYard and circumvent validation.
At set times someone (probably Edson) will pull all new dependency and 
dependency versions from kie-parent-with-dependencies into the 
jboss-integration-platform-bom
and also validate if nothing is conflicting with the EAP platform 
version we're targetting.

6) *Can I add any new dependency in kie-parent-with-dependencies just 
like before?
*Yes,
but just like before we expect certain minimal requirements:
  - that the dependency is available in Maven Central or JBoss Nexus
  - that the dependency's license is acceptable and described in it's 
pom.xml file
Furthermore, you can prevent trouble by keeping these requirements in mind:
  - by the time productization releases, it should be compatible with 
the EAP version we'll be targeting by then. So if EAP has it, we need to 
use the same version (or formally request EAP to upgrade their version).
  - by the time productization releases, it should be compatible with 
SwitchYard. So if SwitchYard has it, we need to use their version or 
higher (they can always upgrade).


Hope that's clear :) If not, manstis will make a diagram this time ;-)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jbpm-dev/attachments/20130823/d5fe965a/attachment.html 


More information about the jbpm-dev mailing list