While cutting the release, I found one additional gotcha in our CI environment. The grails application.properties file holds several key pieces of information including the version number, grails plugin versions and the last build date. This means the file must be checked into source control, but is also modified locally every build by CI (Hudson, nudge, nudge, wink wink). This caused our build to fail while bumping our project version.
- CI will fail a grails+maven project if you change the version number of the project in the application.properties file.
- Workaround: 1) Have your CI project perform a clean checkout instead of an update for you build. 2) At the end of your build, add a custom hook to delete the locally modified application.properties file.
- Fix: I think have the build timestamp in this file may be a mistake as Grails grows more mature. As an improvement, it should be removed.