These brainstorms came out of a discussion in a developers meeting on Feb 13, 2013. Those in attendance (tdonohue, mhwood, hpottinger, helix84) came up with a general "manifesto" or roadmap for the future of DSpace's build & installation processes.
Installer Goals / Manifesto
(In no particular order)
- People who don't need to customize code shouldn't need Maven.
- People who don't need to customize code shouldn't need Ant.
- We may want to use Ant anyway, but it should be embedded in the packaging.
- i.e. If we want to use Ant, we should embed it rather than requiring it be installed separately
- It should be possible to unpack a stock DSpace with small, simple tools that everyone has, and get something that can be made to run with reasonable effort.
- It should be a lot simpler to do automated installation.
- We may need to break out some tools for optional tasks, like cleaning out the database.
- We're still committed to Maven for build-time.
- We may have to adjust some boundary lines between Maven, Ant, etc.
- An embedded container that Just Runs would aid development and troubleshooting.
- e.g. There have been brainstorms of trying to use the Maven::Jetty plugin to spin up DSpace in Jetty quickly (mvn jetty:run) for debugging or development
As for the installer itself, OneJar has been suggested. Joao later also suggested IzPack.