Introduction for developers

This page contains information for those who have some experience with Java programming. If the only Java program you have written is HelloWorld which was generated by a wizard in your IDE then probably you don't need this information

Our official JDK is Sun's JDK 1.4.2

GanttProject 2.0.x code is compilable by Sun's JDK 1.4.2. It is not compilable by JDK 1.5+ and probably (we didn't try and are not going to try) is not compilable by uncertified Java compilers (gcj, etc.). We hope that every serious Java programmer knows how to run Java compiler from the command line, what is JAVA_HOME and what's the difference between JDK and JRE.

Our official build tool is ANT

You need ANT if you wish to build GP the same way we do it. We hope that every serious Java programmer knows what is ANT and how to use it.

Our source code distribution includes a special folder called ganttproject-builder, containing build artifacts. There is a build.xml with default target dist-bin.

Target dist-bin

Builds a ready to use binary distribution and puts it into dist-bin subfolder. No need to edit any files

Target dist-src

Builds a source code distribution and puts it into dist-src subfolder. No need to edit any files

Target dist-webstart

Builds WebStart enabled binary distribution. You need to edit two files:

  • build.private.properties: specify your signature storage and storage password. Please refer to WebStart home page and/or unofficial WebStart FAQ if you don't know how to sign WebStart applications.
  • ganttproject.jnlp: you need to edit codebase attribute and point it to URL where you are going to install GP WebStart

Our official development tool is Eclipse

Please refer to our wiki page explaining how to setup Eclipse in order to develop GanttProject.

There are many excellent development tools. We have choosen Eclipse which is good enough, free, opensourced and provides API we need. If you are an addict of some other IDE which is surely way better than Eclipse, you may develop GanttProject there and use ANT for building.

We keep our source code in CVS

GanttProject CVS server is hosted on SourceForge. Plugin-independent connection parameters are specified on this page. Each plugin is kept in it's private CVS module and most of them have different branches, so when checking out the code of some particular plugin, one also needs a modulename and probably a branch name. Please refer to our wiki pages for detailed information

Manuals

Some manuals for developers.

Changes for 0.1 : Initial revision.
Changes for 0.2 : Running code with eclipse.
Changes for 0.4 : Pluginization changes.
Changes for 0.5 : Eclipsito run.
Changes for 0.6 : MacOs.
Changes for 0.7 : Windows installer information.
Changes for 0.8 : Complete MacOS for dmg creation.
Changes for 0.9 : Quick explanation of Linux RPM creation.