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 and Maven
For now, just a rough list:
- Java 6 JDK (For windows, ensure it is at least jdk1.6.0_21)
- either Maven 2.2.1 or Maven 3.0.0 (and point m2eclipse towards)
Both versions of Maven seem to work ok; though most of us are currently using Maven 2.2.1
Set environment variables:
- JAVA_HOME
- M2_HOME
- MAVEN_OPTS
- -Xms512m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m
Maven 3
Some notes on UsingMaven3 here.
Eclipse
Plugins (to build the code)
- Eclipse 3.6 Java edition
- subclipse for Subversion
- m2eclipse for maven
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.net. 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.