<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    To show how it all fits together, here's a visual image.<br>
    Ignore the jboss-integration-platform-bom part - that's not there
    yet).<br>
    <br>
    <img src="cid:part1.07080206.00080501@gmail.com" alt="">
    <div class="moz-cite-prefix">On 02-08-13 12:07, Geoffrey De Smet
      wrote:<br>
    </div>
    <blockquote cite="mid:ktg0cl$tut$1@ger.gmane.org" type="cite">
      <meta http-equiv="content-type" content="text/html;
        charset=ISO-8859-1">
      Hi guys,<br>
      <br>
      <b>Please read this, especially the bold parts.</b><br>
      <br>
      We've created user-facing boms: drools-bom, jbpm-bom,
      optaplanner-bom, guvnor-bom and kie-bom.<br>
      This way, users can do:<br>
      <br>
      &lt;dependencyManagement&gt;<br>
      &nbsp;&nbsp;&nbsp; &lt;dependencies&gt;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dependency&gt;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;groupId&gt;org.drools&lt;/groupId&gt;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;artifactId&gt;drools-bom&lt;/artifactId&gt;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;type&gt;pom&lt;/type&gt;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;version&gt;6.0.0.Final&lt;/version&gt;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;scope&gt;import&lt;/scope&gt;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dependency&gt;<br>
      &nbsp;&nbsp;&nbsp; &lt;/dependencies&gt;<br>
      &lt;/dependencyManagement&gt;<br>
      ...<br>
      &lt;dependencies&gt;<br>
      &nbsp;&nbsp; &lt;dependency&gt;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;groupId&gt;org.drools&lt;/groupId&gt;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;artifactId&gt;drools-compiler&lt;/artifactId&gt;&lt;!--
      No version needed :) --&gt;<br>
      &nbsp;&nbsp; &lt;dependency&gt;<br>
      &nbsp;&nbsp; &lt;dependency&gt;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;groupId&gt;org.drools&lt;/groupId&gt;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      &lt;artifactId&gt;drools-decisiontables&lt;/artifactId&gt;&lt;!--
      No version needed :) --&gt;<br>
      &nbsp;&nbsp; &lt;dependency&gt;<br>
      &lt;/dependencies&gt;<br>
      <br>
      <b>1) When you create a new module in any kie repository (for
        example jbpm-foo),<br>
        instead of adding an entry in droolsjbpm-build-bootstrap,<br>
        now add an entry in the appropriate bom file.<br>
      </b>- The bom files are in the git repo
      droolsjbpm-build-bootstrap.<br>
      - The new module's groupId determines its bom file:<br>
      -- groupId org.kie =&gt; kie-bom<br>
      -- groupId org.drools =&gt; drools-bom<br>
      -- groupId org.optaplanner =&gt; optaplanner-bom<br>
      -- groupId org.jbpm =&gt; jbpm-bom<br>
      -- groupId org.guvnor =&gt; guvnor-bom<br>
      - Normally you 'll add 2-3 entries: normal, classifier sources and
      classifier test-jar<br>
      For example: modules in drools-bom:<br>
      &nbsp;
      <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/blob/master/drools-bom/pom.xml#L86">https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/blob/master/drools-bom/pom.xml#L86</a><br>
      <br>
      <b>2) When you add a new external dependency (for example
        richfaces-core) or update/delete an existing one,</b><b><br>
      </b><b>instead of changing droolsjbpm-build-bootstrap,</b><b><br>
      </b><b>now change the pom file </b><b>kie-parent-with-dependencies</b><br>
      - the bom files do not extend kie-parent-with-dependencies, but
      kie-parent-with-dependencies imports the bom files<br>
      - kie-parent-with-dependencies is in a subdirectory of git
      repository droolsjbpm-build-bootstrap<br>
      &nbsp;&nbsp;
      <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/blob/master/kie-parent-with-dependencies/pom.xml#L22">https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/blob/master/kie-parent-with-dependencies/pom.xml#L22</a><br>
      - kie-parent-with-dependencies holds a properties list of all
      versions and the dependencyManagement section<br>
      -- Note: the ongoing platform bom work will affect this, but I 'll
      explain that in a new mail when it's done.<br>
      - All new repo's root poms should extend
      kie-parent-with-dependencies (NOT kie-parent-metadata)<br>
      <b>- Reminder (long time standing rule): No poms except for
        kie-parent-with-dependencies should mention versions of
        dependencies</b><br>
      -- Some modules violate this and might run into issues during
      productization when their dependency versions don't align with the
      rest.<br>
      <br>
      <b>3) When you add/change/delete a build plugin or any other
        metadata (anything except dependencies),</b><b><br>
      </b><b> </b><b>instead of changing droolsjbpm-build-bootstrap,</b><b><br>
      </b><b> </b><b>now change the pom file </b><b>kie-parent-metadata</b><br>
      - the bom files do extends kie-parent-metadata.<br>
      - kie-parent-with-dependencies extends kie-parent-metadata - so
      effectively everything extends kie-parent-metadata<br>
      - kie-parent-metadata is in the root of git repository
      droolsjbpm-build-bootstrap<br>
      &nbsp;&nbsp;
      <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/blob/master/pom.xml">https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/blob/master/pom.xml</a><br>
      <br>
      Questions, suggestions, feedback: let me know.<br>
      <br>
      The repo droolsjbpm-build-bootstrap's restructure is now finished
      - feel free to make changes there again.<br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
rules-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-dev">https://lists.jboss.org/mailman/listinfo/rules-dev</a></pre>
    </blockquote>
    <br>
  </body>
</html>