[#561] Add org.httpkit.client namespace
This also bumps GraalVM to 20.2.0 and XCode to version 12
This commit is contained in:
parent
51dca73030
commit
f89da080c3
14 changed files with 148 additions and 73 deletions
|
|
@ -70,7 +70,7 @@ jobs:
|
||||||
working_directory: ~/repo
|
working_directory: ~/repo
|
||||||
environment:
|
environment:
|
||||||
LEIN_ROOT: "true"
|
LEIN_ROOT: "true"
|
||||||
GRAALVM_HOME: /home/circleci/graalvm-ce-java11-20.1.0
|
GRAALVM_HOME: /home/circleci/graalvm-ce-java11-20.2.0
|
||||||
BABASHKA_PLATFORM: linux # used in release script
|
BABASHKA_PLATFORM: linux # used in release script
|
||||||
BABASHKA_TEST_ENV: native
|
BABASHKA_TEST_ENV: native
|
||||||
BABASHKA_XMX: "-J-Xmx6500m"
|
BABASHKA_XMX: "-J-Xmx6500m"
|
||||||
|
|
@ -104,9 +104,9 @@ jobs:
|
||||||
name: Download GraalVM
|
name: Download GraalVM
|
||||||
command: |
|
command: |
|
||||||
cd ~
|
cd ~
|
||||||
if ! [ -d graalvm-ce-java11-20.1.0 ]; then
|
if ! [ -d graalvm-ce-java11-20.2.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
|
curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.2.0/graalvm-ce-java11-linux-amd64-20.2.0.tar.gz
|
||||||
tar xzf graalvm-ce-java11-linux-amd64-20.1.0.tar.gz
|
tar xzf graalvm-ce-java11-linux-amd64-20.2.0.tar.gz
|
||||||
fi
|
fi
|
||||||
- run:
|
- run:
|
||||||
name: Build binary
|
name: Build binary
|
||||||
|
|
@ -126,7 +126,7 @@ jobs:
|
||||||
- save_cache:
|
- save_cache:
|
||||||
paths:
|
paths:
|
||||||
- ~/.m2
|
- ~/.m2
|
||||||
- ~/graalvm-ce-java11-20.1.0
|
- ~/graalvm-ce-java11-20.2.0
|
||||||
key: linux-{{ checksum "project.clj" }}-{{ checksum ".circleci/config.yml" }}
|
key: linux-{{ checksum "project.clj" }}-{{ checksum ".circleci/config.yml" }}
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
path: /tmp/release
|
path: /tmp/release
|
||||||
|
|
@ -141,7 +141,7 @@ jobs:
|
||||||
working_directory: ~/repo
|
working_directory: ~/repo
|
||||||
environment:
|
environment:
|
||||||
LEIN_ROOT: "true"
|
LEIN_ROOT: "true"
|
||||||
GRAALVM_HOME: /home/circleci/graalvm-ce-java11-20.1.0
|
GRAALVM_HOME: /home/circleci/graalvm-ce-java11-20.2.0
|
||||||
BABASHKA_PLATFORM: linux-static # used in release script
|
BABASHKA_PLATFORM: linux-static # used in release script
|
||||||
BABASHKA_TEST_ENV: native
|
BABASHKA_TEST_ENV: native
|
||||||
BABASHKA_STATIC: true
|
BABASHKA_STATIC: true
|
||||||
|
|
@ -176,9 +176,9 @@ jobs:
|
||||||
name: Download GraalVM
|
name: Download GraalVM
|
||||||
command: |
|
command: |
|
||||||
cd ~
|
cd ~
|
||||||
if ! [ -d graalvm-ce-java11-20.1.0 ]; then
|
if ! [ -d graalvm-ce-java11-20.2.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
|
curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.2.0/graalvm-ce-java11-linux-amd64-20.2.0.tar.gz
|
||||||
tar xzf graalvm-ce-java11-linux-amd64-20.1.0.tar.gz
|
tar xzf graalvm-ce-java11-linux-amd64-20.2.0.tar.gz
|
||||||
fi
|
fi
|
||||||
- run:
|
- run:
|
||||||
name: Build binary
|
name: Build binary
|
||||||
|
|
@ -198,7 +198,7 @@ jobs:
|
||||||
- save_cache:
|
- save_cache:
|
||||||
paths:
|
paths:
|
||||||
- ~/.m2
|
- ~/.m2
|
||||||
- ~/graalvm-ce-java11-20.1.0
|
- ~/graalvm-ce-java11-20.2.0
|
||||||
key: linux-{{ checksum "project.clj" }}-{{ checksum ".circleci/config.yml" }}
|
key: linux-{{ checksum "project.clj" }}-{{ checksum ".circleci/config.yml" }}
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
path: /tmp/release
|
path: /tmp/release
|
||||||
|
|
@ -209,9 +209,9 @@ jobs:
|
||||||
./bb .circleci/script/publish_artifact.clj
|
./bb .circleci/script/publish_artifact.clj
|
||||||
mac:
|
mac:
|
||||||
macos:
|
macos:
|
||||||
xcode: "9.4.1"
|
xcode: "12.0.0"
|
||||||
environment:
|
environment:
|
||||||
GRAALVM_HOME: /Users/distiller/graalvm-ce-java11-20.1.0/Contents/Home
|
GRAALVM_HOME: /Users/distiller/graalvm-ce-java11-20.2.0/Contents/Home
|
||||||
BABASHKA_PLATFORM: macos # used in release script
|
BABASHKA_PLATFORM: macos # used in release script
|
||||||
BABASHKA_TEST_ENV: native
|
BABASHKA_TEST_ENV: native
|
||||||
BABASHKA_XMX: "-J-Xmx6500m"
|
BABASHKA_XMX: "-J-Xmx6500m"
|
||||||
|
|
@ -239,9 +239,9 @@ jobs:
|
||||||
command: |
|
command: |
|
||||||
cd ~
|
cd ~
|
||||||
ls -la
|
ls -la
|
||||||
if ! [ -d graalvm-ce-java11-20.1.0 ]; then
|
if ! [ -d graalvm-ce-java11-20.2.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
|
curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.2.0/graalvm-ce-java11-darwin-amd64-20.2.0.tar.gz
|
||||||
tar xzf graalvm-ce-java11-darwin-amd64-20.1.0.tar.gz
|
tar xzf graalvm-ce-java11-darwin-amd64-20.2.0.tar.gz
|
||||||
fi
|
fi
|
||||||
- run:
|
- run:
|
||||||
name: Build binary
|
name: Build binary
|
||||||
|
|
@ -263,7 +263,7 @@ jobs:
|
||||||
- save_cache:
|
- save_cache:
|
||||||
paths:
|
paths:
|
||||||
- ~/.m2
|
- ~/.m2
|
||||||
- ~/graalvm-ce-java11-20.1.0
|
- ~/graalvm-ce-java11-20.2.0
|
||||||
key: mac-{{ checksum "project.clj" }}-{{ checksum ".circleci/config.yml" }}
|
key: mac-{{ checksum "project.clj" }}-{{ checksum ".circleci/config.yml" }}
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
path: /tmp/release
|
path: /tmp/release
|
||||||
|
|
|
||||||
72
.github/workflows/build.yml
vendored
72
.github/workflows/build.yml
vendored
|
|
@ -44,17 +44,17 @@ jobs:
|
||||||
uses: actions/cache@v1
|
uses: actions/cache@v1
|
||||||
id: cache-graalvm
|
id: cache-graalvm
|
||||||
with:
|
with:
|
||||||
path: ~/graalvm-ce-java11-20.1.0
|
path: ~/graalvm-ce-java11-20.2.0
|
||||||
key: ${{ runner.os }}-graalvm-20.1.0
|
key: ${{ runner.os }}-graalvm-20.2.0
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-graalvm-20.1.0
|
${{ runner.os }}-graalvm-20.2.0
|
||||||
|
|
||||||
- name: Download GraalVM
|
- name: Download GraalVM
|
||||||
run: |
|
run: |
|
||||||
cd ~
|
cd ~
|
||||||
if ! [ -d graalvm-ce-java11-20.1.0 ]; then
|
if ! [ -d graalvm-ce-java11-20.2.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
|
curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.2.0/graalvm-ce-java11-linux-amd64-20.2.0.tar.gz
|
||||||
tar xzf graalvm-ce-java11-linux-amd64-20.1.0.tar.gz
|
tar xzf graalvm-ce-java11-linux-amd64-20.2.0.tar.gz
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Fetch deps
|
- name: Fetch deps
|
||||||
|
|
@ -64,18 +64,18 @@ jobs:
|
||||||
|
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
run: |
|
run: |
|
||||||
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0"
|
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.2.0"
|
||||||
script/test
|
script/test
|
||||||
|
|
||||||
- name: Test libraries
|
- name: Test libraries
|
||||||
run: |
|
run: |
|
||||||
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0"
|
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.2.0"
|
||||||
sudo script/install-clojure
|
sudo script/install-clojure
|
||||||
script/run_lib_tests
|
script/run_lib_tests
|
||||||
|
|
||||||
- name: Build uberjar
|
- name: Build uberjar
|
||||||
run: |
|
run: |
|
||||||
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0"
|
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.2.0"
|
||||||
script/uberjar
|
script/uberjar
|
||||||
|
|
||||||
- name: Babashka version
|
- name: Babashka version
|
||||||
|
|
@ -132,17 +132,17 @@ jobs:
|
||||||
uses: actions/cache@v1
|
uses: actions/cache@v1
|
||||||
id: cache-graalvm
|
id: cache-graalvm
|
||||||
with:
|
with:
|
||||||
path: ~/graalvm-ce-java11-20.1.0
|
path: ~/graalvm-ce-java11-20.2.0
|
||||||
key: ${{ runner.os }}-graalvm-20.1.0
|
key: ${{ runner.os }}-graalvm-20.2.0
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-graalvm-20.1.0
|
${{ runner.os }}-graalvm-20.2.0
|
||||||
|
|
||||||
- name: Download GraalVM
|
- name: Download GraalVM
|
||||||
run: |
|
run: |
|
||||||
cd ~
|
cd ~
|
||||||
if ! [ -d graalvm-ce-java11-20.1.0 ]; then
|
if ! [ -d graalvm-ce-java11-20.2.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
|
curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.2.0/graalvm-ce-java11-linux-amd64-20.2.0.tar.gz
|
||||||
tar xzf graalvm-ce-java11-linux-amd64-20.1.0.tar.gz
|
tar xzf graalvm-ce-java11-linux-amd64-20.2.0.tar.gz
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Babashka version
|
- name: Babashka version
|
||||||
|
|
@ -155,13 +155,13 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
export BABASHKA_JAR=babashka-${{ steps.babashka-version.outputs.version }}-standalone.jar
|
export BABASHKA_JAR=babashka-${{ steps.babashka-version.outputs.version }}-standalone.jar
|
||||||
export BABASHKA_XMX="-J-Xmx6g"
|
export BABASHKA_XMX="-J-Xmx6g"
|
||||||
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0"
|
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.2.0"
|
||||||
cp babashka-${{ steps.babashka-version.outputs.version }}-reflection.json reflection.json
|
cp babashka-${{ steps.babashka-version.outputs.version }}-reflection.json reflection.json
|
||||||
script/compile
|
script/compile
|
||||||
|
|
||||||
- name: Test binary
|
- name: Test binary
|
||||||
run: |
|
run: |
|
||||||
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0"
|
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.2.0"
|
||||||
BABASHKA_TEST_ENV=native script/test
|
BABASHKA_TEST_ENV=native script/test
|
||||||
|
|
||||||
- name: Install clojure
|
- name: Install clojure
|
||||||
|
|
@ -170,7 +170,7 @@ jobs:
|
||||||
|
|
||||||
- name: Test libraries
|
- name: Test libraries
|
||||||
run: |
|
run: |
|
||||||
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0"
|
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.2.0"
|
||||||
BABASHKA_TEST_ENV=native script/run_lib_tests
|
BABASHKA_TEST_ENV=native script/run_lib_tests
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v1
|
- uses: actions/upload-artifact@v1
|
||||||
|
|
@ -212,17 +212,17 @@ jobs:
|
||||||
uses: actions/cache@v1
|
uses: actions/cache@v1
|
||||||
id: cache-graalvm
|
id: cache-graalvm
|
||||||
with:
|
with:
|
||||||
path: ~/graalvm-ce-java11-20.1.0
|
path: ~/graalvm-ce-java11-20.2.0
|
||||||
key: ${{ runner.os }}-graalvm-20.1.0
|
key: ${{ runner.os }}-graalvm-20.2.0
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-graalvm-20.1.0
|
${{ runner.os }}-graalvm-20.2.0
|
||||||
|
|
||||||
- name: Download GraalVM
|
- name: Download GraalVM
|
||||||
run: |
|
run: |
|
||||||
cd ~
|
cd ~
|
||||||
if ! [ -d graalvm-ce-java11-20.1.0 ]; then
|
if ! [ -d graalvm-ce-java11-20.2.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
|
curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.2.0/graalvm-ce-java11-linux-amd64-20.2.0.tar.gz
|
||||||
tar xzf graalvm-ce-java11-linux-amd64-20.1.0.tar.gz
|
tar xzf graalvm-ce-java11-linux-amd64-20.2.0.tar.gz
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Babashka version
|
- name: Babashka version
|
||||||
|
|
@ -235,7 +235,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
export BABASHKA_JAR=babashka-${{ steps.babashka-version.outputs.version }}-standalone.jar
|
export BABASHKA_JAR=babashka-${{ steps.babashka-version.outputs.version }}-standalone.jar
|
||||||
export BABASHKA_XMX="-J-Xmx6g"
|
export BABASHKA_XMX="-J-Xmx6g"
|
||||||
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0"
|
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.2.0"
|
||||||
export BABASHKA_STATIC=true
|
export BABASHKA_STATIC=true
|
||||||
cp babashka-${{ steps.babashka-version.outputs.version }}-reflection.json reflection.json
|
cp babashka-${{ steps.babashka-version.outputs.version }}-reflection.json reflection.json
|
||||||
script/compile
|
script/compile
|
||||||
|
|
@ -243,7 +243,7 @@ jobs:
|
||||||
- name: Test binary
|
- name: Test binary
|
||||||
run: |
|
run: |
|
||||||
./bb '(+ 1 2 3)'
|
./bb '(+ 1 2 3)'
|
||||||
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0"
|
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.2.0"
|
||||||
BABASHKA_TEST_ENV=native script/test
|
BABASHKA_TEST_ENV=native script/test
|
||||||
|
|
||||||
- name: Install clojure
|
- name: Install clojure
|
||||||
|
|
@ -252,7 +252,7 @@ jobs:
|
||||||
|
|
||||||
- name: Test libraries
|
- name: Test libraries
|
||||||
run: |
|
run: |
|
||||||
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0"
|
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.2.0"
|
||||||
BABASHKA_TEST_ENV=native script/run_lib_tests
|
BABASHKA_TEST_ENV=native script/run_lib_tests
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v1
|
- uses: actions/upload-artifact@v1
|
||||||
|
|
@ -285,17 +285,17 @@ jobs:
|
||||||
uses: actions/cache@v1
|
uses: actions/cache@v1
|
||||||
id: cache-graalvm
|
id: cache-graalvm
|
||||||
with:
|
with:
|
||||||
path: ~/graalvm-ce-java11-20.1.0
|
path: ~/graalvm-ce-java11-20.2.0
|
||||||
key: ${{ runner.os }}-graalvm-20.1.0
|
key: ${{ runner.os }}-graalvm-20.2.0
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-graalvm-20.1.0
|
${{ runner.os }}-graalvm-20.2.0
|
||||||
|
|
||||||
- name: Download GraalVM
|
- name: Download GraalVM
|
||||||
run: |
|
run: |
|
||||||
cd ~
|
cd ~
|
||||||
if ! [ -d graalvm-ce-java11-20.1.0 ]; then
|
if ! [ -d graalvm-ce-java11-20.2.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
|
curl -O -sL https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.2.0/graalvm-ce-java11-darwin-amd64-20.2.0.tar.gz
|
||||||
tar xzf graalvm-ce-java11-darwin-amd64-20.1.0.tar.gz
|
tar xzf graalvm-ce-java11-darwin-amd64-20.2.0.tar.gz
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Babashka version
|
- name: Babashka version
|
||||||
|
|
@ -308,19 +308,19 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
export BABASHKA_JAR=babashka-${{ steps.babashka-version.outputs.version }}-standalone.jar
|
export BABASHKA_JAR=babashka-${{ steps.babashka-version.outputs.version }}-standalone.jar
|
||||||
export BABASHKA_XMX="-J-Xmx6g"
|
export BABASHKA_XMX="-J-Xmx6g"
|
||||||
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0/Contents/Home"
|
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.2.0/Contents/Home"
|
||||||
cp babashka-${{ steps.babashka-version.outputs.version }}-reflection.json reflection.json
|
cp babashka-${{ steps.babashka-version.outputs.version }}-reflection.json reflection.json
|
||||||
script/compile
|
script/compile
|
||||||
|
|
||||||
- name: Test binary
|
- name: Test binary
|
||||||
run: |
|
run: |
|
||||||
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0/Contents/Home"
|
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.2.0/Contents/Home"
|
||||||
sudo script/install-leiningen
|
sudo script/install-leiningen
|
||||||
BABASHKA_TEST_ENV=native script/test
|
BABASHKA_TEST_ENV=native script/test
|
||||||
|
|
||||||
- name: Test libraries
|
- name: Test libraries
|
||||||
run: |
|
run: |
|
||||||
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.1.0/Contents/Home"
|
export GRAALVM_HOME="$HOME/graalvm-ce-java11-20.2.0/Contents/Home"
|
||||||
sudo script/install-clojure
|
sudo script/install-clojure
|
||||||
BABASHKA_TEST_ENV=native script/run_lib_tests
|
BABASHKA_TEST_ENV=native script/run_lib_tests
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,11 @@ ARG BABASHKA_XMX="-J-Xmx3g"
|
||||||
RUN apt update
|
RUN apt update
|
||||||
RUN apt install --no-install-recommends -yy curl unzip build-essential zlib1g-dev
|
RUN apt install --no-install-recommends -yy curl unzip build-essential zlib1g-dev
|
||||||
WORKDIR "/opt"
|
WORKDIR "/opt"
|
||||||
RUN curl -sLO https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.1.0/graalvm-ce-java11-linux-amd64-20.1.0.tar.gz
|
RUN curl -sLO https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.2.0/graalvm-ce-java11-linux-amd64-20.2.0.tar.gz
|
||||||
RUN tar -xzf graalvm-ce-java11-linux-amd64-20.1.0.tar.gz
|
RUN tar -xzf graalvm-ce-java11-linux-amd64-20.2.0.tar.gz
|
||||||
|
|
||||||
ENV GRAALVM_HOME="/opt/graalvm-ce-java11-20.1.0"
|
ENV GRAALVM_HOME="/opt/graalvm-ce-java11-20.2.0"
|
||||||
ENV JAVA_HOME="/opt/graalvm-ce-java11-20.1.0/bin"
|
ENV JAVA_HOME="/opt/graalvm-ce-java11-20.2.0/bin"
|
||||||
ENV PATH="$JAVA_HOME:$PATH"
|
ENV PATH="$JAVA_HOME:$PATH"
|
||||||
ENV BABASHKA_STATIC="true"
|
ENV BABASHKA_STATIC="true"
|
||||||
ENV BABASHKA_XMX=$BABASHKA_XMX
|
ENV BABASHKA_XMX=$BABASHKA_XMX
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ image: Visual Studio 2017
|
||||||
clone_folder: C:\projects\babashka
|
clone_folder: C:\projects\babashka
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
GRAALVM_HOME: C:\projects\babashka\graalvm\graalvm-ce-java11-20.1.0
|
GRAALVM_HOME: C:\projects\babashka\graalvm\graalvm-ce-java11-20.2.0
|
||||||
BABASHKA_XMX: "-J-Xmx5g"
|
BABASHKA_XMX: "-J-Xmx5g"
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
|
|
@ -44,7 +44,7 @@ build_script:
|
||||||
- cmd: >-
|
- cmd: >-
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
|
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
|
||||||
|
|
||||||
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 { (New-Object Net.WebClient).DownloadFile('https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-20.2.0/graalvm-ce-java11-windows-amd64-20.2.0.zip', 'graalvm.zip') }"
|
||||||
|
|
||||||
powershell -Command "if (Test-Path('graalvm')) { return } else { Expand-Archive graalvm.zip graalvm }"
|
powershell -Command "if (Test-Path('graalvm')) { return } else { Expand-Archive graalvm.zip graalvm }"
|
||||||
|
|
||||||
|
|
|
||||||
4
deps.edn
4
deps.edn
|
|
@ -1,6 +1,7 @@
|
||||||
{:paths ["src" "feature-xml" "feature-core-async"
|
{:paths ["src" "feature-xml" "feature-core-async"
|
||||||
"feature-yaml" "feature-csv" "feature-transit"
|
"feature-yaml" "feature-csv" "feature-transit"
|
||||||
"feature-java-time" "feature-java-nio"
|
"feature-java-time" "feature-java-nio"
|
||||||
|
"feature-httpkit-client"
|
||||||
"sci/src" "babashka.curl/src" "babashka.pods/src"
|
"sci/src" "babashka.curl/src" "babashka.pods/src"
|
||||||
"babashka.nrepl/src"
|
"babashka.nrepl/src"
|
||||||
"depstar/src"
|
"depstar/src"
|
||||||
|
|
@ -22,7 +23,8 @@
|
||||||
seancorfield/next.jdbc {:mvn/version "1.0.424"}
|
seancorfield/next.jdbc {:mvn/version "1.0.424"}
|
||||||
org.postgresql/postgresql {:mvn/version "42.2.12"}
|
org.postgresql/postgresql {:mvn/version "42.2.12"}
|
||||||
org.hsqldb/hsqldb {:mvn/version "2.4.0"}
|
org.hsqldb/hsqldb {:mvn/version "2.4.0"}
|
||||||
datascript/datascript {:mvn/version "0.18.11"}}
|
datascript/datascript {:mvn/version "0.18.11"}
|
||||||
|
http-kit/http-kit {:mvn/version "2.5.0"}}
|
||||||
:aliases {:main
|
:aliases {:main
|
||||||
{:main-opts ["-m" "babashka.main"]}
|
{:main-opts ["-m" "babashka.main"]}
|
||||||
:profile
|
:profile
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Developing Babashka
|
# Developing Babashka
|
||||||
|
|
||||||
You need [lein](https://leiningen.org/) for running JVM tests and/or producing uberjars. For building binaries you need GraalVM. Currently we use java11-20.1.0.
|
You need [lein](https://leiningen.org/) for running JVM tests and/or producing uberjars. For building binaries you need GraalVM. Currently we use java11-20.2.0.
|
||||||
|
|
||||||
## Clone repository
|
## Clone repository
|
||||||
|
|
||||||
|
|
|
||||||
44
feature-httpkit-client/babashka/impl/httpkit_client.clj
Normal file
44
feature-httpkit-client/babashka/impl/httpkit_client.clj
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
(ns babashka.impl.httpkit-client
|
||||||
|
{:no-doc true}
|
||||||
|
(:require [org.httpkit.client :as client]
|
||||||
|
[org.httpkit.sni-client :as sni-client]
|
||||||
|
[sci.core :as sci :refer [copy-var]]))
|
||||||
|
|
||||||
|
(def sni-client (delay (client/make-client {:ssl-configurer sni-client/ssl-configurer})))
|
||||||
|
|
||||||
|
(def sns (sci/create-ns 'org.httpkit.server nil))
|
||||||
|
(def cns (sci/create-ns 'org.httpkit.client nil))
|
||||||
|
|
||||||
|
(def default-client (sci/new-dynamic-var '*default-client* sni-client {:ns cns}))
|
||||||
|
|
||||||
|
(defn request
|
||||||
|
([req]
|
||||||
|
(binding [client/*default-client* @default-client]
|
||||||
|
(client/request req)))
|
||||||
|
([req cb]
|
||||||
|
(binding [client/*default-client* @default-client]
|
||||||
|
(client/request req cb))))
|
||||||
|
|
||||||
|
(def httpkit-client-namespace
|
||||||
|
{'request (sci/new-var 'request request {:doc (:doc (meta #'client/request))
|
||||||
|
:ns cns})
|
||||||
|
'get (copy-var client/get cns)
|
||||||
|
'options (copy-var client/options cns)
|
||||||
|
'put (copy-var client/put cns)
|
||||||
|
'lock (copy-var client/lock cns)
|
||||||
|
'report (copy-var client/report cns)
|
||||||
|
'proppatch (copy-var client/proppatch cns)
|
||||||
|
'copy (copy-var client/copy cns)
|
||||||
|
'patch (copy-var client/patch cns)
|
||||||
|
'make-ssl-engine (copy-var client/make-ssl-engine cns)
|
||||||
|
'move (copy-var client/move cns)
|
||||||
|
'delete (copy-var client/delete cns)
|
||||||
|
'make-client (copy-var client/make-client cns)
|
||||||
|
'head (copy-var client/head cns)
|
||||||
|
'propfind (copy-var client/propfind cns)
|
||||||
|
'max-body-filter (copy-var client/max-body-filter cns)
|
||||||
|
'post (copy-var client/post cns)
|
||||||
|
'acl (copy-var client/acl cns)
|
||||||
|
'unlock (copy-var client/unlock cns)
|
||||||
|
'default-client (copy-var client/default-client cns)
|
||||||
|
'*default-client* default-client})
|
||||||
|
|
@ -38,6 +38,10 @@
|
||||||
:dependencies [[com.cognitect/transit-clj "1.0.324"]]}
|
:dependencies [[com.cognitect/transit-clj "1.0.324"]]}
|
||||||
:feature/datascript {:source-paths ["feature-datascript"]
|
:feature/datascript {:source-paths ["feature-datascript"]
|
||||||
:dependencies [[datascript "0.18.11"]]}
|
:dependencies [[datascript "0.18.11"]]}
|
||||||
|
:feature/httpkit-client {:source-paths ["feature-httpkit-client"]
|
||||||
|
:dependencies [[http-kit "2.5.0"]]}
|
||||||
|
:feature/httpkit-server {:source-paths ["feature-httpkit-server"]
|
||||||
|
:dependencies [[http-kit "2.5.0"]]}
|
||||||
:test [:feature/xml
|
:test [:feature/xml
|
||||||
:feature/yaml
|
:feature/yaml
|
||||||
:feature/postgresql
|
:feature/postgresql
|
||||||
|
|
@ -46,6 +50,8 @@
|
||||||
:feature/csv
|
:feature/csv
|
||||||
:feature/transit
|
:feature/transit
|
||||||
:feature/datascript
|
:feature/datascript
|
||||||
|
:feature/httpkit-client
|
||||||
|
:feature/httpkit-server
|
||||||
{:dependencies [[clj-commons/conch "0.9.2"]
|
{:dependencies [[clj-commons/conch "0.9.2"]
|
||||||
[com.clojure-goes-fast/clj-async-profiler "0.4.1"]
|
[com.clojure-goes-fast/clj-async-profiler "0.4.1"]
|
||||||
[com.opentable.components/otj-pg-embedded "0.13.3"]]}]
|
[com.opentable.components/otj-pg-embedded "0.13.3"]]}]
|
||||||
|
|
@ -54,7 +60,7 @@
|
||||||
"-Dclojure.spec.skip-macros=true"]
|
"-Dclojure.spec.skip-macros=true"]
|
||||||
:main babashka.main
|
:main babashka.main
|
||||||
:aot :all}
|
:aot :all}
|
||||||
:native-image {:dependencies [[borkdude/clj-reflector-graal-java11-fix "0.0.1-graalvm-20.1.0"]]}
|
:native-image {:dependencies [[borkdude/clj-reflector-graal-java11-fix "0.0.1-graalvm-20.2.0"]]}
|
||||||
:reflection {:main babashka.impl.classes/generate-reflection-file}}
|
:reflection {:main babashka.impl.classes/generate-reflection-file}}
|
||||||
:aliases {"bb" ["with-profile" "test" "run" "-m" "babashka.main"]}
|
:aliases {"bb" ["with-profile" "test" "run" "-m" "babashka.main"]}
|
||||||
:deploy-repositories [["clojars" {:url "https://clojars.org/repo"
|
:deploy-repositories [["clojars" {:url "https://clojars.org/repo"
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,8 @@
|
||||||
"doc/dev.md"
|
"doc/dev.md"
|
||||||
".github/workflows/build.yml"
|
".github/workflows/build.yml"
|
||||||
".circleci/config.yml"
|
".circleci/config.yml"
|
||||||
"appveyor.yml"])
|
"appveyor.yml"
|
||||||
|
"project.clj"])
|
||||||
|
|
||||||
;; We might have to keep changing these from
|
;; We might have to keep changing these from
|
||||||
;; time to time whenever the version is bumped
|
;; time to time whenever the version is bumped
|
||||||
|
|
@ -51,7 +52,7 @@
|
||||||
;; We could have them as environment variables
|
;; We could have them as environment variables
|
||||||
(def current-graal-version "20.1.0")
|
(def current-graal-version "20.1.0")
|
||||||
(def current-java-version "java11")
|
(def current-java-version "java11")
|
||||||
(def valid-graal-bumps ["19.3.2" "20.1.0"])
|
(def valid-graal-bumps ["19.3.2" "20.1.0" "20.2.0"])
|
||||||
(def valid-java-bumps ["java8" "java11"])
|
(def valid-java-bumps ["java8" "java11"])
|
||||||
|
|
||||||
(def cl-options
|
(def cl-options
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,7 @@ then
|
||||||
export BABAHSKA_FEATURE_TRANSIT=false
|
export BABAHSKA_FEATURE_TRANSIT=false
|
||||||
export BABASHKA_FEATURE_JAVA_TIME=false
|
export BABASHKA_FEATURE_JAVA_TIME=false
|
||||||
export BABASHKA_FEATURE_JAVA_NIO=false
|
export BABASHKA_FEATURE_JAVA_NIO=false
|
||||||
|
export BABASHKA_FEATURE_HTTPKIT_CLIENT=false
|
||||||
fi
|
fi
|
||||||
|
|
||||||
"$GRAALVM_HOME/bin/native-image" "${args[@]}"
|
"$GRAALVM_HOME/bin/native-image" "${args[@]}"
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ then
|
||||||
export BABAHSKA_FEATURE_TRANSIT=false
|
export BABAHSKA_FEATURE_TRANSIT=false
|
||||||
export BABASHKA_FEATURE_JAVA_TIME=false
|
export BABASHKA_FEATURE_JAVA_TIME=false
|
||||||
export BABASHKA_FEATURE_JAVA_NIO=false
|
export BABASHKA_FEATURE_JAVA_NIO=false
|
||||||
|
export BABASHKA_FEATURE_HTTPKIT_CLIENT=false
|
||||||
fi
|
fi
|
||||||
|
|
||||||
BABASHKA_LEIN_PROFILES="+uberjar"
|
BABASHKA_LEIN_PROFILES="+uberjar"
|
||||||
|
|
@ -89,6 +90,13 @@ else
|
||||||
BABASHKA_LEIN_PROFILES+=",-feature/datascript"
|
BABASHKA_LEIN_PROFILES+=",-feature/datascript"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$BABASHKA_FEATURE_HTTPKIT_CLIENT" != "false" ]
|
||||||
|
then
|
||||||
|
BABASHKA_LEIN_PROFILES+=",+feature/httpkit-client"
|
||||||
|
else
|
||||||
|
BABASHKA_LEIN_PROFILES+=",-feature/httpkit-client"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -z "$BABASHKA_JAR" ]; then
|
if [ -z "$BABASHKA_JAR" ]; then
|
||||||
lein with-profiles "$BABASHKA_LEIN_PROFILES,+reflection,-uberjar" do run
|
lein with-profiles "$BABASHKA_LEIN_PROFILES,+reflection,-uberjar" do run
|
||||||
lein with-profiles "$BABASHKA_LEIN_PROFILES" do clean, uberjar
|
lein with-profiles "$BABASHKA_LEIN_PROFILES" do clean, uberjar
|
||||||
|
|
|
||||||
|
|
@ -64,6 +64,12 @@ if "%BABASHKA_FEATURE_DATASCRIPT%"=="true" (
|
||||||
set BABASHKA_LEIN_PROFILES=%BABASHKA_LEIN_PROFILES%,-feature/datascript
|
set BABASHKA_LEIN_PROFILES=%BABASHKA_LEIN_PROFILES%,-feature/datascript
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if not "%BABASHKA_FEATURE_HTTPKIT_CLIENT%"=="false" (
|
||||||
|
set BABASHKA_LEIN_PROFILES=%BABASHKA_LEIN_PROFILES%,+feature/httpkit-client
|
||||||
|
) else (
|
||||||
|
set BABASHKA_LEIN_PROFILES=%BABASHKA_LEIN_PROFILES%,-feature/httpkit-client
|
||||||
|
)
|
||||||
|
|
||||||
call lein with-profiles %BABASHKA_LEIN_PROFILES% bb "(+ 1 2 3)"
|
call lein with-profiles %BABASHKA_LEIN_PROFILES% bb "(+ 1 2 3)"
|
||||||
|
|
||||||
call lein with-profiles %BABASHKA_LEIN_PROFILES%,+reflection,-uberjar do run
|
call lein with-profiles %BABASHKA_LEIN_PROFILES%,+reflection,-uberjar do run
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
(def transit? (not= "false" (System/getenv "BABASHKA_FEATURE_TRANSIT")))
|
(def transit? (not= "false" (System/getenv "BABASHKA_FEATURE_TRANSIT")))
|
||||||
(def java-time? (not= "false" (System/getenv "BABASHKA_FEATURE_JAVA_TIME")))
|
(def java-time? (not= "false" (System/getenv "BABASHKA_FEATURE_JAVA_TIME")))
|
||||||
(def java-nio? (not= "false" (System/getenv "BABASHKA_FEATURE_JAVA_NIO")))
|
(def java-nio? (not= "false" (System/getenv "BABASHKA_FEATURE_JAVA_NIO")))
|
||||||
|
(def httpkit-client? (not= "false" (System/getenv "BABASHKA_FEATURE_HTTPKIT_CLIENT")))
|
||||||
|
|
||||||
;; excluded by default
|
;; excluded by default
|
||||||
(def jdbc? (= "true" (System/getenv "BABASHKA_FEATURE_JDBC")))
|
(def jdbc? (= "true" (System/getenv "BABASHKA_FEATURE_JDBC")))
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,9 @@
|
||||||
(when features/datascript?
|
(when features/datascript?
|
||||||
(require '[babashka.impl.datascript]))
|
(require '[babashka.impl.datascript]))
|
||||||
|
|
||||||
|
(when features/httpkit-client?
|
||||||
|
(require '[babashka.impl.httpkit-client]))
|
||||||
|
|
||||||
(sci/alter-var-root sci/in (constantly *in*))
|
(sci/alter-var-root sci/in (constantly *in*))
|
||||||
(sci/alter-var-root sci/out (constantly *out*))
|
(sci/alter-var-root sci/out (constantly *out*))
|
||||||
(sci/alter-var-root sci/err (constantly *err*))
|
(sci/alter-var-root sci/err (constantly *err*))
|
||||||
|
|
@ -282,7 +285,8 @@ If neither -e, -f, or --socket-repl are specified, then the first argument that
|
||||||
:feature/yaml %s
|
:feature/yaml %s
|
||||||
:feature/jdbc %s
|
:feature/jdbc %s
|
||||||
:feature/postgresql %s
|
:feature/postgresql %s
|
||||||
:feature/hsqldb %s}")
|
:feature/hsqldb %s
|
||||||
|
:feature/httpkit-client %s}")
|
||||||
version
|
version
|
||||||
features/core-async?
|
features/core-async?
|
||||||
features/csv?
|
features/csv?
|
||||||
|
|
@ -292,7 +296,8 @@ If neither -e, -f, or --socket-repl are specified, then the first argument that
|
||||||
features/yaml?
|
features/yaml?
|
||||||
features/jdbc?
|
features/jdbc?
|
||||||
features/postgresql?
|
features/postgresql?
|
||||||
features/hsqldb?)))
|
features/hsqldb?
|
||||||
|
features/httpkit-client?)))
|
||||||
|
|
||||||
(defn read-file [file]
|
(defn read-file [file]
|
||||||
(let [f (io/file file)]
|
(let [f (io/file file)]
|
||||||
|
|
@ -397,7 +402,8 @@ If neither -e, -f, or --socket-repl are specified, then the first argument that
|
||||||
'clojure.core.async.impl.protocols @(resolve 'babashka.impl.async/async-protocols-namespace))
|
'clojure.core.async.impl.protocols @(resolve 'babashka.impl.async/async-protocols-namespace))
|
||||||
features/csv? (assoc 'clojure.data.csv @(resolve 'babashka.impl.csv/csv-namespace))
|
features/csv? (assoc 'clojure.data.csv @(resolve 'babashka.impl.csv/csv-namespace))
|
||||||
features/transit? (assoc 'cognitect.transit @(resolve 'babashka.impl.transit/transit-namespace))
|
features/transit? (assoc 'cognitect.transit @(resolve 'babashka.impl.transit/transit-namespace))
|
||||||
features/datascript? (assoc 'datascript.core @(resolve 'babashka.impl.datascript/datascript-namespace))))
|
features/datascript? (assoc 'datascript.core @(resolve 'babashka.impl.datascript/datascript-namespace))
|
||||||
|
features/httpkit-client? (assoc 'org.httpkit.client @(resolve 'babashka.impl.httpkit-client/httpkit-client-namespace))))
|
||||||
|
|
||||||
(def bindings
|
(def bindings
|
||||||
{'java.lang.System/exit exit ;; override exit, so we have more control
|
{'java.lang.System/exit exit ;; override exit, so we have more control
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue