Elide + JVM

Elide is a fully-featured Java and Kotlin toolchain, which can compile Java source code up to JDK 25, and Kotlin source code up to 2.3.x.

Elide can also run JVM programs, on Hotspot, or as guest code.

Protip

Elide can be used as a JAVA_HOME with any build tool or project.

Why a new toolchain?

JVM is an incredibly powerful runtime model; Java and Kotlin are beloved by millions of developers. So what's the problem?

Maven, Gradle, Bazel... these are all great build tools, each in their own way, which belong in the Build Tools Hall Of Fame, if such a thing existed.

However, each imposes tradeoffs for JVM developers:
JVM Build ToolInherent Drawbacks
MavenVerbose output, you have to write XML
GradleSlow, learning curve, deeply frustrating
BazelImpossible learning curve/thin ecosystem
Elide aims to add a fourth option.
DimensionHow Elide Improves On Alternatives
DXNPM-like invocation model, beautiful TUI
SpeedPowered by Native Image for insanely fast startup
ConfigWorks out of the box, no plugins/config needed
Build DSLPleasant hybrid of declarative + imperative (Pkl)

Simplified mental model

Elide borrows from a nimbler dev experience which frontend developers might find familiar.

shell
> cat elide.pkl
pkl
amends "elide:project.pkl"
import "elide:Sources.pkl" as Sources

name = "my-elide-project"

jvm {
  main = "sample.MainKt"
}

sources {
  ["main"] = new Sources.SourceSetSpec {
    paths {
      "src/main/kotlin<<>>*.kt"
    }
  }
}

dependencies {
  maven {
    packages {
      "com.google.guava:guava:33.5.0-jre"
    }
  }
}
shell
> cat src/main/kotlin/sample/Hello.kt
kotlin
package sample

fun main() {
  println("Hello from Kotlin")
}
shell
> elide install
✅ Installed 17 dependencies in 1.2s
shell
> elide build
✅ Built 1 Kotlin source file in 24ms
shell
> elide run
Hello from Kotlin
Differences from conventional development with Gradle/Maven:
  • Works-by-default for common use cases; no mess of plugins to get Kotlin and JUnit working.
  • Extremely fast installer; compatible with conventional Maven and Gradle projects, but providing faster resolution and installation times.
  • Fast start, fast exit; instead of long-running processes, builds are nimble and fast by default.

Compatible by default

Elide includes a complete drop-in compatible toolchain for JVM:

Creature comforts built in

Elide includes extras which make JVM development fun again: