Skip to content

Demonstration repository showing polyglot embedding with GraalVM for JDK 21 using Maven and Gradle.

License

Notifications You must be signed in to change notification settings

graalvm/polyglot-embedding-demo

Repository files navigation

Polyglot Embedding Demo with GraalVM

Demonstration repository showing polyglot embedding with GraalVM using Maven and Gradle. It contains a simple Main and Test class to bootstrap a polyglot embedding project.

For demonstration showing polyglot native embedding with GraalVM using Maven, see the Native embedding Maven project located in the native-embedding subdirectory.

For more details on polyglot embedding please see the docs: https://www.graalvm.org/latest/reference-manual/embed-languages/

Setup

Download GraalVM and point the JAVA_HOME environment variable to it.

Maven Usage

Download Maven or import as Maven project into your IDE.

  • mvn package build using javac. Starting from GraalVM Polyglot API version 24.1.0, you can use mvn -Pisolated package to build with the native isolate version of a guest language. By default, only the native isolate library for the current platform is installed. To install native isolate libraries for all supported platforms, use mvn -Pisolated -Disolated.all.platforms package.
  • mvn test to run the tests
  • mvn exec:exec to run the application. Starting from GraalVM Polyglot API version 24.1.0, you can use mvn -Pisolated exec:exec to embed the native isolate version of a guest language.
  • mvn -Pnative package to build a native-image
  • mvn -Passembly package to build an uber JAR containing all dependencies using the Maven Assembly Plugin. The resulting JAR can be executed using java -jar embedding-1.0-SNAPSHOT-jar-with-dependencies.jar. We do recommend not using shading whenever possible.
  • mvn -Pshade package to build an uber JAR containing all dependencies using the Maven Shade Plugin. The resulting JAR can be executed using java -jar embedding-1.0-SNAPSHOT.jar. We do recommend not using shading whenever possible.

Please see the pom.xml file for further details on the configuration.

Gradle Usage

Download Gradle or import as Maven project into your IDE.

  • gradle build build using javac
  • gradle run to run the Main application
  • gradle test to run the tests
  • gradle nativeCompile to build a native-image
  • gradle nativeRun to run the native image

Please see the build.gradle.kts file for further details on the configuration.

About

Demonstration repository showing polyglot embedding with GraalVM for JDK 21 using Maven and Gradle.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published