Note: if you just want to try out Isis then there's no need to built it first; just use our quickstart maven archetype
Introduction
This is a quick guide explaining the prerequisites for developing. Most of the contributors in the community use Eclipse, but if you use some other IDE (IntelliJ, NetBeans etc) please feel free to update this page.
nb: This stuff should be in docbook (and the starobjects.org umbrella project has some stuff we can take-on, see: http://starobjects.sourceforge.net/m2-site/main/documentation/docbkx/html/developers-guide/developers-guide.html and http://starobjects.sourceforge.net/m2-site/main/documentation/docbkx/pdf/developers-guide.pdf)
Where next?
Once you've got your development environment set up, move on to look at BuildProcess
Java, Subversion, Maven
For now, just a rough list:
- Java 6 JDK
- We're targetting at least jdk1.6.0_11, nothing particular special about this release, it's the version that Rob has on his Ubuntu and it "works for him"
- Subversion 1.6.x
- Maven 2.2.1 (and point m2eclipse towards)
- although Maven 3.0.0 could in theory be used to build Isis, the site plugin has changed in 3.0.0 and so we haven't yet reworked the POMs for thi. Therefore Maven 3.0.0 is not officially supported by us, and we've used the maven-enforcer-plugin to only allow the builds for [2.2.1,3.0.0); See ISIS-11 for more on this.
Set environment variables:
- JAVA_HOME
- M2_HOME
- MAVEN_OPTS
- -Xms512m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m
Checking out the code
Anonymous read-only access:
Committer read-write access:
Eclipse
Plugins (to build the code)
- Eclipse 3.6 Java edition
- subclipse for Subversion
- m2eclipse for maven
- Windows>Preferences>Maven>Installations
- and point to your external maven installation
- Windows>Preferences>Maven>Installations
For Contributors
- findbugs
- we might also include Checkstyle and PMD in the future
- emma
- groovy-eclipse (http://dist.springsource.org/release/GRECLIPSE/e3.6/)
- only required for the Groovy progmodel
Templates (for all)
trunk/src/site/resources/ide/eclipse/templates
isis-templates.xml
jmock2-templates.xml
junit4-templates.xml
Templates (for contributors only)
trunk/src/site/resources/ide/eclipse/templates
Apache-code-style-formatting.xml
Apache-code-style-template.xml
Apache-Isis-code-style-cleanup.xml
Code Quality (for contributors only)
NB: these are likely to evolve
trunk/src/site/resources/codequality
checkstyle.xml
pmd.xml
Setting up IRC client
We have an IRC chatroom #apache-isis on freenode. You can use any IRC client you want. If you don't habitually use an IRC client, then you might want to try freenode's webchat client which you can run from in your web browser. See IrcWebChat for more info.