[rules-dev] IMPORTANT: droolsjbpm-parent is dead, long live kie-parent-metadata and kie-parent-with-dependencies

Geoffrey De Smet ge0ffrey.spam at gmail.com
Fri Aug 2 06:07:24 EDT 2013


Hi guys,

*Please read this, especially the bold parts.*

We've created user-facing boms: drools-bom, jbpm-bom, optaplanner-bom, 
guvnor-bom and kie-bom.
This way, users can do:

<dependencyManagement>
     <dependencies>
       <dependency>
             <groupId>org.drools</groupId>
             <artifactId>drools-bom</artifactId>
             <type>pom</type>
             <version>6.0.0.Final</version>
             <scope>import</scope>
       </dependency>
     </dependencies>
</dependencyManagement>
...
<dependencies>
    <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-compiler</artifactId><!-- No version needed 
:) -->
    <dependency>
    <dependency>
        <groupId>org.drools</groupId>
<artifactId>drools-decisiontables</artifactId><!-- No version needed :) -->
    <dependency>
</dependencies>

*1) When you create a new module in any kie repository (for example 
jbpm-foo),
instead of adding an entry in droolsjbpm-build-bootstrap,
now add an entry in the appropriate bom file.
*- The bom files are in the git repo droolsjbpm-build-bootstrap.
- The new module's groupId determines its bom file:
-- groupId org.kie => kie-bom
-- groupId org.drools => drools-bom
-- groupId org.optaplanner => optaplanner-bom
-- groupId org.jbpm => jbpm-bom
-- groupId org.guvnor => guvnor-bom
- Normally you 'll add 2-3 entries: normal, classifier sources and 
classifier test-jar
For example: modules in drools-bom:
https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/blob/master/drools-bom/pom.xml#L86

*2) When you add a new external dependency (for example richfaces-core) 
or update/delete an existing one,**
**instead of changing droolsjbpm-build-bootstrap,**
**now change the pom file **kie-parent-with-dependencies*
- the bom files do not extend kie-parent-with-dependencies, but 
kie-parent-with-dependencies imports the bom files
- kie-parent-with-dependencies is in a subdirectory of git repository 
droolsjbpm-build-bootstrap
https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/blob/master/kie-parent-with-dependencies/pom.xml#L22
- kie-parent-with-dependencies holds a properties list of all versions 
and the dependencyManagement section
-- Note: the ongoing platform bom work will affect this, but I 'll 
explain that in a new mail when it's done.
- All new repo's root poms should extend kie-parent-with-dependencies 
(NOT kie-parent-metadata)
*- Reminder (long time standing rule): No poms except for 
kie-parent-with-dependencies should mention versions of dependencies*
-- Some modules violate this and might run into issues during 
productization when their dependency versions don't align with the rest.

*3) When you add/change/delete a build plugin or any other metadata 
(anything except dependencies),**
****instead of changing droolsjbpm-build-bootstrap,**
****now change the pom file **kie-parent-metadata*
- the bom files do extends kie-parent-metadata.
- kie-parent-with-dependencies extends kie-parent-metadata - so 
effectively everything extends kie-parent-metadata
- kie-parent-metadata is in the root of git repository 
droolsjbpm-build-bootstrap
https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/blob/master/pom.xml

Questions, suggestions, feedback: let me know.

The repo droolsjbpm-build-bootstrap's restructure is now finished - feel 
free to make changes there again.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-dev/attachments/20130802/1bd4ab7c/attachment.html 


More information about the rules-dev mailing list