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