This is an automated email from the ASF dual-hosted git repository.

luchunliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new 171eb76a1c [INLONG-10913][SDK] Optimize the python sdk build script 
(#10917)
171eb76a1c is described below

commit 171eb76a1c5db7e17aaa7d24b9d1b5db9cb4c470
Author: yfsn666 <61183968+yfsn...@users.noreply.github.com>
AuthorDate: Tue Aug 27 16:04:07 2024 +0800

    [INLONG-10913][SDK] Optimize the python sdk build script (#10917)
---
 .../dataproxy-sdk-twins/dataproxy-sdk-python/build.sh    | 16 ++++++++++++++++
 .../dataproxy-sdk-python/requirements.txt                |  1 +
 2 files changed, 17 insertions(+)

diff --git a/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-python/build.sh 
b/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-python/build.sh
index f38f535dad..29759c6c9c 100755
--- a/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-python/build.sh
+++ b/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-python/build.sh
@@ -51,6 +51,15 @@ if [ "$(printf '%s\n' "$PYTHON_REQUIRED" "$PYTHON_VERSION" | 
sort -V | head -n1)
     exit 1
 fi
 
+# Install Python packages from requirements.txt
+if [ -f $PY_SDK_DIR/requirements.txt ]; then
+    echo "Installing Python packages from requirements.txt..."
+    pip install -r $PY_SDK_DIR/requirements.txt
+else
+    echo "Error: cannot find requirements.txt!"
+    exit 1
+fi
+
 # Build pybind11(If the pybind11 has been compiled, this step will be skipped)
 if [ ! -d "$PY_SDK_DIR/pybind11/build" ]; then
     if [ -d "$PY_SDK_DIR/pybind11" ]; then
@@ -58,9 +67,16 @@ if [ ! -d "$PY_SDK_DIR/pybind11/build" ]; then
     fi
     git clone https://github.com/pybind/pybind11.git $PY_SDK_DIR/pybind11
     mkdir $PY_SDK_DIR/pybind11/build && cd $PY_SDK_DIR/pybind11/build
+
+    # Add a trap command to delete the pybind11 folder if an error occurs
+    trap 'echo "Error occurred during pybind11 build. Deleting pybind11 
folder..."; cd $PY_SDK_DIR; rm -r pybind11; exit 1' ERR
+
     cmake $PY_SDK_DIR/pybind11
     cmake --build $PY_SDK_DIR/pybind11/build --config Release --target check
     make -j 4
+
+    # Remove the trap command if the build is successful
+    trap - ERR
 else
     echo "Skipped build pybind11"
 fi
diff --git 
a/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-python/requirements.txt 
b/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-python/requirements.txt
new file mode 100644
index 0000000000..e160152b52
--- /dev/null
+++ b/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-python/requirements.txt
@@ -0,0 +1 @@
+pytest>=7.1.2
\ No newline at end of file

Reply via email to