Build
This page provides instruction for building GanttProject from the master branch.
The instructions assume that you're using Ubuntu-based Linux distribution. The process on other distros and Windows/Mac OSX should be similar, modulo differences in packages/paths and the way command line terminal works.
Overview of the build technologies and frameworks¶
GanttProject build process uses Java, Kotlin and Google Protocol Buffers compilers. Orchestrating them is not trivial, so be prepared to have some fun with setting up the things.
Prerequisites¶
A bare minimum which you need is:
- Java SE Development Kit (JDK) version 11 with JavaFX modules. There are many JDK vendors and usually they ship JDK with no JavaFX modules. There are two vendors who provide packages with JavaFX included: BellSoft Liberica and Azul Zulu. You can install and manage Java Runtimes on your machine using a very convenient tool SDKMAN! which runs on Ubuntu/macOS out of the box. On Windows, you can run SDKMan! in a Git shell from GitHub Desktop.
- Git version control to checkout the sources.
- Optionally you may install Gradle build tool. If you don't have Gradle, it will be downloaded automatically when running
gradlewscripts.
Please make sure that you can run java, javac and git commands.
Checking out the sources¶
The source code is stored in GitHub repository. You can clone the repository using
git clone https://github.com/bardsoftware/ganttproject.git
The rest of this page assumes that you checked out the sources using one of the ways into /tmp/ganttproject directory.
Branches¶
This document assumes that you work with master branch or with your own branch forked from master
Submodules¶
This repository has some submodules that we need to pull:
cd /tmp/ganttproject/
git submodule update --init
Building with Gradle¶
If everything is OK with your environment then the following will build a binary distribution of GanttProject:
cd /tmp/ganttproject/
./gradlew distbin
The distribution is assembled in ganttproject-builder/dist-bin directory. You can
run GanttProject using ganttproject or ganttproject.bat script:
cd /tmp/ganttproject/ganttproject-builder/dist-bin
./ganttproject
You can also start GanttProject using ./gradlew runApp which will build a distro and launch
GanttProject as necessary.
If you don't need a ready-to-use distro, you can run ./gradlew build which will build code and run tests.
Basically, that's everything that you need to be able to change the sources using any text editor, build and run the changed code.
Building and running from IntelliJ IDEA¶
The instructions below apply to IntelliJ IDEA but other popular IDEs can also be used in a similar way.
IDEA supports Gradle out of the box.
You can just import GanttProject with File.New.Project from Existing Sources menu action in IDEA
where you need to choose build.gradle file from the repository root.

You may want to check Use auto-import and uncheck Create separate module per source set options. Make sure that you use Java 11. You may use local Gradle distro if you have one.

Having completed the import, you can run GanttProject using Gradle's runApp task. Open Gradle
pane in IDEA, find task runApp in ganttproject/build.gradle file,
right-click and choose Run or Debug.
