Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

native-image config for more languages #113

Merged
merged 1 commit into from
Jan 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ jobs:
java-version: '21'
github-token: ${{ secrets.GITHUB_TOKEN }}
native-image-job-reports: 'true'
components: 'native-image'
cache: 'sbt'
- run: |
sbt stage astGenDlTask
Expand Down
15 changes: 7 additions & 8 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,13 @@ jobs:
java-version: '21'
github-token: ${{ secrets.GITHUB_TOKEN }}
native-image-job-reports: 'true'
components: 'native-image'
cache: 'sbt'
- run: |
sbt stage astGenDlTask assembly createDistribution
sha512sum target/atom.zip > target/atom.zip.sha512
bash ci/native-image.sh
cp target/graalvm-native-image/atom target/graalvm-native-image/c2atom
sha512sum target/graalvm-native-image/c2atom > target/graalvm-native-image/c2atom.sha512
cp target/graalvm-native-image/atom target/graalvm-native-image/atom-amd64
sha512sum target/graalvm-native-image/atom-amd64 > target/graalvm-native-image/atom-amd64.sha512
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: sbt publish
Expand All @@ -50,10 +49,10 @@ jobs:
./atom.zip:application/vnd.appthreat.atom.layer.v1+tar \
./atom.zip.sha512:application/vnd.appthreat.atom.layer.v1+tar
cd graalvm-native-image
oras push ghcr.io/appthreat/c2atom:v2 \
oras push ghcr.io/appthreat/atom-amd64:v2 \
--artifact-type application/vnd.oras.config.v1+json \
./c2atom:application/vnd.appthreat.atom.layer.v1+tar \
./c2atom.sha512:application/vnd.appthreat.atom.layer.v1+tar
./atom-amd64:application/vnd.appthreat.atom.layer.v1+tar \
./atom-amd64.sha512:application/vnd.appthreat.atom.layer.v1+tar
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.actor }}
Expand All @@ -64,5 +63,5 @@ jobs:
files: |
target/atom.zip
target/atom.zip.sha512
target/graalvm-native-image/c2atom
target/graalvm-native-image/c2atom.sha512
target/graalvm-native-image/atom-amd64
target/graalvm-native-image/atom-amd64.sha512
2 changes: 1 addition & 1 deletion build.sbt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name := "atom"
ThisBuild / organization := "io.appthreat"
ThisBuild / version := "2.0.1"
ThisBuild / version := "2.0.2"
ThisBuild / scalaVersion := "3.3.1"

val chenVersion = "2.0.2"
Expand Down
2 changes: 1 addition & 1 deletion ci/trace-native-image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@
# sdk use java 21.0.1-graalce

sbt clean stage
./atom.sh -J-agentlib:native-image-agent=config-output-dir=src/main/resources/META-INF/native-image reachables -l $1 -o /tmp/app.atom -s /tmp/reachables.slices.json $2
./atom.sh -J-agentlib:native-image-agent=config-merge-dir=src/main/resources/META-INF/native-image reachables -l $1 -o /tmp/app.atom -s /tmp/reachables.slices.json $2

# bash ci/native-image.sh
2 changes: 1 addition & 1 deletion codemeta.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"downloadUrl": "https://github.com/AppThreat/atom",
"issueTracker": "https://github.com/AppThreat/atom/issues",
"name": "atom",
"version": "2.0.1",
"version": "2.0.2",
"description": "Atom is a novel intermediate representation for next-generation code analysis.",
"applicationCategory": "code-analysis",
"keywords": [
Expand Down
12 changes: 12 additions & 0 deletions src/main/resources/META-INF/native-image/jni-config.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@
[
{
"name":"io.appthreat.atom.Atom",
"methods":[{"name":"main","parameterTypes":["java.lang.String[]"] }]
},
{
"name":"java.lang.Boolean",
"methods":[{"name":"getBoolean","parameterTypes":["java.lang.String"] }]
},
{
"name":"java.lang.String",
"methods":[{"name":"lastIndexOf","parameterTypes":["int"] }, {"name":"substring","parameterTypes":["int"] }]
},
{
"name":"java.lang.System",
"methods":[{"name":"getProperty","parameterTypes":["java.lang.String"] }, {"name":"setProperty","parameterTypes":["java.lang.String","java.lang.String"] }]
}
]
Loading
Loading