<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    I 'd like to refactor the maven build to use exactly 3 profiles and
    remove all other profiles:<br>
    <ul>
      <li>default</li>
      <ul>
        <li>Fast, for during development</li>
      </ul>
      <li>full</li>
      <ul>
        <li>Slow, but builds everything. Used by hudson, releases and
          before you go to sleep<br>
        </li>
      </ul>
      <li>soa</li>
      <ul>
        <li>Prunes the non-soa stuff away<br>
        </li>
      </ul>
    </ul>
    What do you think?<br>
    <br>
    <br>
    Long explanation:<br>
    <ul>
      <li>The maven build is too slow atm:</li>
      <ul>
        <li>GWT compilation of all permutations (during development 1
          permutation is enough)</li>
      </ul>
      <li>yet some parts of the code don't build with maven<br>
      </li>
      <ul>
        <li>such as</li>
        <ul>
          <li>in the past GWT compilation<br>
          </li>
          <li>antlr generation<br>
          </li>
          <li>eclipse plugin</li>
          <li>examples <br>
          </li>
        </ul>
        <li>problems with this approach<br>
        </li>
        <ul>
          <li>they use unmanaged dependency versions (antlr generation
            might use a different version than antlr dependency in pom)<br>
          </li>
          <li>require tool installations (gwt dev kit under
            /home/Rikkola/gwt :)<br>
          </li>
          <li>commit generated files to svn<br>
          </li>
        </ul>
        <li>adding them to maven will make the maven build even
          slower... unless...<br>
        </li>
      </ul>
    </ul>
    The profiles are too complicated, currently we have these profiles:<br>
    <ul>
      <li>default (the one you run with "mvn clean install")</li>
      <ul>
        <li>Build these too</li>
        <ul>
          <li>drools-clips</li>
          <li>drools-planner</li>
          <li>drools-pipeline</li>
          <li>drools-simulator</li>
          <li>osgi-bundles</li>
        </ul>
        <li>Proposition: don't build those in soa<br>
        </li>
      </ul>
      <li>documentation<br>
      </li>
      <ul>
        <li>Build drools-docs too</li>
        <li>Proposition: merge into profile full<br>
        </li>
      </ul>
      <li>build-eclipse</li>
      <ul>
        <li>Build drools-eclipse too</li>
        <li>Proposition: merge into profile full</li>
      </ul>
      <li>cibuild (hudson)</li>
      <ul>
        <li>Build these too:</li>
        <ul>
          <li>drools-docs</li>
          <li>drools-eclipse</li>
          <li>drools-examples too<br>
          </li>
        </ul>
        <li>In drools-process, build these too:</li>
        <ul>
          <li>drools-bpel</li>
          <li>drools-jpdl</li>
        </ul>
        <li>Proposition: merge into profile full</li>
      </ul>
      <li>soa</li>
      <ul>
        <li>in drools (parent)</li>
        <ul>
          <li>assembly: use soa assembly description alternatives<br>
          </li>
        </ul>
        <li>in drools-guvnor</li>
        <ul>
          <li>change some tokens in some files (ant based, not maven
            filtering yet)<br>
          </li>
          <li>run pre-integration-test</li>
        </ul>
        <li>in drools-eclipse</li>
        <ul>
          <li>Don't build org.drools.eclipse.task</li>
        </ul>
        <li>in drools-docs</li>
        <ul>
          <li>Don't build drools-docs-planner and
            drools-docs-integration<br>
          </li>
        </ul>
      </ul>
      <li>grammars<br>
      </li>
      <ul>
        <li>in drools-core and drools-compiler</li>
        <ul>
          <li>runs the antlr file generation</li>
        </ul>
        <li>Proposition: replace with maven antlr plugin</li>
        <ul>
          <li>if fast, do part of the default profile and output to
            target dir</li>
          <li>if slow, do part of the full profile and output to src dir
            (just as it is now)<br>
          </li>
        </ul>
      </ul>
      <li>gen-brms-import (not part of any top-level build)</li>
      <ul>
        <li>Proposition: Leave it alone until we deal with that
          commented out module bulk-importer-util<br>
        </li>
      </ul>
      <li>ydoc-doclet (commented out on drools parent pom)<br>
      </li>
      <ul>
        <li>Proposition: remove it<br>
        </li>
      </ul>
    </ul>
    <pre class="moz-signature" cols="72">-- 
With kind regards,
Geoffrey De Smet</pre>
  </body>
</html>