<!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>