From c3f9480efe08827dfa4ac0fb21f7376d80287ce6 Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Sat, 23 May 2020 14:53:28 +0200 Subject: [PATCH] [#449] move to GraalVM 20.1.0 java11 --- .circleci/config.yml | 46 ++++++++++++------------ .github/workflows/build.yml | 68 ++++++++++++++++++++++++----------- appveyor.yml | 12 +++---- project.clj | 5 +-- sci | 2 +- script/bump_graal_version.clj | 24 ++++++------- script/compile | 7 +++- script/compile.bat | 4 ++- script/run_lib_tests | 6 ++++ script/test | 18 +++++++--- script/uberjar | 8 +++++ script/uberjar.bat | 4 +-- src/babashka/impl/classes.clj | 6 +--- 13 files changed, 132 insertions(+), 78 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6278059b..f38fde83 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,7 +7,7 @@ jobs: jvm: docker: # specify the version you desire here - - image: circleci/clojure:lein-2.8.1 + - image: circleci/clojure:lein-2.9.1 working_directory: ~/repo environment: LEIN_ROOT: "true" @@ -66,14 +66,14 @@ jobs: key: v1-dependencies-{{ checksum "project.clj" }} linux: docker: - - image: circleci/clojure:lein-2.8.1 + - image: circleci/clojure:lein-2.9.1 working_directory: ~/repo environment: LEIN_ROOT: "true" - GRAALVM_HOME: /home/circleci/graalvm-ce-java8-19.3.2 + GRAALVM_HOME: /home/circleci/graalvm-ce-java11-20.1.0 BABASHKA_PLATFORM: linux # used in release script BABASHKA_TEST_ENV: native - BABASHKA_XMX: "-J-Xmx7g" + BABASHKA_XMX: "-J-Xmx6500m" resource_class: large steps: - checkout @@ -104,9 +104,9 @@ jobs: name: Download GraalVM command: | cd ~ - if ! [ -d graalvm-ce-java8-19.3.2 ]; then - curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-19.3.2/graalvm-ce-java8-linux-amd64-19.3.2.tar.gz - tar xzf graalvm-ce-java8-linux-amd64-19.3.2.tar.gz + if ! [ -d graalvm-ce-java11-20.1.0 ]; then + curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.1.0/graalvm-ce-java11-linux-amd64-20.1.0.tar.gz + tar xzf graalvm-ce-java11-linux-amd64-20.1.0.tar.gz fi - run: name: Build binary @@ -126,7 +126,7 @@ jobs: - save_cache: paths: - ~/.m2 - - ~/graalvm-ce-java8-19.3.2 + - ~/graalvm-ce-java11-20.1.0 key: linux-{{ checksum "project.clj" }}-{{ checksum ".circleci/config.yml" }} - store_artifacts: path: /tmp/release @@ -137,15 +137,15 @@ jobs: ./bb .circleci/script/publish_artifact.clj linux-static: docker: - - image: circleci/clojure:lein-2.8.1 + - image: circleci/clojure:lein-2.9.1 working_directory: ~/repo environment: LEIN_ROOT: "true" - GRAALVM_HOME: /home/circleci/graalvm-ce-java8-19.3.2 + GRAALVM_HOME: /home/circleci/graalvm-ce-java11-20.1.0 BABASHKA_PLATFORM: linux-static # used in release script BABASHKA_TEST_ENV: native BABASHKA_STATIC: true - BABASHKA_XMX: "-J-Xmx7g" + BABASHKA_XMX: "-J-Xmx6500m" resource_class: large steps: - checkout @@ -176,9 +176,9 @@ jobs: name: Download GraalVM command: | cd ~ - if ! [ -d graalvm-ce-java8-19.3.2 ]; then - curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-19.3.2/graalvm-ce-java8-linux-amd64-19.3.2.tar.gz - tar xzf graalvm-ce-java8-linux-amd64-19.3.2.tar.gz + if ! [ -d graalvm-ce-java11-20.1.0 ]; then + curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.1.0/graalvm-ce-java11-linux-amd64-20.1.0.tar.gz + tar xzf graalvm-ce-java11-linux-amd64-20.1.0.tar.gz fi - run: name: Build binary @@ -198,7 +198,7 @@ jobs: - save_cache: paths: - ~/.m2 - - ~/graalvm-ce-java8-19.3.2 + - ~/graalvm-ce-java11-20.1.0 key: linux-{{ checksum "project.clj" }}-{{ checksum ".circleci/config.yml" }} - store_artifacts: path: /tmp/release @@ -211,10 +211,10 @@ jobs: macos: xcode: "9.0" environment: - GRAALVM_HOME: /Users/distiller/graalvm-ce-java8-19.3.2/Contents/Home + GRAALVM_HOME: /Users/distiller/graalvm-ce-java11-20.1.0/Contents/Home BABASHKA_PLATFORM: macos # used in release script BABASHKA_TEST_ENV: native - BABASHKA_XMX: "-J-Xmx7g" + BABASHKA_XMX: "-J-Xmx6500m" resource_class: large steps: - checkout @@ -239,19 +239,21 @@ jobs: command: | cd ~ ls -la - if ! [ -d graalvm-ce-java8-19.3.2 ]; then - curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-19.3.2/graalvm-ce-java8-darwin-amd64-19.3.2.tar.gz - tar xzf graalvm-ce-java8-darwin-amd64-19.3.2.tar.gz + if ! [ -d graalvm-ce-java11-20.1.0 ]; then + curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.1.0/graalvm-ce-java11-darwin-amd64-20.1.0.tar.gz + tar xzf graalvm-ce-java11-darwin-amd64-20.1.0.tar.gz fi - run: name: Build binary command: | + export PATH=$GRAALVM_HOME/bin:$PATH script/uberjar script/compile no_output_timeout: 30m - run: name: Run tests command: | + export PATH=$GRAALVM_HOME/bin:$PATH script/test script/run_lib_tests - run: @@ -261,7 +263,7 @@ jobs: - save_cache: paths: - ~/.m2 - - ~/graalvm-ce-java8-19.3.2 + - ~/graalvm-ce-java11-20.1.0 key: mac-{{ checksum "project.clj" }}-{{ checksum ".circleci/config.yml" }} - store_artifacts: path: /tmp/release @@ -273,7 +275,7 @@ jobs: deploy: resource_class: large docker: - - image: circleci/clojure:lein-2.8.1 + - image: circleci/clojure:lein-2.9.1 working_directory: ~/repo environment: LEIN_ROOT: "true" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 65df90ea..0044ec3a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -38,6 +38,23 @@ jobs: restore-keys: | ${{ runner.os }}-maven- + - name: Cache GraalVM + uses: actions/cache@v1 + id: cache-graalvm + with: + path: ~/graalvm-ce-java11-20.1.0 + key: ${{ runner.os }}-graalvm-20.1.0 + restore-keys: | + ${{ runner.os }}-graalvm-20.1.0 + + - name: Download GraalVM + run: | + cd ~ + if ! [ -d graalvm-ce-java11-20.1.0 ]; then + curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.1.0/graalvm-ce-java11-linux-amd64-20.1.0.tar.gz + tar xzf graalvm-ce-java11-linux-amd64-20.1.0.tar.gz + fi + - name: Fetch deps if: steps.cache-deps.outputs.cache-hit != 'true' run: | @@ -45,15 +62,18 @@ jobs: - name: Run tests run: | + export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0" script/test - name: Test libraries run: | + export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0" sudo script/install-clojure script/run_lib_tests - name: Build uberjar run: | + export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0" script/uberjar - name: Babashka version @@ -109,17 +129,17 @@ jobs: uses: actions/cache@v1 id: cache-graalvm with: - path: ~/graalvm-ce-java8-19.3.2 - key: ${{ runner.os }}-graalvm-19.3.2 + path: ~/graalvm-ce-java11-20.1.0 + key: ${{ runner.os }}-graalvm-20.1.0 restore-keys: | - ${{ runner.os }}-graalvm-19.3.2 + ${{ runner.os }}-graalvm-20.1.0 - name: Download GraalVM run: | cd ~ - if ! [ -d graalvm-ce-java8-19.3.2 ]; then - curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-19.3.2/graalvm-ce-java8-linux-amd64-19.3.2.tar.gz - tar xzf graalvm-ce-java8-linux-amd64-19.3.2.tar.gz + if ! [ -d graalvm-ce-java11-20.1.0 ]; then + curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.1.0/graalvm-ce-java11-linux-amd64-20.1.0.tar.gz + tar xzf graalvm-ce-java11-linux-amd64-20.1.0.tar.gz fi - name: Babashka version @@ -132,12 +152,13 @@ jobs: run: | export BABASHKA_JAR=babashka-${{ steps.babashka-version.outputs.version }}-standalone.jar export BABASHKA_XMX="-J-Xmx6g" - export GRAALVM_HOME="$HOME/graalvm-ce-java8-19.3.2" + export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0" cp babashka-${{ steps.babashka-version.outputs.version }}-reflection.json reflection.json script/compile - name: Test binary run: | + export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0" BABASHKA_TEST_ENV=native script/test - name: Install clojure @@ -146,6 +167,7 @@ jobs: - name: Test libraries run: | + export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0" BABASHKA_TEST_ENV=native script/run_lib_tests - uses: actions/upload-artifact@v1 @@ -186,17 +208,17 @@ jobs: uses: actions/cache@v1 id: cache-graalvm with: - path: ~/graalvm-ce-java8-19.3.2 - key: ${{ runner.os }}-graalvm-19.3.2 + path: ~/graalvm-ce-java11-20.1.0 + key: ${{ runner.os }}-graalvm-20.1.0 restore-keys: | - ${{ runner.os }}-graalvm-19.3.2 + ${{ runner.os }}-graalvm-20.1.0 - name: Download GraalVM run: | cd ~ - if ! [ -d graalvm-ce-java8-19.3.2 ]; then - curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-19.3.2/graalvm-ce-java8-linux-amd64-19.3.2.tar.gz - tar xzf graalvm-ce-java8-linux-amd64-19.3.2.tar.gz + if ! [ -d graalvm-ce-java11-20.1.0 ]; then + curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.1.0/graalvm-ce-java11-linux-amd64-20.1.0.tar.gz + tar xzf graalvm-ce-java11-linux-amd64-20.1.0.tar.gz fi - name: Babashka version @@ -209,7 +231,7 @@ jobs: run: | export BABASHKA_JAR=babashka-${{ steps.babashka-version.outputs.version }}-standalone.jar export BABASHKA_XMX="-J-Xmx6g" - export GRAALVM_HOME="$HOME/graalvm-ce-java8-19.3.2" + export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0" export BABASHKA_STATIC=true cp babashka-${{ steps.babashka-version.outputs.version }}-reflection.json reflection.json script/compile @@ -217,6 +239,7 @@ jobs: - name: Test binary run: | ./bb '(+ 1 2 3)' + export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0" BABASHKA_TEST_ENV=native script/test - name: Install clojure @@ -225,6 +248,7 @@ jobs: - name: Test libraries run: | + export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0" BABASHKA_TEST_ENV=native script/run_lib_tests - uses: actions/upload-artifact@v1 @@ -256,17 +280,17 @@ jobs: uses: actions/cache@v1 id: cache-graalvm with: - path: ~/graalvm-ce-java8-19.3.2 - key: ${{ runner.os }}-graalvm-19.3.2 + path: ~/graalvm-ce-java11-20.1.0 + key: ${{ runner.os }}-graalvm-20.1.0 restore-keys: | - ${{ runner.os }}-graalvm-19.3.2 + ${{ runner.os }}-graalvm-20.1.0 - name: Download GraalVM run: | cd ~ - if ! [ -d graalvm-ce-java8-19.3.2 ]; then - curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-19.3.2/graalvm-ce-java8-darwin-amd64-19.3.2.tar.gz - tar xzf graalvm-ce-java8-darwin-amd64-19.3.2.tar.gz + if ! [ -d graalvm-ce-java11-20.1.0 ]; then + curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.1.0/graalvm-ce-java11-darwin-amd64-20.1.0.tar.gz + tar xzf graalvm-ce-java11-darwin-amd64-20.1.0.tar.gz fi - name: Babashka version @@ -279,17 +303,19 @@ jobs: run: | export BABASHKA_JAR=babashka-${{ steps.babashka-version.outputs.version }}-standalone.jar export BABASHKA_XMX="-J-Xmx6g" - export GRAALVM_HOME="$HOME/graalvm-ce-java8-19.3.2/Contents/Home" + export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0/Contents/Home" cp babashka-${{ steps.babashka-version.outputs.version }}-reflection.json reflection.json script/compile - name: Test binary run: | + export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0/Contents/Home" sudo script/install-leiningen BABASHKA_TEST_ENV=native script/test - name: Test libraries run: | + export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0/Contents/Home" sudo script/install-clojure BABASHKA_TEST_ENV=native script/run_lib_tests diff --git a/appveyor.yml b/appveyor.yml index 238b5778..ec3c342a 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -2,12 +2,12 @@ version: "v-{build}" -image: Visual Studio 2015 +image: Visual Studio 2017 clone_folder: C:\projects\babashka environment: - GRAALVM_HOME: C:\projects\babashka\graalvm\graalvm-ce-java8-19.3.2 + GRAALVM_HOME: C:\projects\babashka\graalvm\graalvm-ce-java11-20.1.0 BABASHKA_XMX: "-J-Xmx5g" cache: @@ -39,12 +39,12 @@ build_script: # call script/test.bat +# see https://github.com/quarkusio/quarkus/pull/7663 + - cmd: >- - choco install windows-sdk-7.1 + call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" - call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" - - powershell -Command "if (Test-Path('graalvm')) { return } else { (New-Object Net.WebClient).DownloadFile('https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-19.3.2/graalvm-ce-java8-windows-amd64-19.3.2.zip', 'graalvm.zip') }" + powershell -Command "if (Test-Path('graalvm')) { return } else { (New-Object Net.WebClient).DownloadFile('https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.1.0/graalvm-ce-java11-windows-amd64-20.1.0.zip', 'graalvm.zip') }" powershell -Command "if (Test-Path('graalvm')) { return } else { Expand-Archive graalvm.zip graalvm }" diff --git a/project.clj b/project.clj index 47e5b674..ff3ca08d 100644 --- a/project.clj +++ b/project.clj @@ -17,11 +17,11 @@ [org.clojure/tools.reader "1.3.2"] [borkdude/edamame "0.0.11-alpha.12"] [borkdude/graal.locking "0.0.2"] - [borkdude/sci.impl.reflector "0.0.1"] [org.clojure/tools.cli "1.0.194"] [cheshire "5.10.0"] [fipp "0.6.22"] - [nrepl/bencode "1.1.0"]] + [nrepl/bencode "1.1.0"] + [borkdude/sci.impl.reflector "0.0.1-java11"]] :profiles {:feature/xml {:source-paths ["feature-xml"] :dependencies [[org.clojure/data.xml "0.2.0-alpha6"]]} :feature/yaml {:source-paths ["feature-yaml"] @@ -54,6 +54,7 @@ "-Dclojure.spec.skip-macros=true"] :main babashka.main :aot :all} + :native-image {:dependencies [[borkdude/clj-reflector-graal-java11-fix "0.0.1-graalvm-20.1.0"]]} :reflection {:main babashka.impl.classes/generate-reflection-file}} :aliases {"bb" ["with-profile" "test" "run" "-m" "babashka.main"]} :deploy-repositories [["clojars" {:url "https://clojars.org/repo" diff --git a/sci b/sci index 935e8b5f..f1d4264c 160000 --- a/sci +++ b/sci @@ -1 +1 @@ -Subproject commit 935e8b5ff402cf9163f4a7640aa5cbe894a6e31c +Subproject commit f1d4264cfa409ae31fd79e205e579bbcbf7ca7e0 diff --git a/script/bump_graal_version.clj b/script/bump_graal_version.clj index 0292032a..7b72f436 100755 --- a/script/bump_graal_version.clj +++ b/script/bump_graal_version.clj @@ -1,16 +1,16 @@ #!/usr/bin/env bb ;; NOTE -;; +;; ;; For more information on the current scene on support for ;; particular GraalVM versions, look here: https://www.graalvm.org/downloads/ -;; +;; ;; There are 4 CE(Community Editions) being supported by GraalVM ;; GraalVM Community Edition 20.1.0 based on OpenJDK 8u252 ;; GraalVM Community Edition 20.1.0 based on OpenJDK 11.0.7 ;; GraalVM Community Edition 19.3.2 based on OpenJDK 8u252 ;; GraalVM Community Edition 19.3.2 based on OpenJDK 11.0.7 -;; +;; ;; Currently we use GraalVM java8-19.3.2 (ns bump-graal-version @@ -43,9 +43,9 @@ ;; We might have to keep changing these from ;; time to time whenever the version is bumped -;; -;; OR -;; +;; +;; OR +;; ;; We could have them as environment variables (def current-graal-version "19.3.2") (def current-java-version "java8") @@ -71,12 +71,12 @@ (defn bump-current [current new] - (doseq [file files-to-edit] - (let [exec-res (replace-current file current new)] - (try (spit file exec-res) - (catch Exception e (str "There was an error: " (.getMessage e))) - (finally - (println "Done with : " file)))))) + (doseq [file files-to-edit] + (let [exec-res (replace-current file current new)] + (try (spit file exec-res) + (catch Exception e (str "There was an error: " (.getMessage e))) + (finally + (println "Done with : " file)))))) (defn show-error [err-version] diff --git a/script/compile b/script/compile index 5a019895..69ff04c5 100755 --- a/script/compile +++ b/script/compile @@ -22,11 +22,16 @@ fi "$GRAALVM_HOME/bin/gu" install native-image export JAVA_HOME=$GRAALVM_HOME +export PATH=$GRAALVM_HOME/bin:$PATH SVM_JAR=$(find "$GRAALVM_HOME" | grep svm.jar) "$GRAALVM_HOME/bin/javac" -cp "$SVM_JAR" resources/CutOffCoreServicesDependencies.java -BABASHKA_FEATURE_HSQLDB=${BABASHKA_FEATURE_HSQLDB:-} +if [ -z "$BABASHKA_JAR" ]; then + lein with-profiles +reflection,+native-image "do" run + lein "do" clean, uberjar + BABASHKA_JAR=${BABASHKA_JAR:-"target/babashka-$BABASHKA_VERSION-standalone.jar"} +fi BABASHKA_BINARY=${BABASHKA_BINARY:-"bb"} diff --git a/script/compile.bat b/script/compile.bat index b97d4eb2..31beab41 100644 --- a/script/compile.bat +++ b/script/compile.bat @@ -13,7 +13,7 @@ if "%BABASHKA_XMX%"=="" ( ) set JAVA_HOME=%GRAALVM_HOME% -set PATH=%PATH%;%GRAALVM_HOME%\bin +set PATH=%GRAALVM_HOME%\bin;%PATH% set /P BABASHKA_VERSION=< resources\BABASHKA_VERSION echo Building Babashka %BABASHKA_VERSION% @@ -21,6 +21,8 @@ echo Building Babashka %BABASHKA_VERSION% Rem the --no-server option is not supported in GraalVM Windows. Rem -H:EnableURLProtocols=jar,http,https is also not supported. +call %GRAALVM_HOME%\bin\gu.cmd install native-image + call %GRAALVM_HOME%\bin\native-image.cmd ^ "-jar" "target/babashka-%BABASHKA_VERSION%-standalone.jar" ^ "-H:Name=bb" ^ diff --git a/script/run_lib_tests b/script/run_lib_tests index b426b25c..a9670461 100755 --- a/script/run_lib_tests +++ b/script/run_lib_tests @@ -2,6 +2,12 @@ set -eo pipefail +if [ "$GRAALVM_HOME" != "" ] +then + export JAVA_HOME=$GRAALVM_HOME + export PATH=$GRAALVM_HOME/bin:$PATH +fi + script/lib_tests/clj_http_lite_test script/lib_tests/deps_clj_test script/lib_tests/spartan_spec_test diff --git a/script/test b/script/test index d6c8473b..52a179b0 100755 --- a/script/test +++ b/script/test @@ -1,18 +1,26 @@ #!/usr/bin/env bash +if [ "$GRAALVM_HOME" != "" ] +then + export JAVA_HOME=$GRAALVM_HOME + export PATH=$GRAALVM_HOME/bin:$PATH +fi + +java -version + set -eo pipefail BABASHKA_PRELOADS="" BABASHKA_CLASSPATH="" echo "running tests part 1" lein test "$@" -BABASHKA_PRELOADS='(defn __bb__foo [] "foo") (defn __bb__bar [] "bar")' -BABASHKA_PRELOADS_TEST=true +export BABASHKA_PRELOADS='(defn __bb__foo [] "foo") (defn __bb__bar [] "bar")' +export BABASHKA_PRELOADS_TEST=true echo "running tests part 2" lein test :only babashka.main-test/preloads-test -BABASHKA_PRELOADS="(require '[env-ns])" -BABASHKA_CLASSPATH_TEST=true -BABASHKA_CLASSPATH="test-resources/babashka/src_for_classpath_test/env" +export BABASHKA_PRELOADS="(require '[env-ns])" +export BABASHKA_CLASSPATH_TEST=true +export BABASHKA_CLASSPATH="test-resources/babashka/src_for_classpath_test/env" echo "running tests part 3" lein test :only babashka.classpath-test/classpath-env-test diff --git a/script/uberjar b/script/uberjar index e5ba2870..4ee17f13 100755 --- a/script/uberjar +++ b/script/uberjar @@ -1,5 +1,13 @@ #!/usr/bin/env bash +if [ "$GRAALVM_HOME" != "" ] +then + export JAVA_HOME=$GRAALVM_HOME + export PATH=$GRAALVM_HOME/bin:$PATH +fi + +java -version + set -eo pipefail if [ "$BABASHKA_LEAN" = "true" ] diff --git a/script/uberjar.bat b/script/uberjar.bat index 24122053..b3b198b4 100755 --- a/script/uberjar.bat +++ b/script/uberjar.bat @@ -6,7 +6,7 @@ if "%GRAALVM_HOME%"=="" ( ) set JAVA_HOME=%GRAALVM_HOME% -set PATH=%PATH%;%GRAALVM_HOME%\bin +set PATH=%GRAALVM_HOME%\bin;%PATH% set BABASHKA_LEIN_PROFILES=+uberjar @@ -69,5 +69,5 @@ call lein with-profiles %BABASHKA_LEIN_PROFILES% bb "(+ 1 2 3)" call lein with-profiles %BABASHKA_LEIN_PROFILES%,+reflection,-uberjar do run if %errorlevel% neq 0 exit /b %errorlevel% -call lein with-profiles "%BABASHKA_LEIN_PROFILES%" do clean, uberjar +call lein with-profiles "%BABASHKA_LEIN_PROFILES%,+native-image" do clean, uberjar if %errorlevel% neq 0 exit /b %errorlevel% diff --git a/src/babashka/impl/classes.clj b/src/babashka/impl/classes.clj index 7250b85e..a74ef274 100644 --- a/src/babashka/impl/classes.clj +++ b/src/babashka/impl/classes.clj @@ -72,10 +72,6 @@ {:name "toURI"}]} java.util.Arrays {:methods [{:name "copyOf"}]}} - features/xml? (assoc `com.sun.xml.internal.stream.XMLInputFactoryImpl - {:methods [{:name "" :parameterTypes []}]} - `com.sun.xml.internal.stream.XMLOutputFactoryImpl - {:methods [{:name "" :parameterTypes []}]}) features/hsqldb? (assoc `org.hsqldb.dbinfo.DatabaseInformationFull {:methods [{:name "" :parameterTypes ["org.hsqldb.Database"]}]} @@ -285,6 +281,6 @@ (sort-by :name) (vec))) - (public-declared-method-names java.lang.UNIXProcess) (public-declared-method-names java.net.URL) + (public-declared-method-names java.util.Properties) )