Nice! Thanks Greg, that was much needed!
Incidentally, I was also working on a "Developer IDE Setup" doc based on the build changes
we discussed a while ago, except I'm using Eclipse (STS).
Speaking of which, I have a new (work-in-progress) branch with a Gradle based build replacing a lot of the Make functions. The main goal was to focus on making life easier for developers trying to get Rundeck running from Eclipse (STS).
The changes so far:
- Created a multi-project build with Gradle (there is one parent Gradle project that manages dependencies between projects)
- Added dependency management (each project now installs their artifact into ~/.m2)
- Changed the versioning scheme from -dev to -SNAPSHOT to follow the maven standard versioning convention
- The app.version variable now gets set in gradle.properties and is propagated to all subprojects, including the grails webapp
- Upgraded the gradle wrapper from 1.0 to 1.2
- Created a webapp wrapper project so that gradle calls grails dependencies
- Added maven-publisher plugin to grails so that artifacts are published to ~/.m2 repo
- Refined .gitignore -- added more filters to exclude build generated files from index
What has not yet been done:
- Dynamically populate rundeckapp/pom.xml with the correct version from gradle.properties
- Creating a self-executable war (currently looking into it...)
- Have not verified that maven build still works
- Have not tested setting up with IntelliJ
- Have not handled packaging (RPM and DEB packages)
- Have not handled docs generation
How to Setup your IDE with the gradle based build
Checkout the "newbuild" branch.
$ cd rundeck
$ git checkout newbuild
Branch newbuild set up to track remote branch newbuild from origin.
Switched to a new branch 'newbuild'
$ ./gradlew clean build
This should take a few minutes the first time around as it downloads and installs all requirements for the build.
Once the build finishes, import the projects it into STS using the Gradle tooling:
1. Make sure your Gradle installation points to Gradle 1.2
2. Make sure you have Grails 1.3.7 configured

3. Import using [ File --> Import --> Gradle Project ]
Select the root folder and hit Build Model, which will take a couple of minutes the first time it runs, then select all projects and hit Finish

After importing all of the projects your workspace should look like this:
To run Rundeck, refer to Greg's excellent docs below. :)
I would love some feedback if folks think this is useful and moving in the right direction. I'd be glad to continue tackling the last items on the to-do list.
Cheers,
JB