Vadim Gritsenko wrote:
Continuum was stopped because I started to flatten the POM hierarchy
in trunk. This will hopefully save me a lot of time during the release
process.
Do I understand it correctly - it should be turned off to simplify
release process? Sounds Ok to me if that's the case.
Continuum is a nice-to-have but by no means a requirement for any
release of cocoon. The general idea, as i'm sure i don't have to
explain, is only to have something flag when someone checks in code that
breaks the build.
-----o0o-----
At the time, Continuum seemed like an obvious choice for CI, mainly
because it was built by the maven developers and promised/claimed good
integration with m2. However now that we've learned the tricks and
quirks of building an m2 project i can honestly not say anymore if
Continuum is the best tool for the job ATM.
The problem with Continuum is that it doesn't build your project as a
whole anymore, but rather the modules in relative isolation. The fact
that it doesn't pick up pom changes and barfs when you do module
refactoring (move, adding, removing, changing name etc) makes it more of
a nuisance than anything else. A CI system is no good if you have to
take care of it each time you change the structure of your system.
I've heard good things about Hudson [1], which has a more traditional
approach in that it does a build from the top level (eg mvn clean
install from the root) each time. This is more time and resource
consuming but ATM more accurate for us. However its native m2 support is
still in its infancy [2].
So for me, currently, the best solution ATM for CI would be to cron
something like this:
#!/bin/bash
rm -fr ~/.m2/repository
cd src/cocoon-trunk
svn update
mvn clean install > ~/cocoon-build.log 2>&1
if [ "$?" -ne "0" ]; then
some_mail_foo_to_send_the_file_to_dev@
fi
Vadim, didn't you have something similar running for Cocoon 2.1 ?
Regards
Jorg
[1] https://hudson.dev.java.net/
[2]
http://weblogs.java.net/blog/kohsuke/archive/2007/02/maven_2_integra.html