#!/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