A modern, versatile build system

Features

Build file auto-completion in your IDE

Clean syntax for build files

For example, here is JCommander's entire build file:

import com.beust.kobalt.*
import com.beust.kobalt.plugin.java.*
import com.beust.kobalt.plugin.packaging.*
import com.beust.kobalt.plugin.publish.*

val jcommander = javaProject {
    name = "jcommander"
    group = "com.beust"
    artifactId = name
    version = "1.52"

    dependenciesTest {
        compile("org.testng:testng:6.9.5")
    }

    assemble {
        mavenJars {
        }
    }

    bintray {
        publish = false
    }
}

This build file also includes a directive to upload your artifacts to Bintray automatically.

Support for incremental tasks (faster builds)

Intuitive plug-in architecture

Design goals

Status

Kobalt is currently in Beta but I'm already using it to build most of my projects. Here are links to a few build files you can inspect to get a feel for what Kobalt enables: