Skip to content

Commit

Permalink
native-image config for more languages
Browse files Browse the repository at this point in the history
Signed-off-by: Prabhu Subramanian <[email protected]>
  • Loading branch information
prabhu committed Jan 14, 2024
1 parent a4c041d commit d2a520f
Show file tree
Hide file tree
Showing 10 changed files with 4,996 additions and 82 deletions.
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

0 comments on commit d2a520f

Please sign in to comment.