diff --git a/.github/workflows/aot-test.yml b/.github/workflows/aot-test.yml index 1e80b0f..c7b7c81 100644 --- a/.github/workflows/aot-test.yml +++ b/.github/workflows/aot-test.yml @@ -39,6 +39,9 @@ jobs: target/graalvm-native-image/jelly-cli \ rdf from-jelly --out-format=jelly-text out.jelly > out.txt && \ [ -s out.txt ] + target/graalvm-native-image/jelly-cli \ + rdf from-jelly --out-format=jsonld out.jelly > out.json && \ + [ -s out.json ] - name: Upload binary uses: actions/upload-artifact@v4 diff --git a/build.sbt b/build.sbt index 802461e..387ca96 100644 --- a/build.sbt +++ b/build.sbt @@ -25,6 +25,7 @@ lazy val graalOptions = Seq( if (isDevBuild) Seq("-Ob") else Seq("-Os", "--emit build-report"), ).flatten ++ Seq( "--features=eu.neverblink.jelly.cli.graal.ProtobufFeature", + "-H:ReflectionConfigurationFiles=" + file("graal.json").getAbsolutePath, ) lazy val root = (project in file(".")) diff --git a/graal.json b/graal.json new file mode 100644 index 0000000..d776da7 --- /dev/null +++ b/graal.json @@ -0,0 +1,12 @@ +[ + { + "name": "org.glassfish.json.JsonProviderImpl", + "methods": [ + { "name": "", "parameterTypes": [] } + ], + "allDeclaredConstructors": true, + "allPublicConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true + } +]