From 7d5748cb0dfa132dc1fb58008dd2fc1ffea7cd43 Mon Sep 17 00:00:00 2001 From: Olivier Martin Date: Wed, 21 Feb 2024 00:00:12 +0100 Subject: [PATCH] ci: Script to generate Python package --- ci/generate-python-package.sh | 53 +++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100755 ci/generate-python-package.sh diff --git a/ci/generate-python-package.sh b/ci/generate-python-package.sh new file mode 100755 index 0000000..217f862 --- /dev/null +++ b/ci/generate-python-package.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +# Exit immediately if a command exits with a non-zero status. +set -e + +# Retrieve path of current script +SCRIPT_PATH=`dirname "$0"` +SCRIPT_PATH=`( cd "$SCRIPT_PATH" && pwd )` +ROOT_PATH=`( cd "$SCRIPT_PATH/.." && pwd )` + +gattlib_py_package_dir=$(mktemp -d -p $PWD -t gattlib-py-package-XXXXXXXXXX) + +# Python code +cp -r ${ROOT_PATH}/gattlib-py/gattlib ${gattlib_py_package_dir}/ +cp -r ${ROOT_PATH}/gattlib-py/setup.py ${gattlib_py_package_dir}/ +cp -r ${ROOT_PATH}/gattlib-py/README.md ${gattlib_py_package_dir}/ + +# Native code +cp -r ${ROOT_PATH}/common ${gattlib_py_package_dir}/ +cp -r ${ROOT_PATH}/bluez ${gattlib_py_package_dir}/ +cp -r ${ROOT_PATH}/dbus ${gattlib_py_package_dir}/ +cp -r ${ROOT_PATH}/include ${gattlib_py_package_dir}/ +cp -r ${ROOT_PATH}/CMakeLists.txt ${gattlib_py_package_dir}/ +cp -r ${ROOT_PATH}/CrossCompilation.cmake ${gattlib_py_package_dir}/ + +# Create MANIFEST.in +cat <> MANIFEST.in +graft common +graft bluez +graft dbus +graft include +include CMakeLists.txt +include CrossCompilation.cmake +EOT + +# Install requirements +python3 -m pip install wheel + +# Generate packages +pushd ${gattlib_py_package_dir} + +# Binary package +python3 setup.py bdist_wheel +# Source package +python setup.py sdist + +# Move generated artifact to project root path +ls dist/* +mv dist/* ${ROOT_PATH} + +popd + +rm -Rf ${gattlib_py_package_dir}