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
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.
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
.