GraalVM Open Source

GraalVM Community Edition is built from the sources of 3.6 million lines of code originated by the GraalVM team and collaborators, and additionally million lines of sources from projects we depend on like Java, Node.js and others.

We invite you to explore the current state of the project, contribute, or get in touch in case you have questions or suggestions.

Contributors

We are grateful for contributions to the project, coming from our academic, industrial and individual collaborators.

You can contribute to further project development by submitting a PR, reporting an issue, or providing feedback for using GraalVM in your deployment.

GraalVM Open Source Repositories

GraalVM Core Repository includes:

  • GraalVM compiler is written in Java and supports both dynamic and static compilation;
  • Truffle is a language implementation framework for creating languages and instrumentations for GraalVM;
  • Substrate VM is a framework that allows ahead-of-time (AOT) compilation of Java applications under closed-world assumption into executable images or shared objects;
  • Sulong is an engine for running LLVM bitcode on GraalVM;
  • other.

Related repositories are:

  • GraalJS — GraalVM implementation of JavaScript (ECMAScript 2019 compatible) and Node.js 10.16.3;
  • FastR — GraalVM implementation of the 3.5.1 programming language;
  • GraalPython — GraalVM implementation of the Python 3.7 programming language;
  • TruffleRuby — GraalVM implementation of the Ruby 2.6.2 programming language;
  • SimpleLanguage — A simple demonstration language for the GraalVM;
  • VisualVM — a visual tool integrating command line JDK tools and lightweight profiling capabilities.

Ecosystem

We also contribute to the ecosystem by joining efforts with other open-source projects. If you see how your project can benefit from using GraalVM, feel free to reach us.

  • Eclipse Vert.x is a tool-kit for building reactive applications on the JVM. It’s even-driven, non-blocking, and supports languages like Java, JavaScript, Groovy, Ruby, Ceylon, Scala and Kotlin. Use this guide for building a Vert.x native image with GraalVM: how-to.vertx.io/graal-native-image-howto.

  • Fn Project is an open-source, container-native, polyglot FaaS (Function as a Service) platform. Fn users can employ GraalVM AOT compilation capabilities for serverless Java functions. Learn more: medium.com/fnproject/serverless-functions-some-like-it-aot-ea8b46951335.

  • Gluon Client Plugin leverages GraalVM, OpenJDK and JavaFX 11+, by compiling into native code the Java Client application and all its required dependencies, so it can directly be executed as a native application on the target platform. Learn more: docs.gluonhq.com/client/.

  • Helidon is a collection of Java libraries for writing microservices that run on a fast web core powered by Netty. It supports MicroProfile and provides familiar APIs like JAX-RS, CDI and JSON-P/B. Starting with version 1.0.3, Helidon supports the GraalVM native-image capability. now you can easily compile your Helidon application into a native executable. Learn more about GraalVM support in Helidon: medium.com/oracledevs/helidon-flies-faster-with-graalvm-eea85287d2dc.

  • Micronaut is a modern, JVM-based, full-stack framework for building modular, easily testable microservice and serverless applications. It offers extensive GraalVM support out of the box. Create your first Micronaut application: guides.micronaut.io/micronaut-creating-first-graal-app/guide/index.html.

  • Picocli is a Java command line parser with both an annotations API and a programmatic API, featuring usage help with ANSI colors, autocomplete and nested subcommands. Picocli-based applications can be ahead-of-time compiled to GraalVM native images. Learn more: https://picocli.info/picocli-on-graalvm.html.

  • Quarkus is a Cloud Native, (Linux) Container First framework for writing Java applications. Quarkus tailors your application for GraalVM to offer instant startup and reduce memory consumption. Get started: quarkus.io/get-started/.