This document describes how to build the application and platform binaries.
Download and install the following software packages:
- OpenJDK 14.0.2 (full JDK, including JavaFX)
- Gradle 6.4
- Git 2.28.0
Clone the repository as follows:
git clone https://github.com/DaveJarvis/keenwrite.git
The repository is cloned.
Build the application überjar as follows:
cd keenwrite
gradle clean jar
The application is built.
After the application is compiled, run it as follows:
java -jar build/libs/keenwrite.jar
On Windows:
java -jar build\libs\keenwrite.jar
This section describes setup instructions to import and run the application using an integrated development environment (IDE). Running the application should trigger a build.
This section describes how to build and run the application using IntellIJ's IDEA.
Complete the following steps to import the application:
- Start the IDE.
- Click File → New → Project from Existing Sources.
- Browse to the directory containing
keenwrite
. - Click OK.
- Select Gradle as the external model.
- Click Finish.
The project is imported into the IDE.
Run the application as follows:
- Ensure the Project is open.
- Expand src → main → java → com.keenwrite.
- Open Launcher.
- Run main.
The application is launched.
This section describes how to set up the development environment and build native executables for supported operating systems.
Follow these one-time setup instructions to begin:
- Ensure
$HOME/bin
is set in thePATH
environment variable. - Copy
build-template
into$HOME/bin
.
Setup is complete.
Run the installer
script to build platform-specific binaries, such as:
./installer -V -o linux
The installer
script:
- downloads a JDK;
- generates a run script;
- bundles the JDK, run script, and JAR file; and
- creates a standalone binary, so no installation required.
Run ./installer -h
to see all command-line options.
Version numbers are read directly from Git using a plugin. The version number is written to app.properties
in the resources
directory. The application reads that file to display version information upon start.