#!/bin/bash ARG_COUNT=$# #echo $ARG_COUNT if [ $ARG_COUNT -lt 1 ]; then echo "Usage example: ./run.sh com/netsdk/demo/customize/ConfigDemo" exit 1 fi #echo "--> params: "$1 $2 # if [ "$1" != "-example" -a "$1" != "-snippet" -a "$1" != "-event" ]; then # echo "The first param must be -example or -snippet or -event" # exit 1 # fi #linux下是在src下编译运行的, # shellcheck disable=SC2164 cd ./src #编译 引入需要的依赖的jar以及java文件,以及运行文件 CP+=../resources/jna.jar: CP+=../resources/gson-2.6.2.jar: CP+=../resources/fastjson-1.2.70.jar: CP+=../resources/INetSDK.jar: CP+=../resources/dynamic-lib-load.xml: os=`uname -a` ##指定库的路径 加入动态链接库 #if [[ $os =~ "Darwin" ]]; then # CP+=:../libs/mac64 # echo "--> mac 64 System" #elif [ $(getconf LONG_BIT) = '64' ]; then # echo "--> linux 64 System." # export LD_LIBRARY_PATH=../resources/linux64 #else # echo "--> linux 32 System." # export LD_LIBRARY_PATH=../libs/linux32 #fi echo "--> ClassPath: $CP" # SRC_LIB=com/netsdk/lib/*.java # SRC_EXAMPLE=com/netsdk/demo/example/*.java # SRC_SNIPPET=com/netsdk/demo/snippet/*.java # SRC_EVENT=com/netsdk/demo/event/*.java # SRC_UTIL=com/netsdk/demo/util/*.java SOURCELIST=./sources.list if [ -d $SOURCELIST ]; then rm -rf ./sources.list fi find . -name "*.java" > ./sources.list BIN+=../bin echo "--> Bin $BIN" #clear bin rm -rf $BIN if [ ! -d $BIN ]; then echo "Create $BIN." mkdir $BIN fi #copy source to bin if [[ $os =~ "Darwin" ]]; then #CP+=:../libs/mac64 echo "--> mac 64 System" cp -r ../resources/mac64 $BIN/mac64 elif [ $(getconf LONG_BIT) = '64' ]; then echo "--> linux 64 System." #export LD_LIBRARY_PATH=../resources/linux64 cp -r ../resources/linux64 $BIN/linux64 else echo "--> linux 32 System." #export LD_LIBRARY_PATH=../libs/linux32 cp -r ../resources/linux32 $BIN/linux32 fi cp ../resources/dynamic-lib-load.xml $BIN/dynamic-lib-load.xml #javac -cp $CP $SRC_LIB $SRC_EXAMPLE $SRC_SNIPPET $SRC_EVENT $SRC_UTIL -d $BIN javac -d $BIN -encoding UTF-8 -cp $CP -g -sourcepath ./ @./sources.list #运行 cd ../bin echo "--> path:" pwd #if [ "$1" == "-example" ]; then #DEMO=com/netsdk/demo/example/$2 #echo "--> example name: $DEMO" #elif [ "$1" == "-snippet" ]; then #DEMO=com/netsdk/demo/snippet/$2 #echo "--> snippet name: $DEMO" #elif [ "$1" == "-event" ]; then #DEMO=com/netsdk/demo/event/$2 #echo "--> name: $DEMO" #fi java -cp $CP:. $1 cd -