jctools-graal-native

Toolkit for building/deploying Lambda Functions with SBT

License

License

Categories

Categories

JCTools General Purpose Libraries High Performance Graal Native Development Tools Science Business Logic Libraries
GroupId

GroupId

science.doing
ArtifactId

ArtifactId

jctools-graal-native
Last Version

Last Version

1.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

jctools-graal-native
Toolkit for building/deploying Lambda Functions with SBT
Project URL

Project URL

https://github.com/carpe/scalambda
Project Organization

Project Organization

SwiftEngineer
Source Code Management

Source Code Management

https://github.com/SwiftEngineer/jctools-graal-native

Download jctools-graal-native

How to add to project

<!-- https://jarcasting.com/artifacts/science.doing/jctools-graal-native/ -->
<dependency>
    <groupId>science.doing</groupId>
    <artifactId>jctools-graal-native</artifactId>
    <version>1.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/science.doing/jctools-graal-native/
implementation 'science.doing:jctools-graal-native:1.0.0'
// https://jarcasting.com/artifacts/science.doing/jctools-graal-native/
implementation ("science.doing:jctools-graal-native:1.0.0")
'science.doing:jctools-graal-native:jar:1.0.0'
<dependency org="science.doing" name="jctools-graal-native" rev="1.0.0">
  <artifact name="jctools-graal-native" type="jar" />
</dependency>
@Grapes(
@Grab(group='science.doing', module='jctools-graal-native', version='1.0.0')
)
libraryDependencies += "science.doing" % "jctools-graal-native" % "1.0.0"
[science.doing/jctools-graal-native "1.0.0"]

Dependencies

provided (1)

Group / Artifact Type Version
com.oracle.substratevm : svm jar 19.2.1

Project Modules

There are no modules declared in this project.

jctools-graal-native

This library contains substitutions for various bits of code in JCTools that normally cannot be compiled by Graal's SubstrateVM. These substitutions are only used at compile time, so be sure to only include them in your project's provided scope.

You only need this library if your project or one of it's dependencies actually use one of the substituted classes (graal should log warnings during compilation).

Usage

Disclaimer: Currently, this project only works for version 20.2.0 of Graal. You can recompile this project with a different version of the org.graalvm.nativeimage:svm dependency. My goal is for future versions to be more flexible.

sbt

// Contains substitutions that are necessary for native image creation. These substitutions are required since JCTools
// contains a lot of code that can't be compiled by graal native.
libraryDependencies ++= Seq(
  "science.doing" % "jctools-graal-native_20_2_0" % "1.0.0",
  "org.graalvm.nativeimage" % "svm" % "20.2.0" % Provided
)

Gradle

// Contains substitutions that are necessary for native image creation. These substitutions are required since JCTools
// contains a lot of code that can't be compiled by graal native.
compile "science.doing:jctools-graal-native_20_2_0:1.0.0"
compileOnly "org.graalvm.nativeimage:svm:20.2.0"
science.doing

Carpe Data

Versions

Version
1.0.0