1. Install Kobalt

With HomeBrew

If you are on MacOS and have brew installed:

$ brew install kobalt
$ which kobaltw
/usr/local/bin/brew

Manually

Download the zip file and unzip it in a directory that you can add to your $PATH variable:

cd yourLocation
unzip kobalt-xxx.zip

2. Initialize your project

Change to your project directory and call the kobaltw command with --init:

cd ~/java/project
kobaltw --init java

This command will do two things:

  1. Create a default kobalt/src/Build.kt file based on what was found in your project.
  2. Install the Kobalt Wrapper in your current directory (a script called kobaltw) and a few additional files in the kobalt/wrapper directory.

From now on, you can just use ./kobaltw to build and you can ignore the kobaltw on your path (this command is only useful for initializing projects).

You can now attempt to build your project with Kobalt:

./kobaltw assemble
If your project follows a regular build structure (e.g. Maven's hierarchy), this should compile your file and create a .jar file. If not, you will have to make a few edits to your Build.kt. As of this writing, Kobalt supports Java and Kotlin projects.

3. Edit kobalt/src/Build.kt

The build file generated by default might need some editing before you can build your project, so take a look at it and adjust whatever is necessary (e.g. package name, version, etc...)

Here is the Build.kt for the JCommander project:

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

val jcommander = project {
    name = "jcommander"
    group = "com.beust"
    artifactId = name
    version = "1.54"

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

    assemble {
        mavenJars {
        }
    }

    jcenter {
        publish = true
    }
}

4. Sync your build file

If you're using Intellij IDEA, make sure you've installed the Kobalt plugin and then go to Kobalt -> Sync Build File. Once the build file is synchronized, the errors should disappear and you can now use all the regular functions of IDEA on Build.kt just like any other Kotlin files (auto completion, jump to symbol, etc...).

5. Next steps

From this point, you can either learn how to install the Kobalt IDEA plug-in or read Kobalt's documentation.