Skip to content

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:

  1. 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.
  2. Git version control to checkout the sources.
  3. Optionally you may install Gradle build tool. If you don't have Gradle, it will be downloaded automatically when running gradlew scripts.

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.

Screenshot

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.

Screenshot

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.

Screenshot