| #!/bin/sh |
| |
| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| function Help() |
| { |
| echo "=========================================Package============================================" |
| echo "sh package.sh [shared]" |
| echo "usage: sh package.sh shared" |
| echo "shared: build python client by dynamic boost python and rocketmq library" |
| echo "default: build python client by static boost python and rocketmq library" |
| echo "=========================================Package============================================" |
| echo "" |
| } |
| |
| if [ $# -gt 0 ];then |
| if [ "$1" != "shared" ];then |
| #echo "unsupport para value $1, please see the help" |
| Help |
| exit 1 |
| fi |
| fi |
| |
| PACKAGE="rocketmq-client-python" |
| VERSION=$(cat src/PythonWrapper.h | grep PYTHON_CLIENT_VERSION | cut -f2 -d"\"") |
| CWD_DIR=$(cd "$(dirname "$0")"; pwd) |
| DEPLOY_BUILD_HOME=${CWD_DIR}/${PACKAGE} |
| |
| # ##==================================================================== |
| #make |
| rm -rf ${CWD_DIR}/tmpbuild |
| mkdir -p ${CWD_DIR}/tmpbuild |
| cd ${CWD_DIR}/tmpbuild |
| if [ "$1" = "shared" ]; then |
| echo "------------Build Client using dynamic library------------" |
| cmake ${CWD_DIR} -DBoost_USE_STATIC_LIBS=OFF -DROCKETMQ_USE_STATIC_LIBS=OFF |
| RMQ=$(cat CMakeCache.txt | grep ROCKETMQ_LIBRARIES:FILEPATH= | cut -f2 -d "=") |
| echo "Rocketmq Library:${RMQ}" |
| else |
| echo "-------------Build Client using static library-------------" |
| cmake ${CWD_DIR} -DBoost_USE_STATIC_LIBS=ON -DROCKETMQ_USE_STATIC_LIBS=ON |
| fi |
| if [ $? -ne 0 ];then |
| exit 1 |
| fi |
| make |
| if [ $? -ne 0 ];then |
| exit 1 |
| fi |
| cd ${CWD_DIR} |
| # ##==================================================================== |
| # # deploy |
| echo "Package Library...." |
| rm -rf ${DEPLOY_BUILD_HOME} |
| mkdir -p ${DEPLOY_BUILD_HOME}/lib |
| if [ "$1" = "shared" ];then |
| echo "Copy librocketmq to package...." |
| cp -rf ${RMQ} ${DEPLOY_BUILD_HOME}/lib/ |
| #cp -rf /usr/local/lib/libboost_python.*.so.* ${DEPLOY_BUILD_HOME}/lib/ |
| fi |
| cp -rf ${CWD_DIR}/bin/*.so ${DEPLOY_BUILD_HOME}/lib/ |
| cp -rf ${CWD_DIR}/sample ${DEPLOY_BUILD_HOME}/ |
| cp -rf ${CWD_DIR}/doc ${DEPLOY_BUILD_HOME}/ |
| cp -rf ${CWD_DIR}/changelog ${DEPLOY_BUILD_HOME}/ |
| |
| |
| cd ${CWD_DIR} && tar -cvzf ./${PACKAGE}-${VERSION}.tar.gz ./${PACKAGE} >/dev/null 2>&1 |
| rm -rf ${DEPLOY_BUILD_HOME} |
| # # ##==================================================================== |
| cd ${CWD_DIR}/tmpbuild |
| make clean |
| cd ${CWD_DIR} |
| rm -rf ${CWD_DIR}/tmpbuild |