Skip to content
A modern build system focusing on fast and incremental builds for all project sizes
Java Other
  1. Java 99.2%
  2. Other 0.8%
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
azure-pipelines.yml system

Build status Latest version is a language agnostic build system that focuses on extensibility and scalable incremental builds. It supports distributing build tasks over multiple build machines, rebuilding only the smallest possible part of the project, and can scale for tens of thousands of source files. uses its own scripting language for defining the build process and loads the build tasks from the configured task repositories. It integrates well with the Eclipse IDE and provides unmatched performance for Java builds.

Visit for more information.

Installation only requires Java 8+ to run. It is distributed as a single JAR file that contains all necessary classes to run the build system.

See Installation guide for downloading or installing an IDE plugin.

Repository structure

The Java source code of the build system is split up into multiple directories as follows:

  • core: Contains the core implementation of
  • launching: Contains the Java classes that are used for the command line interface of
  • internal: Contains internal build system classes that are specially packaged with the release JAR:
    • The SakerScript default build language classes.
  • thirdparty: Contains repackaged source files of third party libraries included in All classes are in the package.
  • support: Contains Java classes that are not part of the main build system release, but as supporting classes.
    • IDE implementation support classes.
  • test: Contains the classes for testing.
  • native: Contains C/C++ sources of the supporting native libraries.
    • Win32 and macOS implementations of file watch services.
    • The compiled versions of these sources are present in the resources directory. (Currently they are not built as part of the build system build process.)
  • resources: Contains resources that are included in the distributed JARs.
  • build: The build output directory, not checked into version control.

Build instructions

Building requires both JDK8 and JDK9 to be installed. It is built by the latest version of the system.

To perform the build, you need to set the output build directory, and the location of the installed JDKs:

java -jar path/to/ -bd build;path/to/jdk9 export

You can choose an appropriate target in to execute for your use-case. You may need other JDKs if you want to execute the tests on JDK10+.

The build can also be executed inside an IDE.


The documentation of is available at:

If you're looking for examples to build projects for a given language or use-case, see the example collection. You can also search the saker.nest repository for a suitable plugin.

See the extension guide if you want to develop your own build tasks, task repositories, or build languages.

See the script guide for information about the built-in build language.


The source code for the project is licensed under GNU General Public License v3.0 only.

Short identifier: GPL-3.0-only.

Official releases of the project (and parts of it) may be licensed under different terms. See the particular releases for more information.


See the contribution guide for information about how you can help the development of

You can’t perform that action at this time.