docs.sheetjs.com/tests/engines/graaljs.sh
2026-05-10 22:28:52 -04:00

41 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
# https://docs.sheetjs.com/docs/demos/engines/graaljs
GRAAL_VERSION="25.0.2"
cd /tmp
rm -rf sheetjs-graaljs
mkdir -p sheetjs-graaljs
cd sheetjs-graaljs
curl -LO "https://repo1.maven.org/maven2/org/graalvm/js/js-scriptengine/${GRAAL_VERSION}/js-scriptengine-${GRAAL_VERSION}.jar"
curl -LO "https://repo1.maven.org/maven2/org/graalvm/js/js-language/${GRAAL_VERSION}/js-language-${GRAAL_VERSION}.jar"
curl -LO "https://repo1.maven.org/maven2/org/graalvm/polyglot/polyglot/${GRAAL_VERSION}/polyglot-${GRAAL_VERSION}.jar"
curl -LO "https://repo1.maven.org/maven2/org/graalvm/sdk/collections/${GRAAL_VERSION}/collections-${GRAAL_VERSION}.jar"
curl -LO "https://repo1.maven.org/maven2/org/graalvm/truffle/truffle-api/${GRAAL_VERSION}/truffle-api-${GRAAL_VERSION}.jar"
curl -LO "https://repo1.maven.org/maven2/org/graalvm/sdk/nativeimage/${GRAAL_VERSION}/nativeimage-${GRAAL_VERSION}.jar"
curl -LO "https://repo1.maven.org/maven2/org/graalvm/shadowed/icu4j/${GRAAL_VERSION}/icu4j-${GRAAL_VERSION}.jar"
curl -LO "https://repo1.maven.org/maven2/org/graalvm/regex/regex/${GRAAL_VERSION}/regex-${GRAAL_VERSION}.jar"
curl -LO https://cdn.sheetjs.com/xlsx-latest/package/dist/xlsx.full.min.js
curl -LO https://cdn.sheetjs.com/xlsx-latest/package/dist/shim.min.js
curl -LO https://sheetjs.com/pres.xlsx
curl -LO https://docs.sheetjs.com/nashorn/SheetJSNashorn.java
for n in {17..26}; do
export JAVA_HOME=`/usr/libexec/java_home -v $n`
java -version
rm -fr SheetJSNashorn.class SheetJSNashorn.jar sheethorn
javac SheetJSNashorn.java
java -cp ".:js-scriptengine-${GRAAL_VERSION}.jar:js-language-${GRAAL_VERSION}.jar:polyglot-${GRAAL_VERSION}.jar:collections-${GRAAL_VERSION}.jar:truffle-api-${GRAAL_VERSION}.jar:nativeimage-${GRAAL_VERSION}.jar:icu4j-${GRAAL_VERSION}.jar:regex-${GRAAL_VERSION}.jar" -Dpolyglot.js.nashorn-compat=true SheetJSNashorn pres.xlsx
jar -cf SheetJSNashorn.jar SheetJSNashorn.class xlsx.full.min.js shim.min.js
mkdir -p sheethorn
cp *.jar pres.xlsx sheethorn
cd sheethorn
java -cp ".:js-scriptengine-${GRAAL_VERSION}.jar:js-language-${GRAAL_VERSION}.jar:polyglot-${GRAAL_VERSION}.jar:collections-${GRAAL_VERSION}.jar:truffle-api-${GRAAL_VERSION}.jar:nativeimage-${GRAAL_VERSION}.jar:icu4j-${GRAAL_VERSION}.jar:regex-${GRAAL_VERSION}.jar:SheetJSNashorn.jar" -Dpolyglot.js.nashorn-compat=true SheetJSNashorn pres.xlsx
cd -
done