From ff4c5e9bc69287781229118a48ddb9e7307a28d3 Mon Sep 17 00:00:00 2001 From: zongz Date: Thu, 5 Dec 2024 15:09:53 +0800 Subject: [PATCH 1/6] fix: add fix error message in Error thrown by API Signed-off-by: zongz --- java/src/main/java/com/kcl/api/API.java | 7 +++++-- java/src/test/java/com/kcl/ExecProgramTest.java | 12 ++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/java/src/main/java/com/kcl/api/API.java b/java/src/main/java/com/kcl/api/API.java index a0bae6e9..b7845998 100644 --- a/java/src/main/java/com/kcl/api/API.java +++ b/java/src/main/java/com/kcl/api/API.java @@ -5,6 +5,7 @@ import java.io.InputStream; import java.io.UncheckedIOException; import java.util.Map; +import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.StandardCopyOption; @@ -651,7 +652,8 @@ public GetVersion_Result getVersion(GetVersion_Args args) throws Exception { private byte[] call(String name, byte[] args) throws Exception { byte[] result = callNative(name.getBytes(), args); if (result != null && startsWith(result, ERROR_PREFIX)) { - throw new java.lang.Error(result.toString().substring(ERROR_PREFIX.length()).trim()); + String resultString = new String(result, StandardCharsets.UTF_8); + throw new Exception(resultString.substring(ERROR_PREFIX.length()).trim()); } return result; } @@ -659,7 +661,8 @@ private byte[] call(String name, byte[] args) throws Exception { private byte[] callLoadPackageWithCache(byte[] args) throws Exception { byte[] result = loadPackageWithCache(args); if (result != null && startsWith(result, ERROR_PREFIX)) { - throw new java.lang.Error(result.toString().substring(ERROR_PREFIX.length()).trim()); + String resultString = new String(result, StandardCharsets.UTF_8); + throw new Exception(resultString.substring(ERROR_PREFIX.length()).trim()); } return result; } diff --git a/java/src/test/java/com/kcl/ExecProgramTest.java b/java/src/test/java/com/kcl/ExecProgramTest.java index 1306dde2..e05cc2bd 100644 --- a/java/src/test/java/com/kcl/ExecProgramTest.java +++ b/java/src/test/java/com/kcl/ExecProgramTest.java @@ -19,4 +19,16 @@ public void testExecProgramApi() throws Exception { ExecProgram_Result result = apiInstance.execProgram(args); Assert.assertEquals(result.getYamlResult(), "app:\n" + " replicas: 2"); } + + @Test + public void testExecProgramApiInvalid() { + try { + ExecProgram_Args args = ExecProgram_Args.newBuilder().build(); + + API apiInstance = new API(); + apiInstance.execProgram(args); + } catch (Exception e) { + Assert.assertEquals(e.getMessage(), "No input KCL files or paths"); + } + } } From 957e88954958bb18b0093506ffd88bd1e7cc26b3 Mon Sep 17 00:00:00 2001 From: zongz Date: Thu, 5 Dec 2024 15:15:51 +0800 Subject: [PATCH 2/6] fix: bump kcl version to fix ci Signed-off-by: zongz --- java/Cargo.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/java/Cargo.toml b/java/Cargo.toml index 4f5014e7..dc996b7c 100644 --- a/java/Cargo.toml +++ b/java/Cargo.toml @@ -18,6 +18,6 @@ serde = { version = "1", features = ["derive"] } once_cell = "1.19.0" lazy_static = "1.4.0" -kclvm-parser = { git = "https://github.com/kcl-lang/kcl", version = "0.10.8" } -kclvm-sema = { git = "https://github.com/kcl-lang/kcl", version = "0.10.8" } -kclvm-api = { git = "https://github.com/kcl-lang/kcl", version = "0.10.8" } +kclvm-parser = { git = "https://github.com/kcl-lang/kcl", version = "0.11.0-alpha.1" } +kclvm-sema = { git = "https://github.com/kcl-lang/kcl", version = "0.11.0-alpha.1" } +kclvm-api = { git = "https://github.com/kcl-lang/kcl", version = "0.11.0-alpha.1" } From 1eeedac51102d10f4f0d9dd6aaf4dc34243660e8 Mon Sep 17 00:00:00 2001 From: zongz Date: Thu, 5 Dec 2024 15:56:12 +0800 Subject: [PATCH 3/6] fix: fix centos7 ci Signed-off-by: zongz --- .github/workflows/java-test.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/java-test.yaml b/.github/workflows/java-test.yaml index ad9fd822..faa0e618 100644 --- a/.github/workflows/java-test.yaml +++ b/.github/workflows/java-test.yaml @@ -100,6 +100,8 @@ jobs: needs: [ test-and-build ] env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true + ACTIONS_RUNNER_FORCED_INTERNAL_NODE_VERSION: node16 + ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16 steps: - name: Checkout uses: actions/checkout@v3 From c036c463f26e091402045813abc042a812d4348b Mon Sep 17 00:00:00 2001 From: zongz Date: Thu, 5 Dec 2024 16:41:46 +0800 Subject: [PATCH 4/6] fix: fix centos7 github action Signed-off-by: zongz --- .github/workflows/java-test.yaml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/workflows/java-test.yaml b/.github/workflows/java-test.yaml index faa0e618..6692fea1 100644 --- a/.github/workflows/java-test.yaml +++ b/.github/workflows/java-test.yaml @@ -90,9 +90,7 @@ jobs: java/target/classes/native build-centos7: - runs-on: ubuntu-latest - container: - image: "kcllang/kcl-java-builder-centos7:0.1.0" + runs-on: ubuntu-20.04 permissions: contents: read @@ -100,8 +98,6 @@ jobs: needs: [ test-and-build ] env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true - ACTIONS_RUNNER_FORCED_INTERNAL_NODE_VERSION: node16 - ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16 steps: - name: Checkout uses: actions/checkout@v3 @@ -130,10 +126,12 @@ jobs: name: kcl-lib-osx-aarch_64 path: java/native - - name: Package Java artifact - working-directory: java + - name: Run tests and package in CentOS 7 container run: | - rustup default stable && mvn package -DskipTests=true -Dcargo-build.profile=release + docker run --rm -v ${{ github.workspace }}:/work kcllang/kcl-java-builder-centos7:0.1.0 bash -c " + rustup default stable && + mvn package -DskipTests=true -Dcargo-build.profile=release + " - name: Upload artifact uses: actions/upload-artifact@v3 From 3bf90510deeeb540ecb70bc15db1e6d82d4157ac Mon Sep 17 00:00:00 2001 From: zongz Date: Thu, 5 Dec 2024 17:01:19 +0800 Subject: [PATCH 5/6] fix: fix wrong path in step 'build-centos7' Signed-off-by: zongz --- .github/workflows/java-test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/java-test.yaml b/.github/workflows/java-test.yaml index 6692fea1..4937866b 100644 --- a/.github/workflows/java-test.yaml +++ b/.github/workflows/java-test.yaml @@ -128,7 +128,7 @@ jobs: - name: Run tests and package in CentOS 7 container run: | - docker run --rm -v ${{ github.workspace }}:/work kcllang/kcl-java-builder-centos7:0.1.0 bash -c " + docker run --rm -v ${{ github.workspace }}/java:/work kcllang/kcl-java-builder-centos7:0.1.0 bash -c " rustup default stable && mvn package -DskipTests=true -Dcargo-build.profile=release " From 8c1db80c3cc086472064aa08d9069d9b0a457084 Mon Sep 17 00:00:00 2001 From: zongz Date: Thu, 5 Dec 2024 17:22:23 +0800 Subject: [PATCH 6/6] fix: fix wrong path in step 'build-centos7' Signed-off-by: zongz --- .github/workflows/java-test.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/java-test.yaml b/.github/workflows/java-test.yaml index 4937866b..fadc5367 100644 --- a/.github/workflows/java-test.yaml +++ b/.github/workflows/java-test.yaml @@ -129,6 +129,7 @@ jobs: - name: Run tests and package in CentOS 7 container run: | docker run --rm -v ${{ github.workspace }}/java:/work kcllang/kcl-java-builder-centos7:0.1.0 bash -c " + cd /work && rustup default stable && mvn package -DskipTests=true -Dcargo-build.profile=release "