From 1033f47a569eecae0ede3b036557a28819009353 Mon Sep 17 00:00:00 2001 From: doki Date: Sun, 3 Jul 2022 23:15:02 +0800 Subject: [PATCH 01/46] use cross --- .github/workflows/prql-java-test.yaml | 4 +++ java-api/native_lib_build.sh | 42 ++++++++++++++++++++------- 2 files changed, 35 insertions(+), 11 deletions(-) diff --git a/.github/workflows/prql-java-test.yaml b/.github/workflows/prql-java-test.yaml index 07a4f51..83cedd4 100644 --- a/.github/workflows/prql-java-test.yaml +++ b/.github/workflows/prql-java-test.yaml @@ -17,6 +17,10 @@ jobs: toolchain: stable override: true default: true + - name: Setup Docker + run: sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin + - name: Setup cross + run: cargo install -f cross - name: Maven test run: cd ./java-api && ./mvnw test # macos-test: diff --git a/java-api/native_lib_build.sh b/java-api/native_lib_build.sh index a3fb9bd..4a0a604 100755 --- a/java-api/native_lib_build.sh +++ b/java-api/native_lib_build.sh @@ -6,26 +6,46 @@ echo "start cross compilations" cd .. echo "compile target=x86_64-unknown-linux-gnu" -rustup target add x86_64-unknown-linux-gnu -cargo build --release --target=x86_64-unknown-linux-gnu +cross build --release --target=x86_64-unknown-linux-gnu cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux64.so echo "compile target=aarch64-unknown-linux-gnu" -rustup target add aarch64-unknown-linux-gnu -cargo build --release --target=aarch64-unknown-linux-gnu +cross build --release --target=aarch64-unknown-linux-gnu cp -f target/aarch64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux-aarch64.so echo "compile target=x86_64-apple-darwin" -rustup target add x86_64-apple-darwin -cargo build --release --target=x86_64-apple-darwin +cross build --release --target=x86_64-apple-darwin cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java-api/src/main/resources/libprql4j-osx-x86_64.dylib echo "compile target=aarch64-apple-darwin" -rustup target add aarch64-apple-darwin -cargo build --release --target=aarch64-apple-darwin +cross build --release --target=aarch64-apple-darwin cp -f target/aarch64-apple-darwin/release/libprql4j.dylib java-api/src/main/resources/libprql4j-osx-arm64.dylib echo "compile target=x86_64-pc-windows-gnu" -rustup target add x86_64-pc-windows-gnu -cargo build --release --target=x86_64-pc-windows-gnu -cp -f target/x86_64-pc-windows-gnu/release/prql4j.dll java-api/src/main/resources/libprql4j-win64.dll \ No newline at end of file +cross build --release --target=x86_64-pc-windows-gnu +cp -f target/x86_64-pc-windows-gnu/release/prql4j.dll java-api/src/main/resources/libprql4j-win64.dll + +#echo "compile target=x86_64-unknown-linux-gnu" +#rustup target add x86_64-unknown-linux-gnu +#cargo build --release --target=x86_64-unknown-linux-gnu +#cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux64.so +# +#echo "compile target=aarch64-unknown-linux-gnu" +#rustup target add aarch64-unknown-linux-gnu +#cargo build --release --target=aarch64-unknown-linux-gnu +#cp -f target/aarch64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux-aarch64.so +# +#echo "compile target=x86_64-apple-darwin" +#rustup target add x86_64-apple-darwin +#cargo build --release --target=x86_64-apple-darwin +#cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java-api/src/main/resources/libprql4j-osx-x86_64.dylib +# +#echo "compile target=aarch64-apple-darwin" +#rustup target add aarch64-apple-darwin +#cargo build --release --target=aarch64-apple-darwin +#cp -f target/aarch64-apple-darwin/release/libprql4j.dylib java-api/src/main/resources/libprql4j-osx-arm64.dylib +# +#echo "compile target=x86_64-pc-windows-gnu" +#rustup target add x86_64-pc-windows-gnu +#cargo build --release --target=x86_64-pc-windows-gnu +#cp -f target/x86_64-pc-windows-gnu/release/prql4j.dll java-api/src/main/resources/libprql4j-win64.dll From 571070466e99f280ab664d5ca5c6573049b9bca8 Mon Sep 17 00:00:00 2001 From: doki Date: Sun, 3 Jul 2022 23:18:22 +0800 Subject: [PATCH 02/46] start workflow on push * branches --- .github/workflows/prql-java-test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/prql-java-test.yaml b/.github/workflows/prql-java-test.yaml index 83cedd4..0e5e437 100644 --- a/.github/workflows/prql-java-test.yaml +++ b/.github/workflows/prql-java-test.yaml @@ -4,7 +4,7 @@ on: types: [ opened, reopened, synchronize, labeled ] push: branches: - - main + - * jobs: ubuntu-test: runs-on: ubuntu-latest From 97a08afcae6cbe52dbbfdb911ebe4b6a67776459 Mon Sep 17 00:00:00 2001 From: doki Date: Sun, 3 Jul 2022 23:20:14 +0800 Subject: [PATCH 03/46] start workflow on push * branches --- .github/workflows/prql-java-test.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/prql-java-test.yaml b/.github/workflows/prql-java-test.yaml index 0e5e437..bc79022 100644 --- a/.github/workflows/prql-java-test.yaml +++ b/.github/workflows/prql-java-test.yaml @@ -2,9 +2,7 @@ name: prql-java-test on: pull_request: types: [ opened, reopened, synchronize, labeled ] - push: - branches: - - * + push jobs: ubuntu-test: runs-on: ubuntu-latest From 94ac31bb0d8e2ceb84b6b027dc4539db5163181d Mon Sep 17 00:00:00 2001 From: doki Date: Sun, 3 Jul 2022 23:24:27 +0800 Subject: [PATCH 04/46] string push --- .github/workflows/prql-java-test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/prql-java-test.yaml b/.github/workflows/prql-java-test.yaml index bc79022..5327696 100644 --- a/.github/workflows/prql-java-test.yaml +++ b/.github/workflows/prql-java-test.yaml @@ -1,8 +1,8 @@ name: prql-java-test on: + "push" pull_request: types: [ opened, reopened, synchronize, labeled ] - push jobs: ubuntu-test: runs-on: ubuntu-latest From 2303ca4fc892ce1731d6a8f0794bd559ba150cdb Mon Sep 17 00:00:00 2001 From: doki Date: Sun, 3 Jul 2022 23:25:09 +0800 Subject: [PATCH 05/46] update --- .github/workflows/prql-java-test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/prql-java-test.yaml b/.github/workflows/prql-java-test.yaml index 5327696..d2b3dfb 100644 --- a/.github/workflows/prql-java-test.yaml +++ b/.github/workflows/prql-java-test.yaml @@ -1,6 +1,6 @@ name: prql-java-test on: - "push" + push: pull_request: types: [ opened, reopened, synchronize, labeled ] jobs: From ed18946a616157a692a9be3f87ddc7229b19649a Mon Sep 17 00:00:00 2001 From: doki Date: Sun, 3 Jul 2022 23:30:22 +0800 Subject: [PATCH 06/46] fix --- .github/workflows/prql-java-test.yaml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/prql-java-test.yaml b/.github/workflows/prql-java-test.yaml index d2b3dfb..f59be4b 100644 --- a/.github/workflows/prql-java-test.yaml +++ b/.github/workflows/prql-java-test.yaml @@ -16,7 +16,20 @@ jobs: override: true default: true - name: Setup Docker - run: sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin + run: | + sudo apt-get update + sudo apt-get install \ + ca-certificates \ + curl \ + gnupg \ + lsb-release + sudo mkdir -p /etc/apt/keyrings + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg + echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + sudo apt-get update + sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin - name: Setup cross run: cargo install -f cross - name: Maven test From 0861c366386465e79fbec5ef67a272c9837e4a9e Mon Sep 17 00:00:00 2001 From: doki Date: Sun, 3 Jul 2022 23:34:50 +0800 Subject: [PATCH 07/46] update --- .cargo/{config.toml => config.toml.backup} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .cargo/{config.toml => config.toml.backup} (100%) diff --git a/.cargo/config.toml b/.cargo/config.toml.backup similarity index 100% rename from .cargo/config.toml rename to .cargo/config.toml.backup From cc8483df1f0de299202815560439ab5d1523fd50 Mon Sep 17 00:00:00 2001 From: doki Date: Sun, 3 Jul 2022 23:54:13 +0800 Subject: [PATCH 08/46] gitkeep resources --- java-api/src/main/resources/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 java-api/src/main/resources/.gitkeep diff --git a/java-api/src/main/resources/.gitkeep b/java-api/src/main/resources/.gitkeep new file mode 100644 index 0000000..e69de29 From bbab3577a66010dfc7496145237cf93881bd9c76 Mon Sep 17 00:00:00 2001 From: doki Date: Mon, 4 Jul 2022 00:07:22 +0800 Subject: [PATCH 09/46] add target --- .github/workflows/prql-java-test.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/prql-java-test.yaml b/.github/workflows/prql-java-test.yaml index f59be4b..47234b6 100644 --- a/.github/workflows/prql-java-test.yaml +++ b/.github/workflows/prql-java-test.yaml @@ -15,6 +15,13 @@ jobs: toolchain: stable override: true default: true + - name: Add targets + run: | + rustup target add x86_64-unknown-linux-gnu + rustup target add aarch64-unknown-linux-gnu + rustup target add x86_64-apple-darwin + rustup target add aarch64-apple-darwin + rustup target add x86_64-pc-windows-gnu - name: Setup Docker run: | sudo apt-get update From 4dbb9713940211001f1dee5e7c7ae978a0f712db Mon Sep 17 00:00:00 2001 From: doki Date: Mon, 4 Jul 2022 08:39:09 +0800 Subject: [PATCH 10/46] only build target linux --- .github/workflows/prql-java-test.yaml | 24 ------------- java-api/native_lib_build.sh | 51 ++++++++++++++------------- 2 files changed, 27 insertions(+), 48 deletions(-) diff --git a/.github/workflows/prql-java-test.yaml b/.github/workflows/prql-java-test.yaml index 47234b6..7f1cfe6 100644 --- a/.github/workflows/prql-java-test.yaml +++ b/.github/workflows/prql-java-test.yaml @@ -15,30 +15,6 @@ jobs: toolchain: stable override: true default: true - - name: Add targets - run: | - rustup target add x86_64-unknown-linux-gnu - rustup target add aarch64-unknown-linux-gnu - rustup target add x86_64-apple-darwin - rustup target add aarch64-apple-darwin - rustup target add x86_64-pc-windows-gnu - - name: Setup Docker - run: | - sudo apt-get update - sudo apt-get install \ - ca-certificates \ - curl \ - gnupg \ - lsb-release - sudo mkdir -p /etc/apt/keyrings - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg - echo \ - "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ - $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - sudo apt-get update - sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin - - name: Setup cross - run: cargo install -f cross - name: Maven test run: cd ./java-api && ./mvnw test # macos-test: diff --git a/java-api/native_lib_build.sh b/java-api/native_lib_build.sh index 4a0a604..51b5b72 100755 --- a/java-api/native_lib_build.sh +++ b/java-api/native_lib_build.sh @@ -5,36 +5,39 @@ echo "start cross compilations" cd .. -echo "compile target=x86_64-unknown-linux-gnu" -cross build --release --target=x86_64-unknown-linux-gnu -cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux64.so - -echo "compile target=aarch64-unknown-linux-gnu" -cross build --release --target=aarch64-unknown-linux-gnu -cp -f target/aarch64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux-aarch64.so - -echo "compile target=x86_64-apple-darwin" -cross build --release --target=x86_64-apple-darwin -cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java-api/src/main/resources/libprql4j-osx-x86_64.dylib - -echo "compile target=aarch64-apple-darwin" -cross build --release --target=aarch64-apple-darwin -cp -f target/aarch64-apple-darwin/release/libprql4j.dylib java-api/src/main/resources/libprql4j-osx-arm64.dylib - -echo "compile target=x86_64-pc-windows-gnu" -cross build --release --target=x86_64-pc-windows-gnu -cp -f target/x86_64-pc-windows-gnu/release/prql4j.dll java-api/src/main/resources/libprql4j-win64.dll - #echo "compile target=x86_64-unknown-linux-gnu" -#rustup target add x86_64-unknown-linux-gnu -#cargo build --release --target=x86_64-unknown-linux-gnu +#cross build --release --target=x86_64-unknown-linux-gnu #cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux64.so # #echo "compile target=aarch64-unknown-linux-gnu" -#rustup target add aarch64-unknown-linux-gnu -#cargo build --release --target=aarch64-unknown-linux-gnu +#cross build --release --target=aarch64-unknown-linux-gnu #cp -f target/aarch64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux-aarch64.so # +#echo "compile target=x86_64-apple-darwin" +#cross build --release --target=x86_64-apple-darwin +#cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java-api/src/main/resources/libprql4j-osx-x86_64.dylib +# +#echo "compile target=aarch64-apple-darwin" +#cross build --release --target=aarch64-apple-darwin +#cp -f target/aarch64-apple-darwin/release/libprql4j.dylib java-api/src/main/resources/libprql4j-osx-arm64.dylib +# +#echo "compile target=x86_64-pc-windows-gnu" +#cross build --release --target=x86_64-pc-windows-gnu +#cp -f target/x86_64-pc-windows-gnu/release/prql4j.dll java-api/src/main/resources/libprql4j-win64.dll + + +### built by toolchain + +echo "compile target=x86_64-unknown-linux-gnu" +rustup target add x86_64-unknown-linux-gnu +cargo build --release --target=x86_64-unknown-linux-gnu +cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux64.so + +echo "compile target=aarch64-unknown-linux-gnu" +rustup target add aarch64-unknown-linux-gnu +cargo build --release --target=aarch64-unknown-linux-gnu +cp -f target/aarch64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux-aarch64.so + #echo "compile target=x86_64-apple-darwin" #rustup target add x86_64-apple-darwin #cargo build --release --target=x86_64-apple-darwin From 0770c40204a58d5308d973e3d73b5e76eed996ad Mon Sep 17 00:00:00 2001 From: doki Date: Mon, 4 Jul 2022 08:46:50 +0800 Subject: [PATCH 11/46] cross build on linux --- .github/workflows/prql-java-test.yaml | 24 +++++++++++++++++++ java-api/native_lib_build.sh | 34 +++++++++++++-------------- 2 files changed, 41 insertions(+), 17 deletions(-) diff --git a/.github/workflows/prql-java-test.yaml b/.github/workflows/prql-java-test.yaml index 7f1cfe6..47234b6 100644 --- a/.github/workflows/prql-java-test.yaml +++ b/.github/workflows/prql-java-test.yaml @@ -15,6 +15,30 @@ jobs: toolchain: stable override: true default: true + - name: Add targets + run: | + rustup target add x86_64-unknown-linux-gnu + rustup target add aarch64-unknown-linux-gnu + rustup target add x86_64-apple-darwin + rustup target add aarch64-apple-darwin + rustup target add x86_64-pc-windows-gnu + - name: Setup Docker + run: | + sudo apt-get update + sudo apt-get install \ + ca-certificates \ + curl \ + gnupg \ + lsb-release + sudo mkdir -p /etc/apt/keyrings + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg + echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + sudo apt-get update + sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin + - name: Setup cross + run: cargo install -f cross - name: Maven test run: cd ./java-api && ./mvnw test # macos-test: diff --git a/java-api/native_lib_build.sh b/java-api/native_lib_build.sh index 51b5b72..fab33a1 100755 --- a/java-api/native_lib_build.sh +++ b/java-api/native_lib_build.sh @@ -5,14 +5,14 @@ echo "start cross compilations" cd .. -#echo "compile target=x86_64-unknown-linux-gnu" -#cross build --release --target=x86_64-unknown-linux-gnu -#cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux64.so -# -#echo "compile target=aarch64-unknown-linux-gnu" -#cross build --release --target=aarch64-unknown-linux-gnu -#cp -f target/aarch64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux-aarch64.so -# +echo "compile target=x86_64-unknown-linux-gnu" +cross build --release --target=x86_64-unknown-linux-gnu +cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux64.so + +echo "compile target=aarch64-unknown-linux-gnu" +cross build --release --target=aarch64-unknown-linux-gnu +cp -f target/aarch64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux-aarch64.so + #echo "compile target=x86_64-apple-darwin" #cross build --release --target=x86_64-apple-darwin #cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java-api/src/main/resources/libprql4j-osx-x86_64.dylib @@ -28,15 +28,15 @@ cd .. ### built by toolchain -echo "compile target=x86_64-unknown-linux-gnu" -rustup target add x86_64-unknown-linux-gnu -cargo build --release --target=x86_64-unknown-linux-gnu -cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux64.so - -echo "compile target=aarch64-unknown-linux-gnu" -rustup target add aarch64-unknown-linux-gnu -cargo build --release --target=aarch64-unknown-linux-gnu -cp -f target/aarch64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux-aarch64.so +#echo "compile target=x86_64-unknown-linux-gnu" +#rustup target add x86_64-unknown-linux-gnu +#cargo build --release --target=x86_64-unknown-linux-gnu +#cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux64.so +# +#echo "compile target=aarch64-unknown-linux-gnu" +#rustup target add aarch64-unknown-linux-gnu +#cargo build --release --target=aarch64-unknown-linux-gnu +#cp -f target/aarch64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux-aarch64.so #echo "compile target=x86_64-apple-darwin" #rustup target add x86_64-apple-darwin From 6e2db0d22b2a854a829018ed4599fc92087694e1 Mon Sep 17 00:00:00 2001 From: doki Date: Mon, 4 Jul 2022 09:39:29 +0800 Subject: [PATCH 12/46] update --- .github/workflows/prql-java-test.yaml | 22 +--------------------- java-api/native_lib_build.sh | 6 ++++-- 2 files changed, 5 insertions(+), 23 deletions(-) diff --git a/.github/workflows/prql-java-test.yaml b/.github/workflows/prql-java-test.yaml index 47234b6..8139cbd 100644 --- a/.github/workflows/prql-java-test.yaml +++ b/.github/workflows/prql-java-test.yaml @@ -15,28 +15,8 @@ jobs: toolchain: stable override: true default: true - - name: Add targets - run: | - rustup target add x86_64-unknown-linux-gnu - rustup target add aarch64-unknown-linux-gnu - rustup target add x86_64-apple-darwin - rustup target add aarch64-apple-darwin - rustup target add x86_64-pc-windows-gnu - name: Setup Docker - run: | - sudo apt-get update - sudo apt-get install \ - ca-certificates \ - curl \ - gnupg \ - lsb-release - sudo mkdir -p /etc/apt/keyrings - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg - echo \ - "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ - $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - sudo apt-get update - sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin + uses: docker-practice/actions-setup-docker@v1 - name: Setup cross run: cargo install -f cross - name: Maven test diff --git a/java-api/native_lib_build.sh b/java-api/native_lib_build.sh index fab33a1..affed5d 100755 --- a/java-api/native_lib_build.sh +++ b/java-api/native_lib_build.sh @@ -6,12 +6,14 @@ echo "start cross compilations" cd .. echo "compile target=x86_64-unknown-linux-gnu" +rustup target add x86_64-unknown-linux-gnu cross build --release --target=x86_64-unknown-linux-gnu -cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux64.so +cp -f target/x86_64-unknown-linux-gnu/release/libprql_java.so java-api/src/main/resources/libprql_java-linux64.so echo "compile target=aarch64-unknown-linux-gnu" +rustup target add aarch64-unknown-linux-gnu cross build --release --target=aarch64-unknown-linux-gnu -cp -f target/aarch64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux-aarch64.so +cp -f target/aarch64-unknown-linux-gnu/release/libprql_java.so java-api/src/main/resources/libprql_java-linux-aarch64.so #echo "compile target=x86_64-apple-darwin" #cross build --release --target=x86_64-apple-darwin From 9998aee3623bec9007ae4267f281bc0fab32951d Mon Sep 17 00:00:00 2001 From: doki Date: Mon, 4 Jul 2022 09:49:27 +0800 Subject: [PATCH 13/46] update --- .github/workflows/prql-java-test.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/prql-java-test.yaml b/.github/workflows/prql-java-test.yaml index 8139cbd..e2ef8fe 100644 --- a/.github/workflows/prql-java-test.yaml +++ b/.github/workflows/prql-java-test.yaml @@ -15,6 +15,10 @@ jobs: toolchain: stable override: true default: true + - name: Add targets + run: | + rustup target add x86_64-unknown-linux-gnu + rustup target add aarch64-unknown-linux-gnu - name: Setup Docker uses: docker-practice/actions-setup-docker@v1 - name: Setup cross From 307e7d690d14a21bb4c34e7a146e097ba2b72967 Mon Sep 17 00:00:00 2001 From: doki Date: Mon, 4 Jul 2022 09:53:16 +0800 Subject: [PATCH 14/46] fix name --- java-api/native_lib_build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java-api/native_lib_build.sh b/java-api/native_lib_build.sh index affed5d..2dbd719 100755 --- a/java-api/native_lib_build.sh +++ b/java-api/native_lib_build.sh @@ -8,12 +8,12 @@ cd .. echo "compile target=x86_64-unknown-linux-gnu" rustup target add x86_64-unknown-linux-gnu cross build --release --target=x86_64-unknown-linux-gnu -cp -f target/x86_64-unknown-linux-gnu/release/libprql_java.so java-api/src/main/resources/libprql_java-linux64.so +cp -f target/x86_64-unknown-linux-gnu/release/libprql_java.so java-api/src/main/resources/libprql4j-linux64.so echo "compile target=aarch64-unknown-linux-gnu" rustup target add aarch64-unknown-linux-gnu cross build --release --target=aarch64-unknown-linux-gnu -cp -f target/aarch64-unknown-linux-gnu/release/libprql_java.so java-api/src/main/resources/libprql_java-linux-aarch64.so +cp -f target/aarch64-unknown-linux-gnu/release/libprql_java.so java-api/src/main/resources/libprql4j-linux-aarch64.so #echo "compile target=x86_64-apple-darwin" #cross build --release --target=x86_64-apple-darwin From 1bd9a4184155a1904eec1c6411266f9223bb2ba4 Mon Sep 17 00:00:00 2001 From: doki Date: Mon, 4 Jul 2022 10:01:17 +0800 Subject: [PATCH 15/46] fix name --- java-api/native_lib_build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java-api/native_lib_build.sh b/java-api/native_lib_build.sh index 2dbd719..4af49b8 100755 --- a/java-api/native_lib_build.sh +++ b/java-api/native_lib_build.sh @@ -8,12 +8,12 @@ cd .. echo "compile target=x86_64-unknown-linux-gnu" rustup target add x86_64-unknown-linux-gnu cross build --release --target=x86_64-unknown-linux-gnu -cp -f target/x86_64-unknown-linux-gnu/release/libprql_java.so java-api/src/main/resources/libprql4j-linux64.so +cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux64.so echo "compile target=aarch64-unknown-linux-gnu" rustup target add aarch64-unknown-linux-gnu cross build --release --target=aarch64-unknown-linux-gnu -cp -f target/aarch64-unknown-linux-gnu/release/libprql_java.so java-api/src/main/resources/libprql4j-linux-aarch64.so +cp -f target/aarch64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux-aarch64.so #echo "compile target=x86_64-apple-darwin" #cross build --release --target=x86_64-apple-darwin From 06ae559318107adbb770e851b7b7a5874394a918 Mon Sep 17 00:00:00 2001 From: doki Date: Mon, 4 Jul 2022 10:41:29 +0800 Subject: [PATCH 16/46] update --- .github/workflows/prql-java-test.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/prql-java-test.yaml b/.github/workflows/prql-java-test.yaml index e2ef8fe..9bb0153 100644 --- a/.github/workflows/prql-java-test.yaml +++ b/.github/workflows/prql-java-test.yaml @@ -15,10 +15,10 @@ jobs: toolchain: stable override: true default: true - - name: Add targets - run: | - rustup target add x86_64-unknown-linux-gnu - rustup target add aarch64-unknown-linux-gnu +# - name: Add targets +# run: | +# rustup target add x86_64-unknown-linux-gnu +# rustup target add aarch64-unknown-linux-gnu - name: Setup Docker uses: docker-practice/actions-setup-docker@v1 - name: Setup cross From 9e319f834d7a5f5299131faaaf7f8724a0f4e06d Mon Sep 17 00:00:00 2001 From: doki Date: Wed, 6 Jul 2022 12:57:41 +0800 Subject: [PATCH 17/46] update --- .cargo/config.toml.backup | 7 ------- .github/workflows/prql-java-test.yaml | 24 ++++++++++-------------- java-api/native_lib_build.sh | 2 -- java-api/pom.xml | 22 ---------------------- 4 files changed, 10 insertions(+), 45 deletions(-) delete mode 100644 .cargo/config.toml.backup diff --git a/.cargo/config.toml.backup b/.cargo/config.toml.backup deleted file mode 100644 index b7dd3e1..0000000 --- a/.cargo/config.toml.backup +++ /dev/null @@ -1,7 +0,0 @@ -[target.x86_64-unknown-linux-gnu] -linker = "x86_64-unknown-linux-gnu-gcc" -[target.x86_64-unknown-linux-musl] -linker = "x86_64-linux-musl-gcc" -[target.x86_64-pc-windows-gnu] -linker = "x86_64-w64-mingw32-gcc" -ar = "x86_64-w64-mingw32-gcc-ar" \ No newline at end of file diff --git a/.github/workflows/prql-java-test.yaml b/.github/workflows/prql-java-test.yaml index 9bb0153..6ea5684 100644 --- a/.github/workflows/prql-java-test.yaml +++ b/.github/workflows/prql-java-test.yaml @@ -1,10 +1,12 @@ name: prql-java-test + on: push: pull_request: types: [ opened, reopened, synchronize, labeled ] + jobs: - ubuntu-test: + junit-test: runs-on: ubuntu-latest steps: - name: Checkout code @@ -15,17 +17,11 @@ jobs: toolchain: stable override: true default: true -# - name: Add targets -# run: | -# rustup target add x86_64-unknown-linux-gnu -# rustup target add aarch64-unknown-linux-gnu - - name: Setup Docker - uses: docker-practice/actions-setup-docker@v1 - - name: Setup cross - run: cargo install -f cross + - name: build for x86_64-unknown-linux-gnu + run: | + rustup target add x86_64-unknown-linux-gnu + cd ./prql-java/ + cargo build --release --target=x86_64-unknown-linux-gnu + cp -f target/x86_64-unknown-linux-gnu/release/libprql_java.so prql-java/java/src/main/resources/libprql_java-linux64.so - name: Maven test - run: cd ./java-api && ./mvnw test -# macos-test: -# runs-on: macos-latest -# windows-test: -# runs-on: windows-latest + run: cd ./prql-java/java/ && ./mvnw test diff --git a/java-api/native_lib_build.sh b/java-api/native_lib_build.sh index 4af49b8..fab33a1 100755 --- a/java-api/native_lib_build.sh +++ b/java-api/native_lib_build.sh @@ -6,12 +6,10 @@ echo "start cross compilations" cd .. echo "compile target=x86_64-unknown-linux-gnu" -rustup target add x86_64-unknown-linux-gnu cross build --release --target=x86_64-unknown-linux-gnu cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux64.so echo "compile target=aarch64-unknown-linux-gnu" -rustup target add aarch64-unknown-linux-gnu cross build --release --target=aarch64-unknown-linux-gnu cp -f target/aarch64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux-aarch64.so diff --git a/java-api/pom.xml b/java-api/pom.xml index b464f74..1556a1a 100644 --- a/java-api/pom.xml +++ b/java-api/pom.xml @@ -38,26 +38,4 @@ - - - - exec-maven-plugin - org.codehaus.mojo - 1.6.0 - - - Run Script - initialize - - exec - - - native_lib_build.sh - - - - - - - \ No newline at end of file From 2bf5215db8501f313e37ade1f5738b888f05aa10 Mon Sep 17 00:00:00 2001 From: doki Date: Wed, 6 Jul 2022 12:59:01 +0800 Subject: [PATCH 18/46] update --- .github/workflows/prql-java-test.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/prql-java-test.yaml b/.github/workflows/prql-java-test.yaml index 6ea5684..25f3e33 100644 --- a/.github/workflows/prql-java-test.yaml +++ b/.github/workflows/prql-java-test.yaml @@ -20,8 +20,8 @@ jobs: - name: build for x86_64-unknown-linux-gnu run: | rustup target add x86_64-unknown-linux-gnu - cd ./prql-java/ + cd ./ cargo build --release --target=x86_64-unknown-linux-gnu cp -f target/x86_64-unknown-linux-gnu/release/libprql_java.so prql-java/java/src/main/resources/libprql_java-linux64.so - name: Maven test - run: cd ./prql-java/java/ && ./mvnw test + run: cd ./java-api/ && ./mvnw test From e0ad5c2a852c434c6b15468fa437e5a3c998b7d5 Mon Sep 17 00:00:00 2001 From: doki Date: Wed, 6 Jul 2022 13:02:16 +0800 Subject: [PATCH 19/46] fix name --- .github/workflows/prql-java-test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/prql-java-test.yaml b/.github/workflows/prql-java-test.yaml index 25f3e33..00edf52 100644 --- a/.github/workflows/prql-java-test.yaml +++ b/.github/workflows/prql-java-test.yaml @@ -22,6 +22,6 @@ jobs: rustup target add x86_64-unknown-linux-gnu cd ./ cargo build --release --target=x86_64-unknown-linux-gnu - cp -f target/x86_64-unknown-linux-gnu/release/libprql_java.so prql-java/java/src/main/resources/libprql_java-linux64.so + cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so prql-java/java/src/main/resources/libprql4j-linux64.so - name: Maven test run: cd ./java-api/ && ./mvnw test From 233e73a3f1cb7baaf2a56820c11520586b7e26a3 Mon Sep 17 00:00:00 2001 From: doki Date: Wed, 6 Jul 2022 13:06:38 +0800 Subject: [PATCH 20/46] fix path --- .github/workflows/prql-java-test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/prql-java-test.yaml b/.github/workflows/prql-java-test.yaml index 00edf52..28b2792 100644 --- a/.github/workflows/prql-java-test.yaml +++ b/.github/workflows/prql-java-test.yaml @@ -22,6 +22,6 @@ jobs: rustup target add x86_64-unknown-linux-gnu cd ./ cargo build --release --target=x86_64-unknown-linux-gnu - cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so prql-java/java/src/main/resources/libprql4j-linux64.so + cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux64.so - name: Maven test run: cd ./java-api/ && ./mvnw test From 65b0851b51f3fdfcd2c1bd8f5b6c460e639d9a65 Mon Sep 17 00:00:00 2001 From: doki Date: Wed, 6 Jul 2022 13:23:00 +0800 Subject: [PATCH 21/46] multi os --- .github/workflows/prql-java-test.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/prql-java-test.yaml b/.github/workflows/prql-java-test.yaml index 28b2792..2587afe 100644 --- a/.github/workflows/prql-java-test.yaml +++ b/.github/workflows/prql-java-test.yaml @@ -7,7 +7,10 @@ on: jobs: junit-test: - runs-on: ubuntu-latest + strategy: + matrix: + os: [ ubuntu-latest, windows-latest, macOS-latest ] + runs-on: ${{matrix.os}} steps: - name: Checkout code uses: actions/checkout@v3 @@ -22,6 +25,6 @@ jobs: rustup target add x86_64-unknown-linux-gnu cd ./ cargo build --release --target=x86_64-unknown-linux-gnu - cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux64.so + cp -f ./prql-java/target/x86_64-unknown-linux-gnu/release/libprql4j.so ./prql-java/java-api/src/main/resources/libprql4j-linux64.so - name: Maven test run: cd ./java-api/ && ./mvnw test From a17b8eead0a615e2192bd505d0e612ecfac27969 Mon Sep 17 00:00:00 2001 From: doki Date: Wed, 6 Jul 2022 15:20:59 +0800 Subject: [PATCH 22/46] test --- .github/workflows/prql-java-test.yaml | 10 +--- .gitignore | 2 +- .../.mvn/wrapper/maven-wrapper.jar | Bin .../.mvn/wrapper/maven-wrapper.properties | 0 java/build.sh | 43 ++++++++++++++++++ {java-api => java}/mvnw | 0 {java-api => java}/mvnw.cmd | 0 {java-api => java}/native_lib_build.sh | 16 +++---- {java-api => java}/pom.xml | 24 ++++++++++ .../java/org/doki23/prql4j/Environment.java | 0 .../doki23/prql4j/NativeLibraryLoader.java | 0 .../java/org/doki23/prql4j/PrqlCompiler.java | 0 .../src/main/resources/.gitkeep | 0 .../org/doki23/prql4j/PrqlCompilerTest.java | 0 14 files changed, 78 insertions(+), 17 deletions(-) rename {java-api => java}/.mvn/wrapper/maven-wrapper.jar (100%) rename {java-api => java}/.mvn/wrapper/maven-wrapper.properties (100%) create mode 100755 java/build.sh rename {java-api => java}/mvnw (100%) rename {java-api => java}/mvnw.cmd (100%) rename {java-api => java}/native_lib_build.sh (68%) rename {java-api => java}/pom.xml (61%) rename {java-api => java}/src/main/java/org/doki23/prql4j/Environment.java (100%) rename {java-api => java}/src/main/java/org/doki23/prql4j/NativeLibraryLoader.java (100%) rename {java-api => java}/src/main/java/org/doki23/prql4j/PrqlCompiler.java (100%) rename {java-api => java}/src/main/resources/.gitkeep (100%) rename {java-api => java}/src/test/java/org/doki23/prql4j/PrqlCompilerTest.java (100%) diff --git a/.github/workflows/prql-java-test.yaml b/.github/workflows/prql-java-test.yaml index 2587afe..9e05b14 100644 --- a/.github/workflows/prql-java-test.yaml +++ b/.github/workflows/prql-java-test.yaml @@ -9,7 +9,7 @@ jobs: junit-test: strategy: matrix: - os: [ ubuntu-latest, windows-latest, macOS-latest ] + os: [ ubuntu-latest, macOS-latest ] runs-on: ${{matrix.os}} steps: - name: Checkout code @@ -20,11 +20,5 @@ jobs: toolchain: stable override: true default: true - - name: build for x86_64-unknown-linux-gnu - run: | - rustup target add x86_64-unknown-linux-gnu - cd ./ - cargo build --release --target=x86_64-unknown-linux-gnu - cp -f ./prql-java/target/x86_64-unknown-linux-gnu/release/libprql4j.so ./prql-java/java-api/src/main/resources/libprql4j-linux64.so - name: Maven test - run: cd ./java-api/ && ./mvnw test + run: cd ./java/ && ./mvnw test diff --git a/.gitignore b/.gitignore index 1c6f542..70e496e 100644 --- a/.gitignore +++ b/.gitignore @@ -26,4 +26,4 @@ Cargo.lock target -java-api/src/main/resources/libprql4j* \ No newline at end of file +java/src/main/resources/libprql4j* \ No newline at end of file diff --git a/java-api/.mvn/wrapper/maven-wrapper.jar b/java/.mvn/wrapper/maven-wrapper.jar similarity index 100% rename from java-api/.mvn/wrapper/maven-wrapper.jar rename to java/.mvn/wrapper/maven-wrapper.jar diff --git a/java-api/.mvn/wrapper/maven-wrapper.properties b/java/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from java-api/.mvn/wrapper/maven-wrapper.properties rename to java/.mvn/wrapper/maven-wrapper.properties diff --git a/java/build.sh b/java/build.sh new file mode 100755 index 0000000..000277e --- /dev/null +++ b/java/build.sh @@ -0,0 +1,43 @@ +#!/bin/sh +set -e + +JAVA_SRC_HOME=$1 +ARCH="$(uname -m)" +KERNEL_NAME="$(uname -s)" +KERNEL_VERSION="$(uname -r)" + +echo JAVA_SRC_HOME="$JAVA_SRC_HOME" + +cd "$JAVA_SRC_HOME" +# cd prql-java/ +cd ../ + +echo Platform Info: "$ARCH" "$KERNEL_NAME" "$KERNEL_VERSION" + +echo building... +cargo build --release +echo building successfully +ls -la target/release + +if [ "$KERNEL_NAME" = 'Linux' ]; then + if [ "$ARCH" = 'arm64' ] || [ "$ARCH" = 'aarch64' ]; then + target='libprql4j-linux-aarch64.so' + elif [ "$ARCH" = 'x86_64' ]; then + target='libprql4j-linux64.so' + else + target='libprql4j-linux32.so' + fi + cp -f target/release/libprql4j.so java/src/main/resources/${target} +elif [ "$KERNEL_NAME" = 'Darwin' ]; then + if [ "$ARCH" = 'arm64' ] || [ "$ARCH" = 'aarch64' ]; then + target='libprql4j-osx-arm64.dylib' + elif [ "$ARCH" = 'x86_64' ]; then + target='libprql4j-osx-x86_64.dylib' + else + echo [ERROR] have not support $ARCH:$$KERNEL_NAME yet + exit 1 + fi + cp -f target/release/libprql4j.dylib java/src/main/resources/${target} +fi + +ls -la java/src/main/resources diff --git a/java-api/mvnw b/java/mvnw similarity index 100% rename from java-api/mvnw rename to java/mvnw diff --git a/java-api/mvnw.cmd b/java/mvnw.cmd similarity index 100% rename from java-api/mvnw.cmd rename to java/mvnw.cmd diff --git a/java-api/native_lib_build.sh b/java/native_lib_build.sh similarity index 68% rename from java-api/native_lib_build.sh rename to java/native_lib_build.sh index fab33a1..b0b44b6 100755 --- a/java-api/native_lib_build.sh +++ b/java/native_lib_build.sh @@ -15,15 +15,15 @@ cp -f target/aarch64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/re #echo "compile target=x86_64-apple-darwin" #cross build --release --target=x86_64-apple-darwin -#cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java-api/src/main/resources/libprql4j-osx-x86_64.dylib +#cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-x86_64.dylib # #echo "compile target=aarch64-apple-darwin" #cross build --release --target=aarch64-apple-darwin -#cp -f target/aarch64-apple-darwin/release/libprql4j.dylib java-api/src/main/resources/libprql4j-osx-arm64.dylib +#cp -f target/aarch64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-arm64.dylib # #echo "compile target=x86_64-pc-windows-gnu" #cross build --release --target=x86_64-pc-windows-gnu -#cp -f target/x86_64-pc-windows-gnu/release/prql4j.dll java-api/src/main/resources/libprql4j-win64.dll +#cp -f target/x86_64-pc-windows-gnu/release/prql4j.dll java/src/main/resources/libprql4j-win64.dll ### built by toolchain @@ -31,24 +31,24 @@ cp -f target/aarch64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/re #echo "compile target=x86_64-unknown-linux-gnu" #rustup target add x86_64-unknown-linux-gnu #cargo build --release --target=x86_64-unknown-linux-gnu -#cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux64.so +#cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux64.so # #echo "compile target=aarch64-unknown-linux-gnu" #rustup target add aarch64-unknown-linux-gnu #cargo build --release --target=aarch64-unknown-linux-gnu -#cp -f target/aarch64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux-aarch64.so +#cp -f target/aarch64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64.so #echo "compile target=x86_64-apple-darwin" #rustup target add x86_64-apple-darwin #cargo build --release --target=x86_64-apple-darwin -#cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java-api/src/main/resources/libprql4j-osx-x86_64.dylib +#cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-x86_64.dylib # #echo "compile target=aarch64-apple-darwin" #rustup target add aarch64-apple-darwin #cargo build --release --target=aarch64-apple-darwin -#cp -f target/aarch64-apple-darwin/release/libprql4j.dylib java-api/src/main/resources/libprql4j-osx-arm64.dylib +#cp -f target/aarch64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-arm64.dylib # #echo "compile target=x86_64-pc-windows-gnu" #rustup target add x86_64-pc-windows-gnu #cargo build --release --target=x86_64-pc-windows-gnu -#cp -f target/x86_64-pc-windows-gnu/release/prql4j.dll java-api/src/main/resources/libprql4j-win64.dll +#cp -f target/x86_64-pc-windows-gnu/release/prql4j.dll java/src/main/resources/libprql4j-win64.dll diff --git a/java-api/pom.xml b/java/pom.xml similarity index 61% rename from java-api/pom.xml rename to java/pom.xml index 1556a1a..e1089bb 100644 --- a/java-api/pom.xml +++ b/java/pom.xml @@ -38,4 +38,28 @@ + + + + exec-maven-plugin + org.codehaus.mojo + 1.6.0 + + + Run Script + initialize + + exec + + + build.sh + + ${project.basedir} + + + + + + + \ No newline at end of file diff --git a/java-api/src/main/java/org/doki23/prql4j/Environment.java b/java/src/main/java/org/doki23/prql4j/Environment.java similarity index 100% rename from java-api/src/main/java/org/doki23/prql4j/Environment.java rename to java/src/main/java/org/doki23/prql4j/Environment.java diff --git a/java-api/src/main/java/org/doki23/prql4j/NativeLibraryLoader.java b/java/src/main/java/org/doki23/prql4j/NativeLibraryLoader.java similarity index 100% rename from java-api/src/main/java/org/doki23/prql4j/NativeLibraryLoader.java rename to java/src/main/java/org/doki23/prql4j/NativeLibraryLoader.java diff --git a/java-api/src/main/java/org/doki23/prql4j/PrqlCompiler.java b/java/src/main/java/org/doki23/prql4j/PrqlCompiler.java similarity index 100% rename from java-api/src/main/java/org/doki23/prql4j/PrqlCompiler.java rename to java/src/main/java/org/doki23/prql4j/PrqlCompiler.java diff --git a/java-api/src/main/resources/.gitkeep b/java/src/main/resources/.gitkeep similarity index 100% rename from java-api/src/main/resources/.gitkeep rename to java/src/main/resources/.gitkeep diff --git a/java-api/src/test/java/org/doki23/prql4j/PrqlCompilerTest.java b/java/src/test/java/org/doki23/prql4j/PrqlCompilerTest.java similarity index 100% rename from java-api/src/test/java/org/doki23/prql4j/PrqlCompilerTest.java rename to java/src/test/java/org/doki23/prql4j/PrqlCompilerTest.java From b649a0820b5dc4ee0088be7774a16ac146a9e8a3 Mon Sep 17 00:00:00 2001 From: doki Date: Wed, 6 Jul 2022 19:52:06 +0800 Subject: [PATCH 23/46] update --- java/native_lib_build.sh | 54 ---------------------------------------- 1 file changed, 54 deletions(-) delete mode 100755 java/native_lib_build.sh diff --git a/java/native_lib_build.sh b/java/native_lib_build.sh deleted file mode 100755 index b0b44b6..0000000 --- a/java/native_lib_build.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash -set -e - -echo "start cross compilations" - -cd .. - -echo "compile target=x86_64-unknown-linux-gnu" -cross build --release --target=x86_64-unknown-linux-gnu -cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux64.so - -echo "compile target=aarch64-unknown-linux-gnu" -cross build --release --target=aarch64-unknown-linux-gnu -cp -f target/aarch64-unknown-linux-gnu/release/libprql4j.so java-api/src/main/resources/libprql4j-linux-aarch64.so - -#echo "compile target=x86_64-apple-darwin" -#cross build --release --target=x86_64-apple-darwin -#cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-x86_64.dylib -# -#echo "compile target=aarch64-apple-darwin" -#cross build --release --target=aarch64-apple-darwin -#cp -f target/aarch64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-arm64.dylib -# -#echo "compile target=x86_64-pc-windows-gnu" -#cross build --release --target=x86_64-pc-windows-gnu -#cp -f target/x86_64-pc-windows-gnu/release/prql4j.dll java/src/main/resources/libprql4j-win64.dll - - -### built by toolchain - -#echo "compile target=x86_64-unknown-linux-gnu" -#rustup target add x86_64-unknown-linux-gnu -#cargo build --release --target=x86_64-unknown-linux-gnu -#cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux64.so -# -#echo "compile target=aarch64-unknown-linux-gnu" -#rustup target add aarch64-unknown-linux-gnu -#cargo build --release --target=aarch64-unknown-linux-gnu -#cp -f target/aarch64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64.so - -#echo "compile target=x86_64-apple-darwin" -#rustup target add x86_64-apple-darwin -#cargo build --release --target=x86_64-apple-darwin -#cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-x86_64.dylib -# -#echo "compile target=aarch64-apple-darwin" -#rustup target add aarch64-apple-darwin -#cargo build --release --target=aarch64-apple-darwin -#cp -f target/aarch64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-arm64.dylib -# -#echo "compile target=x86_64-pc-windows-gnu" -#rustup target add x86_64-pc-windows-gnu -#cargo build --release --target=x86_64-pc-windows-gnu -#cp -f target/x86_64-pc-windows-gnu/release/prql4j.dll java/src/main/resources/libprql4j-win64.dll From 23cbf00d9af6a8f34f8ecf002703d61a42d73888 Mon Sep 17 00:00:00 2001 From: doki Date: Wed, 6 Jul 2022 22:17:26 +0800 Subject: [PATCH 24/46] deploy --- java/pom.xml | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 97 insertions(+), 1 deletion(-) diff --git a/java/pom.xml b/java/pom.xml index e1089bb..8b39771 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -20,10 +20,34 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.doki23 + io.github.doki23 prql-java 1.0-SNAPSHOT + ${project.groupId}:${project.artifactId} + prql compiler api for java + https://github.com/doki23/prql-java + + + + The Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + + + + + + Jie Han + tunyum94@gmail.com + + + + + scm:git:git://github.com/doki23/prql-java.git + scm:git:ssh://github.com:doki23/prql-java.git + http://github.com/simpligility/ossrh-demo/tree/master + + 1.8 1.8 @@ -60,6 +84,78 @@ + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.13 + true + + ossrh + https://s01.oss.sonatype.org/ + true + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.5 + + + sign-artifacts + verify + + sign + + + + --pinentry-mode + loopback + + + + + + + + maven-source-plugin + 3.1.0 + + + attach-source + compile + + jar-no-fork + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.0.1 + + + attach-javadocs + + jar + + + + + + + + sonatype-nexus-snapshots + Sonatype Nexus Snapshots + https://s01.oss.sonatype.org/content/repositories/snapshots + + + sonatype-nexus-staging + Nexus Release Repository + https://s01.oss.sonatype.org/service/local/staging/deploy/maven2 + + \ No newline at end of file From 41d9050711a431e3fea7fe492a2fc683dc4480e9 Mon Sep 17 00:00:00 2001 From: doki Date: Thu, 7 Jul 2022 22:57:07 +0800 Subject: [PATCH 25/46] test --- .github/workflows/release.yaml | 22 ++++++++++++++++++++++ cross.sh | 32 ++++++++++++++++++++++++++++++++ java/pom.xml | 16 +++++++++++++--- 3 files changed, 67 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/release.yaml create mode 100644 cross.sh diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..3c5e5c0 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,22 @@ +name: release +on: + release: + type: [published] + +jobs: + publish-to-maven: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + - name: Install Java and Maven + uses: actions/setup-java@v1 + with: + java-version: 8 + - name: Release Maven package + uses: samuelmeuli/action-maven-publish@v1 + with: + gpg_private_key: ${{ secrets.gpg_private_key }} + gpg_passphrase: ${{ secrets.gpg_passphrase }} + nexus_username: ${{ secrets.nexus_username }} + nexus_password: ${{ secrets.nexus_password }} diff --git a/cross.sh b/cross.sh new file mode 100644 index 0000000..fe4f026 --- /dev/null +++ b/cross.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +# install cross +cargo install cross + +# x86_64-unknown-linux-gnu +cross build --release --target x86_64-unknown-linux-gnu +cp ../target/x86_64-unknown-linux-gnu/release/libprql_java.so java/src/main/resources/libprql_java-linux64.so + +# x86_64-unknown-linux-musl +cross build --release --target x86_64-unknown-linux-musl +cp ../target/x86_64-unknown-linux-musl/release/libprql_java.so java/src/main/resources/libprql_java-linux64-musl.so + +# x86_64-apple-darwin +cross build --release --target x86_64-apple-darwin +cp ../target/x86_64-apple-darwin/release/libprql_java.dylib java/src/main/resources/libprql_java-osx-x86_64.dylib + +# x86_64-pc-windows-gnu +cross build --release --target x86_64-pc-windows-gnu +cp ../target/x86_64-pc-windows-gnu/release/prql_java.dll java/src/main/resources/libprql_java-win64.dylib + +# aarch64-unknown-linux-gnu +cross build --release --target aarch64-unknown-linux-gnu +cp ../target/x86_64-unknown-linux-gnu/release/libprql_java.so java/src/main/resources/libprql_java-linux-aarch64.so + +# aarch64-unknown-linux-musl +cross build --release --target aarch64-unknown-linux-musl +cp ../target/aarch64-unknown-linux-musl/release/libprql_java.so java/src/main/resources/libprql_java-linux-aarch64-musl.so + +# aarch64-apple-darwin +cross build --release --target aarch64-apple-darwin +cp ../target/x86_64-apple-darwin/release/libprql_java.dylib java/src/main/resources/libprql_java-osx-arm64.dylib \ No newline at end of file diff --git a/java/pom.xml b/java/pom.xml index 8b39771..2e2bb32 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -22,7 +22,7 @@ io.github.doki23 prql-java - 1.0-SNAPSHOT + 0.0.2 ${project.groupId}:${project.artifactId} prql compiler api for java @@ -70,8 +70,8 @@ 1.6.0 - Run Script - initialize + Rust build for test + generate-resources exec @@ -82,6 +82,16 @@ + + Rust build for release + prepare-package + + exec + + + ../cross.sh + + From ec889e7a4dc9e9a21ac2e2b8c73e65909bedfff3 Mon Sep 17 00:00:00 2001 From: doki Date: Thu, 7 Jul 2022 23:12:03 +0800 Subject: [PATCH 26/46] update --- .github/workflows/release.yaml | 2 ++ cross.sh | 14 +++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 3c5e5c0..2b43593 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,5 +1,6 @@ name: release on: + push: release: type: [published] @@ -20,3 +21,4 @@ jobs: gpg_passphrase: ${{ secrets.gpg_passphrase }} nexus_username: ${{ secrets.nexus_username }} nexus_password: ${{ secrets.nexus_password }} + directory: java/ diff --git a/cross.sh b/cross.sh index fe4f026..9df5906 100644 --- a/cross.sh +++ b/cross.sh @@ -5,28 +5,28 @@ cargo install cross # x86_64-unknown-linux-gnu cross build --release --target x86_64-unknown-linux-gnu -cp ../target/x86_64-unknown-linux-gnu/release/libprql_java.so java/src/main/resources/libprql_java-linux64.so +cp ../target/x86_64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux64.so # x86_64-unknown-linux-musl cross build --release --target x86_64-unknown-linux-musl -cp ../target/x86_64-unknown-linux-musl/release/libprql_java.so java/src/main/resources/libprql_java-linux64-musl.so +cp ../target/x86_64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux64-musl.so # x86_64-apple-darwin cross build --release --target x86_64-apple-darwin -cp ../target/x86_64-apple-darwin/release/libprql_java.dylib java/src/main/resources/libprql_java-osx-x86_64.dylib +cp ../target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-x86_64.dylib # x86_64-pc-windows-gnu cross build --release --target x86_64-pc-windows-gnu -cp ../target/x86_64-pc-windows-gnu/release/prql_java.dll java/src/main/resources/libprql_java-win64.dylib +cp ../target/x86_64-pc-windows-gnu/release/prql4j.dll java/src/main/resources/libprql4j-win64.dylib # aarch64-unknown-linux-gnu cross build --release --target aarch64-unknown-linux-gnu -cp ../target/x86_64-unknown-linux-gnu/release/libprql_java.so java/src/main/resources/libprql_java-linux-aarch64.so +cp ../target/x86_64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64.so # aarch64-unknown-linux-musl cross build --release --target aarch64-unknown-linux-musl -cp ../target/aarch64-unknown-linux-musl/release/libprql_java.so java/src/main/resources/libprql_java-linux-aarch64-musl.so +cp ../target/aarch64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64-musl.so # aarch64-apple-darwin cross build --release --target aarch64-apple-darwin -cp ../target/x86_64-apple-darwin/release/libprql_java.dylib java/src/main/resources/libprql_java-osx-arm64.dylib \ No newline at end of file +cp ../target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-arm64.dylib \ No newline at end of file From cb988a7f586a3e532c9cdbde5c8d2b1b1577e547 Mon Sep 17 00:00:00 2001 From: doki Date: Thu, 7 Jul 2022 23:16:40 +0800 Subject: [PATCH 27/46] add x right --- cross.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 cross.sh diff --git a/cross.sh b/cross.sh old mode 100644 new mode 100755 From 8080480d7589d5835e88c5b156f014f963ea85ff Mon Sep 17 00:00:00 2001 From: doki Date: Fri, 8 Jul 2022 16:14:56 +0800 Subject: [PATCH 28/46] update --- cross.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/cross.sh b/cross.sh index 9df5906..c9377b3 100755 --- a/cross.sh +++ b/cross.sh @@ -4,29 +4,43 @@ cargo install cross # x86_64-unknown-linux-gnu +rustup target add x86_64-unknown-linux-gnu cross build --release --target x86_64-unknown-linux-gnu +ls -la ../target/x86_64-unknown-linux-gnu/release cp ../target/x86_64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux64.so # x86_64-unknown-linux-musl +rustup target add x86_64-unknown-linux-musl cross build --release --target x86_64-unknown-linux-musl +ls -la ../target/x86_64-unknown-linux-musl/release cp ../target/x86_64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux64-musl.so # x86_64-apple-darwin +rustup target add x86_64-apple-darwin cross build --release --target x86_64-apple-darwin +ls -la ../target/x86_64-apple-darwin/release cp ../target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-x86_64.dylib # x86_64-pc-windows-gnu +rustup target add x86_64-pc-windows-gnu cross build --release --target x86_64-pc-windows-gnu +ls -la ../target/x86_64-pc-windows-gnu/release cp ../target/x86_64-pc-windows-gnu/release/prql4j.dll java/src/main/resources/libprql4j-win64.dylib # aarch64-unknown-linux-gnu +rustup target add target aarch64-unknown-linux-gnu cross build --release --target aarch64-unknown-linux-gnu +ls -la ../target/x86_64-unknown-linux-gnu/release cp ../target/x86_64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64.so # aarch64-unknown-linux-musl +rustup target add aarch64-unknown-linux-musl cross build --release --target aarch64-unknown-linux-musl +ls -la ../target/aarch64-unknown-linux-musl/release cp ../target/aarch64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64-musl.so # aarch64-apple-darwin +rustup target add aarch64-apple-darwin cross build --release --target aarch64-apple-darwin +ls -la ../target/x86_64-apple-darwin/release cp ../target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-arm64.dylib \ No newline at end of file From db6cdd9696323f868e473750f90652fc39649ded Mon Sep 17 00:00:00 2001 From: doki Date: Sat, 9 Jul 2022 10:41:07 +0800 Subject: [PATCH 29/46] update --- cross.sh | 41 ++++++++++++++++++++--------------- java/pom.xml | 60 ++++++++++++++++++++++++++-------------------------- 2 files changed, 54 insertions(+), 47 deletions(-) diff --git a/cross.sh b/cross.sh index c9377b3..a25adb5 100755 --- a/cross.sh +++ b/cross.sh @@ -4,43 +4,50 @@ cargo install cross # x86_64-unknown-linux-gnu +echo "compiling for x86_64-unknown-linux-gnu" rustup target add x86_64-unknown-linux-gnu cross build --release --target x86_64-unknown-linux-gnu ls -la ../target/x86_64-unknown-linux-gnu/release cp ../target/x86_64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux64.so # x86_64-unknown-linux-musl +echo "compiling for x86_64-unknown-linux-musl" rustup target add x86_64-unknown-linux-musl cross build --release --target x86_64-unknown-linux-musl ls -la ../target/x86_64-unknown-linux-musl/release cp ../target/x86_64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux64-musl.so -# x86_64-apple-darwin -rustup target add x86_64-apple-darwin -cross build --release --target x86_64-apple-darwin -ls -la ../target/x86_64-apple-darwin/release -cp ../target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-x86_64.dylib +## x86_64-apple-darwin +#echo "compiling for x86_64-apple-darwin" +#rustup target add x86_64-apple-darwin +#cross build --release --target x86_64-apple-darwin +#ls -la ../target/x86_64-apple-darwin/release +#cp ../target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-x86_64.dylib # x86_64-pc-windows-gnu +echo "compiling for x86_64-pc-windows-gnu" rustup target add x86_64-pc-windows-gnu cross build --release --target x86_64-pc-windows-gnu ls -la ../target/x86_64-pc-windows-gnu/release -cp ../target/x86_64-pc-windows-gnu/release/prql4j.dll java/src/main/resources/libprql4j-win64.dylib +cp ../target/x86_64-pc-windows-gnu/release/prql4j.dll java/src/main/resources/libprql4j-win64.dll # aarch64-unknown-linux-gnu -rustup target add target aarch64-unknown-linux-gnu +echo "compiling for aarch64-unknown-linux-gnu" +rustup target add aarch64-unknown-linux-gnu cross build --release --target aarch64-unknown-linux-gnu ls -la ../target/x86_64-unknown-linux-gnu/release cp ../target/x86_64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64.so # aarch64-unknown-linux-musl -rustup target add aarch64-unknown-linux-musl -cross build --release --target aarch64-unknown-linux-musl -ls -la ../target/aarch64-unknown-linux-musl/release -cp ../target/aarch64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64-musl.so - -# aarch64-apple-darwin -rustup target add aarch64-apple-darwin -cross build --release --target aarch64-apple-darwin -ls -la ../target/x86_64-apple-darwin/release -cp ../target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-arm64.dylib \ No newline at end of file +#echo "compiling for aarch64-unknown-linux-musl" +#rustup target add aarch64-unknown-linux-musl +#cross build --release --target aarch64-unknown-linux-musl +#ls -la ../target/aarch64-unknown-linux-musl/release +#cp ../target/aarch64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64-musl.so + +## aarch64-apple-darwin +#echo "compiling for aarch64-apple-darwin" +#rustup target add aarch64-apple-darwin +#cross build --release --target aarch64-apple-darwin +#ls -la ../target/x86_64-apple-darwin/release +#cp ../target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-arm64.dylib \ No newline at end of file diff --git a/java/pom.xml b/java/pom.xml index 2e2bb32..6caa3c8 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -64,36 +64,36 @@ - - exec-maven-plugin - org.codehaus.mojo - 1.6.0 - - - Rust build for test - generate-resources - - exec - - - build.sh - - ${project.basedir} - - - - - Rust build for release - prepare-package - - exec - - - ../cross.sh - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + org.sonatype.plugins From cf7c138913046b7acf4f4e8f6604d37cfc39dd83 Mon Sep 17 00:00:00 2001 From: doki Date: Sat, 9 Jul 2022 10:42:39 +0800 Subject: [PATCH 30/46] fix --- java/pom.xml | 60 ++++++++++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/java/pom.xml b/java/pom.xml index 6caa3c8..2e2bb32 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -64,36 +64,36 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + exec-maven-plugin + org.codehaus.mojo + 1.6.0 + + + Rust build for test + generate-resources + + exec + + + build.sh + + ${project.basedir} + + + + + Rust build for release + prepare-package + + exec + + + ../cross.sh + + + + org.sonatype.plugins From 382c5a7971d4bbeb381bf0898cf852fe90cf80ce Mon Sep 17 00:00:00 2001 From: doki Date: Sat, 9 Jul 2022 10:57:08 +0800 Subject: [PATCH 31/46] fix --- cross.sh | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/cross.sh b/cross.sh index a25adb5..d9d74ab 100755 --- a/cross.sh +++ b/cross.sh @@ -8,46 +8,46 @@ echo "compiling for x86_64-unknown-linux-gnu" rustup target add x86_64-unknown-linux-gnu cross build --release --target x86_64-unknown-linux-gnu ls -la ../target/x86_64-unknown-linux-gnu/release -cp ../target/x86_64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux64.so +cp -f ../target/x86_64-unknown-linux-gnu/release/libprql4j.so src/main/resources/libprql4j-linux64.so -# x86_64-unknown-linux-musl -echo "compiling for x86_64-unknown-linux-musl" -rustup target add x86_64-unknown-linux-musl -cross build --release --target x86_64-unknown-linux-musl -ls -la ../target/x86_64-unknown-linux-musl/release -cp ../target/x86_64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux64-musl.so +## x86_64-unknown-linux-musl +#echo "compiling for x86_64-unknown-linux-musl" +#rustup target add x86_64-unknown-linux-musl +#cross build --release --target x86_64-unknown-linux-musl +#ls -la ../target/x86_64-unknown-linux-musl/release +#cp ../target/x86_64-unknown-linux-musl/release/libprql4j.so src/main/resources/libprql4j-linux64-musl.so ## x86_64-apple-darwin #echo "compiling for x86_64-apple-darwin" #rustup target add x86_64-apple-darwin #cross build --release --target x86_64-apple-darwin #ls -la ../target/x86_64-apple-darwin/release -#cp ../target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-x86_64.dylib +#cp ../target/x86_64-apple-darwin/release/libprql4j.dylib src/main/resources/libprql4j-osx-x86_64.dylib # x86_64-pc-windows-gnu echo "compiling for x86_64-pc-windows-gnu" rustup target add x86_64-pc-windows-gnu cross build --release --target x86_64-pc-windows-gnu ls -la ../target/x86_64-pc-windows-gnu/release -cp ../target/x86_64-pc-windows-gnu/release/prql4j.dll java/src/main/resources/libprql4j-win64.dll +cp -f ../target/x86_64-pc-windows-gnu/release/prql4j.dll src/main/resources/libprql4j-win64.dll # aarch64-unknown-linux-gnu echo "compiling for aarch64-unknown-linux-gnu" rustup target add aarch64-unknown-linux-gnu cross build --release --target aarch64-unknown-linux-gnu ls -la ../target/x86_64-unknown-linux-gnu/release -cp ../target/x86_64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64.so +cp -f ../target/x86_64-unknown-linux-gnu/release/libprql4j.so src/main/resources/libprql4j-linux-aarch64.so # aarch64-unknown-linux-musl #echo "compiling for aarch64-unknown-linux-musl" #rustup target add aarch64-unknown-linux-musl #cross build --release --target aarch64-unknown-linux-musl #ls -la ../target/aarch64-unknown-linux-musl/release -#cp ../target/aarch64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64-musl.so +#cp ../target/aarch64-unknown-linux-musl/release/libprql4j.so src/main/resources/libprql4j-linux-aarch64-musl.so ## aarch64-apple-darwin #echo "compiling for aarch64-apple-darwin" #rustup target add aarch64-apple-darwin #cross build --release --target aarch64-apple-darwin #ls -la ../target/x86_64-apple-darwin/release -#cp ../target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-arm64.dylib \ No newline at end of file +#cp ../target/x86_64-apple-darwin/release/libprql4j.dylib src/main/resources/libprql4j-osx-arm64.dylib \ No newline at end of file From cfa3461fb5736e0430c50fefca289fd843634662 Mon Sep 17 00:00:00 2001 From: doki Date: Sat, 9 Jul 2022 11:38:24 +0800 Subject: [PATCH 32/46] update --- .github/workflows/release.yaml | 2 ++ Cross.toml | 0 cross.sh | 28 ++++++++++++++-------------- java/pom.xml | 14 ++------------ 4 files changed, 18 insertions(+), 26 deletions(-) create mode 100644 Cross.toml diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 2b43593..e00b7aa 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -14,6 +14,8 @@ jobs: uses: actions/setup-java@v1 with: java-version: 8 + - name: Cross compilation + run: bash cross.sh - name: Release Maven package uses: samuelmeuli/action-maven-publish@v1 with: diff --git a/Cross.toml b/Cross.toml new file mode 100644 index 0000000..e69de29 diff --git a/cross.sh b/cross.sh index d9d74ab..feef83d 100755 --- a/cross.sh +++ b/cross.sh @@ -7,47 +7,47 @@ cargo install cross echo "compiling for x86_64-unknown-linux-gnu" rustup target add x86_64-unknown-linux-gnu cross build --release --target x86_64-unknown-linux-gnu -ls -la ../target/x86_64-unknown-linux-gnu/release -cp -f ../target/x86_64-unknown-linux-gnu/release/libprql4j.so src/main/resources/libprql4j-linux64.so +ls -la target/x86_64-unknown-linux-gnu/release +cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux64.so ## x86_64-unknown-linux-musl #echo "compiling for x86_64-unknown-linux-musl" #rustup target add x86_64-unknown-linux-musl #cross build --release --target x86_64-unknown-linux-musl -#ls -la ../target/x86_64-unknown-linux-musl/release -#cp ../target/x86_64-unknown-linux-musl/release/libprql4j.so src/main/resources/libprql4j-linux64-musl.so +#ls -la target/x86_64-unknown-linux-musl/release +#cp target/x86_64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux64-musl.so ## x86_64-apple-darwin #echo "compiling for x86_64-apple-darwin" #rustup target add x86_64-apple-darwin #cross build --release --target x86_64-apple-darwin -#ls -la ../target/x86_64-apple-darwin/release -#cp ../target/x86_64-apple-darwin/release/libprql4j.dylib src/main/resources/libprql4j-osx-x86_64.dylib +#ls -la target/x86_64-apple-darwin/release +#cp target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-x86_64.dylib # x86_64-pc-windows-gnu echo "compiling for x86_64-pc-windows-gnu" rustup target add x86_64-pc-windows-gnu cross build --release --target x86_64-pc-windows-gnu -ls -la ../target/x86_64-pc-windows-gnu/release -cp -f ../target/x86_64-pc-windows-gnu/release/prql4j.dll src/main/resources/libprql4j-win64.dll +ls -la target/x86_64-pc-windows-gnu/release +cp -f target/x86_64-pc-windows-gnu/release/prql4j.dll java/src/main/resources/libprql4j-win64.dll # aarch64-unknown-linux-gnu echo "compiling for aarch64-unknown-linux-gnu" rustup target add aarch64-unknown-linux-gnu cross build --release --target aarch64-unknown-linux-gnu -ls -la ../target/x86_64-unknown-linux-gnu/release -cp -f ../target/x86_64-unknown-linux-gnu/release/libprql4j.so src/main/resources/libprql4j-linux-aarch64.so +ls -la target/x86_64-unknown-linux-gnu/release +cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64.so # aarch64-unknown-linux-musl #echo "compiling for aarch64-unknown-linux-musl" #rustup target add aarch64-unknown-linux-musl #cross build --release --target aarch64-unknown-linux-musl -#ls -la ../target/aarch64-unknown-linux-musl/release -#cp ../target/aarch64-unknown-linux-musl/release/libprql4j.so src/main/resources/libprql4j-linux-aarch64-musl.so +#ls -la target/aarch64-unknown-linux-musl/release +#cp -f target/aarch64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64-musl.so ## aarch64-apple-darwin #echo "compiling for aarch64-apple-darwin" #rustup target add aarch64-apple-darwin #cross build --release --target aarch64-apple-darwin -#ls -la ../target/x86_64-apple-darwin/release -#cp ../target/x86_64-apple-darwin/release/libprql4j.dylib src/main/resources/libprql4j-osx-arm64.dylib \ No newline at end of file +#ls -la target/x86_64-apple-darwin/release +#cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-arm64.dylib \ No newline at end of file diff --git a/java/pom.xml b/java/pom.xml index 2e2bb32..ba86492 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -22,7 +22,7 @@ io.github.doki23 prql-java - 0.0.2 + 0.0.2-SNAPSHOT ${project.groupId}:${project.artifactId} prql compiler api for java @@ -70,7 +70,7 @@ 1.6.0 - Rust build for test + Build for local generate-resources exec @@ -82,16 +82,6 @@ - - Rust build for release - prepare-package - - exec - - - ../cross.sh - - From 73341d0c934a8bb79939dcb90631d0150a1c6b56 Mon Sep 17 00:00:00 2001 From: doki Date: Sat, 9 Jul 2022 13:19:36 +0800 Subject: [PATCH 33/46] update --- .gitignore | 2 +- java/build.sh | 43 ------------------- java/pom.xml | 7 +-- .../doki23/prql4j/NativeLibraryLoader.java | 5 --- 4 files changed, 3 insertions(+), 54 deletions(-) delete mode 100755 java/build.sh diff --git a/.gitignore b/.gitignore index 70e496e..8979908 100644 --- a/.gitignore +++ b/.gitignore @@ -26,4 +26,4 @@ Cargo.lock target -java/src/main/resources/libprql4j* \ No newline at end of file +**/libprql4j* \ No newline at end of file diff --git a/java/build.sh b/java/build.sh deleted file mode 100755 index 000277e..0000000 --- a/java/build.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -set -e - -JAVA_SRC_HOME=$1 -ARCH="$(uname -m)" -KERNEL_NAME="$(uname -s)" -KERNEL_VERSION="$(uname -r)" - -echo JAVA_SRC_HOME="$JAVA_SRC_HOME" - -cd "$JAVA_SRC_HOME" -# cd prql-java/ -cd ../ - -echo Platform Info: "$ARCH" "$KERNEL_NAME" "$KERNEL_VERSION" - -echo building... -cargo build --release -echo building successfully -ls -la target/release - -if [ "$KERNEL_NAME" = 'Linux' ]; then - if [ "$ARCH" = 'arm64' ] || [ "$ARCH" = 'aarch64' ]; then - target='libprql4j-linux-aarch64.so' - elif [ "$ARCH" = 'x86_64' ]; then - target='libprql4j-linux64.so' - else - target='libprql4j-linux32.so' - fi - cp -f target/release/libprql4j.so java/src/main/resources/${target} -elif [ "$KERNEL_NAME" = 'Darwin' ]; then - if [ "$ARCH" = 'arm64' ] || [ "$ARCH" = 'aarch64' ]; then - target='libprql4j-osx-arm64.dylib' - elif [ "$ARCH" = 'x86_64' ]; then - target='libprql4j-osx-x86_64.dylib' - else - echo [ERROR] have not support $ARCH:$$KERNEL_NAME yet - exit 1 - fi - cp -f target/release/libprql4j.dylib java/src/main/resources/${target} -fi - -ls -la java/src/main/resources diff --git a/java/pom.xml b/java/pom.xml index ba86492..2ab0a91 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -70,16 +70,13 @@ 1.6.0 - Build for local + Build for release generate-resources exec - build.sh - - ${project.basedir} - + ../cross.sh diff --git a/java/src/main/java/org/doki23/prql4j/NativeLibraryLoader.java b/java/src/main/java/org/doki23/prql4j/NativeLibraryLoader.java index 7cbd9f9..d2f86ea 100644 --- a/java/src/main/java/org/doki23/prql4j/NativeLibraryLoader.java +++ b/java/src/main/java/org/doki23/prql4j/NativeLibraryLoader.java @@ -125,9 +125,4 @@ File loadLibraryFromJarToTemp(final String tmpDir) private NativeLibraryLoader() { } - - public static void main(String[] args) { - NativeLibraryLoader loader = NativeLibraryLoader.getInstance(); - System.out.println(loader); - } } From 4d54c27a814a7a622076b4cc75efd772eedf5446 Mon Sep 17 00:00:00 2001 From: doki Date: Sat, 9 Jul 2022 13:20:13 +0800 Subject: [PATCH 34/46] fix --- .github/workflows/release.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index e00b7aa..2b43593 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -14,8 +14,6 @@ jobs: uses: actions/setup-java@v1 with: java-version: 8 - - name: Cross compilation - run: bash cross.sh - name: Release Maven package uses: samuelmeuli/action-maven-publish@v1 with: From df0d926ad232856f08a8fa67fc4a4fcd93f79f17 Mon Sep 17 00:00:00 2001 From: doki Date: Sat, 9 Jul 2022 13:29:06 +0800 Subject: [PATCH 35/46] fix --- cross.sh | 11 ++++++++++- java/pom.xml | 3 +++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/cross.sh b/cross.sh index feef83d..13d2e8c 100755 --- a/cross.sh +++ b/cross.sh @@ -1,5 +1,12 @@ #!/bin/bash +PROJECT_DIR=$1 +echo PROJECT_DIR="${PROJECT_DIR}" +pwd +CONTEXT_PATH=$? +echo CONTEXT_PATH="${CONTEXT_PATH}" +cd "${PROJECT_DIR}" || exit 1 + # install cross cargo install cross @@ -50,4 +57,6 @@ cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java/src/main/resourc #rustup target add aarch64-apple-darwin #cross build --release --target aarch64-apple-darwin #ls -la target/x86_64-apple-darwin/release -#cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-arm64.dylib \ No newline at end of file +#cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-arm64.dylib + +cd "${CONTEXT_PATH}" || exit 1 \ No newline at end of file diff --git a/java/pom.xml b/java/pom.xml index 2ab0a91..9906d20 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -77,6 +77,9 @@ ../cross.sh + + ${project.basedir}/../ + From 8c0cc9fb54730a84ad243edf5b395b0096c245ce Mon Sep 17 00:00:00 2001 From: doki Date: Sat, 9 Jul 2022 13:30:52 +0800 Subject: [PATCH 36/46] fix --- cross.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cross.sh b/cross.sh index 13d2e8c..b085ae2 100755 --- a/cross.sh +++ b/cross.sh @@ -2,8 +2,7 @@ PROJECT_DIR=$1 echo PROJECT_DIR="${PROJECT_DIR}" -pwd -CONTEXT_PATH=$? +CONTEXT_PATH=$(pwd) echo CONTEXT_PATH="${CONTEXT_PATH}" cd "${PROJECT_DIR}" || exit 1 From b182fbf3530d17bfd8fc770b1c033b6b740e9596 Mon Sep 17 00:00:00 2001 From: doki Date: Sat, 9 Jul 2022 13:47:43 +0800 Subject: [PATCH 37/46] update --- .github/workflows/release-snapshot.yaml | 23 +++++++++++++++++ .github/workflows/release.yaml | 1 - java/pom.xml | 34 ++++++++++++++++--------- 3 files changed, 45 insertions(+), 13 deletions(-) create mode 100644 .github/workflows/release-snapshot.yaml diff --git a/.github/workflows/release-snapshot.yaml b/.github/workflows/release-snapshot.yaml new file mode 100644 index 0000000..9095cf8 --- /dev/null +++ b/.github/workflows/release-snapshot.yaml @@ -0,0 +1,23 @@ +name: release-snapshot +on: + push: + +jobs: + publish-to-maven: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + - name: Install Java and Maven + uses: actions/setup-java@v1 + with: + java-version: 8 + - name: Release Maven package + uses: samuelmeuli/action-maven-publish@v1 + with: + gpg_private_key: ${{ secrets.gpg_private_key }} + gpg_passphrase: ${{ secrets.gpg_passphrase }} + nexus_username: ${{ secrets.nexus_username }} + nexus_password: ${{ secrets.nexus_password }} + directory: java/ + maven_profiles: deploy-snapshot diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 2b43593..a58f773 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,6 +1,5 @@ name: release on: - push: release: type: [published] diff --git a/java/pom.xml b/java/pom.xml index 9906d20..e386578 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -146,16 +146,26 @@ - - - sonatype-nexus-snapshots - Sonatype Nexus Snapshots - https://s01.oss.sonatype.org/content/repositories/snapshots - - - sonatype-nexus-staging - Nexus Release Repository - https://s01.oss.sonatype.org/service/local/staging/deploy/maven2 - - + + + deploy-snapshot + + + sonatype-nexus-snapshots + Sonatype Nexus Snapshots + https://s01.oss.sonatype.org/content/repositories/snapshots + + + + + deploy + + + sonatype-nexus-staging + Nexus Release Repository + https://s01.oss.sonatype.org/service/local/staging/deploy/maven2 + + + + \ No newline at end of file From f0a70c59c87e62b2d28c6d3daab2084f6ccdb45c Mon Sep 17 00:00:00 2001 From: doki Date: Sat, 9 Jul 2022 14:04:27 +0800 Subject: [PATCH 38/46] update --- .github/workflows/release-snapshot.yaml | 23 ----------------------- .github/workflows/release.yaml | 1 + java/pom.xml | 2 +- 3 files changed, 2 insertions(+), 24 deletions(-) delete mode 100644 .github/workflows/release-snapshot.yaml diff --git a/.github/workflows/release-snapshot.yaml b/.github/workflows/release-snapshot.yaml deleted file mode 100644 index 9095cf8..0000000 --- a/.github/workflows/release-snapshot.yaml +++ /dev/null @@ -1,23 +0,0 @@ -name: release-snapshot -on: - push: - -jobs: - publish-to-maven: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v3 - - name: Install Java and Maven - uses: actions/setup-java@v1 - with: - java-version: 8 - - name: Release Maven package - uses: samuelmeuli/action-maven-publish@v1 - with: - gpg_private_key: ${{ secrets.gpg_private_key }} - gpg_passphrase: ${{ secrets.gpg_passphrase }} - nexus_username: ${{ secrets.nexus_username }} - nexus_password: ${{ secrets.nexus_password }} - directory: java/ - maven_profiles: deploy-snapshot diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index a58f773..2b43593 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,5 +1,6 @@ name: release on: + push: release: type: [published] diff --git a/java/pom.xml b/java/pom.xml index e386578..ec8acc7 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -22,7 +22,7 @@ io.github.doki23 prql-java - 0.0.2-SNAPSHOT + 0.0.3 ${project.groupId}:${project.artifactId} prql compiler api for java From 520af20c09c8043c49e2d9e7a7cf70e9deb42330 Mon Sep 17 00:00:00 2001 From: doki Date: Sun, 10 Jul 2022 15:15:26 +0800 Subject: [PATCH 39/46] musl --- cross.sh | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/cross.sh b/cross.sh index b085ae2..a2c60b6 100755 --- a/cross.sh +++ b/cross.sh @@ -16,12 +16,12 @@ cross build --release --target x86_64-unknown-linux-gnu ls -la target/x86_64-unknown-linux-gnu/release cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux64.so -## x86_64-unknown-linux-musl -#echo "compiling for x86_64-unknown-linux-musl" -#rustup target add x86_64-unknown-linux-musl -#cross build --release --target x86_64-unknown-linux-musl -#ls -la target/x86_64-unknown-linux-musl/release -#cp target/x86_64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux64-musl.so +# x86_64-unknown-linux-musl +echo "compiling for x86_64-unknown-linux-musl" +rustup target add x86_64-unknown-linux-musl +cross rustc --release --crate-type=dylib --target x86_64-unknown-linux-musl +ls -la target/x86_64-unknown-linux-musl/release +cp target/x86_64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux64-musl.so ## x86_64-apple-darwin #echo "compiling for x86_64-apple-darwin" @@ -45,11 +45,11 @@ ls -la target/x86_64-unknown-linux-gnu/release cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64.so # aarch64-unknown-linux-musl -#echo "compiling for aarch64-unknown-linux-musl" -#rustup target add aarch64-unknown-linux-musl -#cross build --release --target aarch64-unknown-linux-musl -#ls -la target/aarch64-unknown-linux-musl/release -#cp -f target/aarch64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64-musl.so +echo "compiling for aarch64-unknown-linux-musl" +rustup target add aarch64-unknown-linux-musl +cross rustc --release --crate-type=dylib --target aarch64-unknown-linux-musl +ls -la target/aarch64-unknown-linux-musl/release +cp -f target/aarch64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64-musl.so ## aarch64-apple-darwin #echo "compiling for aarch64-apple-darwin" From 594cfbb932ac9a17af4ea1dc71c738e456e69f4f Mon Sep 17 00:00:00 2001 From: doki Date: Sun, 10 Jul 2022 15:20:49 +0800 Subject: [PATCH 40/46] cross config --- .gitmodules | 3 +++ Cross.toml | 4 ++++ cross-toolchains | 1 + 3 files changed, 8 insertions(+) create mode 100644 .gitmodules create mode 160000 cross-toolchains diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..2472486 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "cross-toolchains"] + path = cross-toolchains + url = https://github.com/cross-rs/cross-toolchains.git diff --git a/Cross.toml b/Cross.toml index e69de29..584e2cf 100644 --- a/Cross.toml +++ b/Cross.toml @@ -0,0 +1,4 @@ +[target.x86_64-apple-darwin] +dockerfile = "cross-toolchains/docker/Dockerfile.x86_64-apple-darwin-cross" +[target.aarch64-apple-darwin] +dockerfile = "cross-toolchains/docker/Dockerfile.aarch64-apple-darwin-cross" \ No newline at end of file diff --git a/cross-toolchains b/cross-toolchains new file mode 160000 index 0000000..9685bc3 --- /dev/null +++ b/cross-toolchains @@ -0,0 +1 @@ +Subproject commit 9685bc36ade526d8a6db5a569929cc28e7121748 From 047f815eada7fcd4f2c94e11f74099339ae84fe2 Mon Sep 17 00:00:00 2001 From: doki Date: Sun, 10 Jul 2022 15:34:42 +0800 Subject: [PATCH 41/46] update --- cross.sh | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/cross.sh b/cross.sh index a2c60b6..937057e 100755 --- a/cross.sh +++ b/cross.sh @@ -16,13 +16,6 @@ cross build --release --target x86_64-unknown-linux-gnu ls -la target/x86_64-unknown-linux-gnu/release cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux64.so -# x86_64-unknown-linux-musl -echo "compiling for x86_64-unknown-linux-musl" -rustup target add x86_64-unknown-linux-musl -cross rustc --release --crate-type=dylib --target x86_64-unknown-linux-musl -ls -la target/x86_64-unknown-linux-musl/release -cp target/x86_64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux64-musl.so - ## x86_64-apple-darwin #echo "compiling for x86_64-apple-darwin" #rustup target add x86_64-apple-darwin @@ -44,6 +37,23 @@ cross build --release --target aarch64-unknown-linux-gnu ls -la target/x86_64-unknown-linux-gnu/release cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64.so +## aarch64-apple-darwin +#echo "compiling for aarch64-apple-darwin" +#rustup target add aarch64-apple-darwin +#cross build --release --target aarch64-apple-darwin +#ls -la target/x86_64-apple-darwin/release +#cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-arm64.dylib + +cargo install cargo-crate-type +cargo crate-type dylib + +# x86_64-unknown-linux-musl +echo "compiling for x86_64-unknown-linux-musl" +rustup target add x86_64-unknown-linux-musl +cross rustc --release --crate-type=dylib --target x86_64-unknown-linux-musl +ls -la target/x86_64-unknown-linux-musl/release +cp target/x86_64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux64-musl.so + # aarch64-unknown-linux-musl echo "compiling for aarch64-unknown-linux-musl" rustup target add aarch64-unknown-linux-musl @@ -51,11 +61,5 @@ cross rustc --release --crate-type=dylib --target aarch64-unknown-linux-musl ls -la target/aarch64-unknown-linux-musl/release cp -f target/aarch64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64-musl.so -## aarch64-apple-darwin -#echo "compiling for aarch64-apple-darwin" -#rustup target add aarch64-apple-darwin -#cross build --release --target aarch64-apple-darwin -#ls -la target/x86_64-apple-darwin/release -#cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-arm64.dylib cd "${CONTEXT_PATH}" || exit 1 \ No newline at end of file From 2f3747f89e49e883cf26349eb530c3a23c323acb Mon Sep 17 00:00:00 2001 From: doki Date: Sun, 10 Jul 2022 15:44:42 +0800 Subject: [PATCH 42/46] fix --- cross.sh | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/cross.sh b/cross.sh index 937057e..d6c9a9b 100755 --- a/cross.sh +++ b/cross.sh @@ -16,12 +16,12 @@ cross build --release --target x86_64-unknown-linux-gnu ls -la target/x86_64-unknown-linux-gnu/release cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux64.so -## x86_64-apple-darwin -#echo "compiling for x86_64-apple-darwin" -#rustup target add x86_64-apple-darwin -#cross build --release --target x86_64-apple-darwin -#ls -la target/x86_64-apple-darwin/release -#cp target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-x86_64.dylib +# x86_64-apple-darwin +echo "compiling for x86_64-apple-darwin" +rustup target add x86_64-apple-darwin +cross build --release --target x86_64-apple-darwin +ls -la target/x86_64-apple-darwin/release +cp target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-x86_64.dylib # x86_64-pc-windows-gnu echo "compiling for x86_64-pc-windows-gnu" @@ -37,12 +37,12 @@ cross build --release --target aarch64-unknown-linux-gnu ls -la target/x86_64-unknown-linux-gnu/release cp -f target/x86_64-unknown-linux-gnu/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64.so -## aarch64-apple-darwin -#echo "compiling for aarch64-apple-darwin" -#rustup target add aarch64-apple-darwin -#cross build --release --target aarch64-apple-darwin -#ls -la target/x86_64-apple-darwin/release -#cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-arm64.dylib +# aarch64-apple-darwin +echo "compiling for aarch64-apple-darwin" +rustup target add aarch64-apple-darwin +cross build --release --target aarch64-apple-darwin +ls -la target/x86_64-apple-darwin/release +cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-arm64.dylib cargo install cargo-crate-type cargo crate-type dylib @@ -50,14 +50,14 @@ cargo crate-type dylib # x86_64-unknown-linux-musl echo "compiling for x86_64-unknown-linux-musl" rustup target add x86_64-unknown-linux-musl -cross rustc --release --crate-type=dylib --target x86_64-unknown-linux-musl +cross build --release --target x86_64-unknown-linux-musl ls -la target/x86_64-unknown-linux-musl/release cp target/x86_64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux64-musl.so # aarch64-unknown-linux-musl echo "compiling for aarch64-unknown-linux-musl" rustup target add aarch64-unknown-linux-musl -cross rustc --release --crate-type=dylib --target aarch64-unknown-linux-musl +cross build --release --target aarch64-unknown-linux-musl ls -la target/aarch64-unknown-linux-musl/release cp -f target/aarch64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64-musl.so From b9f7660fad0ba0af765f884535ee1667463c3c14 Mon Sep 17 00:00:00 2001 From: doki Date: Sun, 10 Jul 2022 15:53:13 +0800 Subject: [PATCH 43/46] fix --- Cross.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Cross.toml b/Cross.toml index 584e2cf..46c067b 100644 --- a/Cross.toml +++ b/Cross.toml @@ -1,4 +1,4 @@ -[target.x86_64-apple-darwin] -dockerfile = "cross-toolchains/docker/Dockerfile.x86_64-apple-darwin-cross" +[target.x86_64-apple-darwin.dockerfile] +file = "./cross-toolchains/docker/Dockerfile.x86_64-apple-darwin-cross" [target.aarch64-apple-darwin] -dockerfile = "cross-toolchains/docker/Dockerfile.aarch64-apple-darwin-cross" \ No newline at end of file +file = "./cross-toolchains/docker/Dockerfile.aarch64-apple-darwin-cross" \ No newline at end of file From 35e14e279e956cccc703de0173f2ba895933020b Mon Sep 17 00:00:00 2001 From: doki Date: Sun, 10 Jul 2022 16:18:19 +0800 Subject: [PATCH 44/46] test --- Cargo.toml | 2 +- Cross.toml | 2 +- cross.sh | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 4e88491..7e79fa5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,7 +24,7 @@ edition = "2021" keywords = [ "prql", "sql" ] [lib] -crate_type = ["cdylib"] +#crate_type = ["cdylib"] [dependencies] jni = "0.19.0" diff --git a/Cross.toml b/Cross.toml index 46c067b..1972f84 100644 --- a/Cross.toml +++ b/Cross.toml @@ -1,4 +1,4 @@ [target.x86_64-apple-darwin.dockerfile] file = "./cross-toolchains/docker/Dockerfile.x86_64-apple-darwin-cross" -[target.aarch64-apple-darwin] +[target.aarch64-apple-darwin.dockerfile] file = "./cross-toolchains/docker/Dockerfile.aarch64-apple-darwin-cross" \ No newline at end of file diff --git a/cross.sh b/cross.sh index d6c9a9b..dc87006 100755 --- a/cross.sh +++ b/cross.sh @@ -8,6 +8,9 @@ cd "${PROJECT_DIR}" || exit 1 # install cross cargo install cross +cargo install cargo-crate-type + +cargo crate-type cdylib # x86_64-unknown-linux-gnu echo "compiling for x86_64-unknown-linux-gnu" @@ -44,7 +47,6 @@ cross build --release --target aarch64-apple-darwin ls -la target/x86_64-apple-darwin/release cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-arm64.dylib -cargo install cargo-crate-type cargo crate-type dylib # x86_64-unknown-linux-musl From 72504c913e6651adf7e639c8bca00f84a64eb9c3 Mon Sep 17 00:00:00 2001 From: doki Date: Sun, 10 Jul 2022 16:27:56 +0800 Subject: [PATCH 45/46] update --- Cargo.toml | 2 +- cross.sh | 9 ++------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 7e79fa5..4e88491 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,7 +24,7 @@ edition = "2021" keywords = [ "prql", "sql" ] [lib] -#crate_type = ["cdylib"] +crate_type = ["cdylib"] [dependencies] jni = "0.19.0" diff --git a/cross.sh b/cross.sh index dc87006..805c897 100755 --- a/cross.sh +++ b/cross.sh @@ -8,9 +8,6 @@ cd "${PROJECT_DIR}" || exit 1 # install cross cargo install cross -cargo install cargo-crate-type - -cargo crate-type cdylib # x86_64-unknown-linux-gnu echo "compiling for x86_64-unknown-linux-gnu" @@ -47,19 +44,17 @@ cross build --release --target aarch64-apple-darwin ls -la target/x86_64-apple-darwin/release cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources/libprql4j-osx-arm64.dylib -cargo crate-type dylib - # x86_64-unknown-linux-musl echo "compiling for x86_64-unknown-linux-musl" rustup target add x86_64-unknown-linux-musl -cross build --release --target x86_64-unknown-linux-musl +cross rustc -- --crate-type=dylib --release --target x86_64-unknown-linux-musl ls -la target/x86_64-unknown-linux-musl/release cp target/x86_64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux64-musl.so # aarch64-unknown-linux-musl echo "compiling for aarch64-unknown-linux-musl" rustup target add aarch64-unknown-linux-musl -cross build --release --target aarch64-unknown-linux-musl +cross rustc -- --crate-type=dylib --release --target aarch64-unknown-linux-musl ls -la target/aarch64-unknown-linux-musl/release cp -f target/aarch64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64-musl.so From a3b5389073dcca133579a304c4a535e55e0c3829 Mon Sep 17 00:00:00 2001 From: doki Date: Sun, 10 Jul 2022 16:50:43 +0800 Subject: [PATCH 46/46] update --- cross.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cross.sh b/cross.sh index 805c897..8ab28f0 100755 --- a/cross.sh +++ b/cross.sh @@ -47,14 +47,14 @@ cp -f target/x86_64-apple-darwin/release/libprql4j.dylib java/src/main/resources # x86_64-unknown-linux-musl echo "compiling for x86_64-unknown-linux-musl" rustup target add x86_64-unknown-linux-musl -cross rustc -- --crate-type=dylib --release --target x86_64-unknown-linux-musl +cross rustc --release --target x86_64-unknown-linux-musl -- --crate-type=dylib ls -la target/x86_64-unknown-linux-musl/release cp target/x86_64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux64-musl.so # aarch64-unknown-linux-musl echo "compiling for aarch64-unknown-linux-musl" rustup target add aarch64-unknown-linux-musl -cross rustc -- --crate-type=dylib --release --target aarch64-unknown-linux-musl +cross rustc --release --target aarch64-unknown-linux-musl -- --crate-type=dylib ls -la target/aarch64-unknown-linux-musl/release cp -f target/aarch64-unknown-linux-musl/release/libprql4j.so java/src/main/resources/libprql4j-linux-aarch64-musl.so