diff --git a/build/build_release.sh b/build/build_release.sh index b9776a6..794918e 100755 --- a/build/build_release.sh +++ b/build/build_release.sh @@ -6,6 +6,7 @@ declare -A git_repo_arr git_repo_arr[cvttpy]=git@cloud21.cvtt.vpn:/opt/store/git/cvttpy.git git_repo_arr[ops]=git@cloud21.cvtt.vpn:/opt/store/git/ops.git git_repo_arr[research]=git@cloud21.cvtt.vpn:/opt/store/git/research.git +git_repo_arr[cvtt-rust]=git@cloud21.cvtt.vpn:/opt/store/git/cvtt2/cvtt-rust.git dist_root=/home/cvttdist/software/cvtt2 dist_user=cvttdist @@ -48,13 +49,29 @@ while getopts ":p:b:i" opt; do done # ---------------- cmdline -function confirm { +confirm() { if [ "${interactive}" == "Y" ]; then echo "--------------------------------" echo -n "Press to continue" && read fi } +rust_binaries() { + res=() + for binname in $(cargo metadata --no-deps --format-version 1 | jq -r '.packages[].targets[] | select(.kind | index("bin")) | .name'); do + res+=("${binname}") + done + echo "${res[@]}" +} + +rust_libraries() { + res=() + for libname in $(cargo metadata --no-deps --format-version 1 | jq -r '.packages[].targets[] | select(.kind | index("lib")) | .name'); do + res+=("lib${libname}.rlib") + done + echo "${res[@]}" +} + if [ "${interactive}" == "Y" ]; then echo -n "Enter project [${prj}]: " read project @@ -149,6 +166,29 @@ cmd_arr+=("${Cmd}") Cmd="rm -rf .git" cmd_arr+=("${Cmd}") +SourceLoc=../${project} +if [ "${project}" == "cvtt-rust" ]; then + + Cmd="cd ${dist_root}/${project}/" + cmd_arr+=("${Cmd}") + # cmd_arr+=("cargo build") + cmd_arr+=("cargo build --release") + cmd_arr+=("mkdir -p ./dist/release") + pushd ${dist_root}/${project}/ + rust_bins=$(rust_binaries) + rust_libs=$(rust_libraries) + popd + for bin in ${rust_bins[@]}; do + cmd_arr+=("cp target/release/${bin} ./dist/release") + done + for lb in ${rust_libs[@]}; do + cmd_arr+=("cp target/release/${lb} ./dist/release") + done + cmd_arr+=("cp release_version.txt ./dist/release") + + SourceLoc=../${project}/dist/release +fi + dist_path="${dist_root}/${project}/${release_version}" for dist_loc in ${dist_locations}; do @@ -156,9 +196,9 @@ for dist_loc in ${dist_locations}; do dist_host=${dhp[0]} dist_port=${dhp[1]} Cmd="rsync -avzh" - Cmd="${Cmd} --rsync-path=\"mkdir -p ${dist_path} && rsync\"" - Cmd="${Cmd} -e \"ssh -p ${dist_ssh_port}\"" - Cmd="${Cmd} ../${project} ${dist_user}@${dist_host}:${dist_path}/" + Cmd="${Cmd} --rsync-path=\"mkdir -p ${dist_path}" + Cmd="${Cmd} && rsync\" -e \"ssh -p ${dist_ssh_port}\"" + Cmd="${Cmd} $SourceLoc ${dist_user}@${dist_host}:${dist_path}/" cmd_arr+=("${Cmd}") done @@ -179,8 +219,4 @@ do pwd && echo ${cmd} && eval ${cmd} done -echo "PROJECT ${project} **** P U L L N E W T A G S F R O M o r i g i n ****" -echo "----" -echo "(cd ${project}; git pull --tags; git pushall)" -echo "----" echo "$0 Done ${project} ${release_version}" diff --git a/release_version.txt b/release_version.txt index 3025b46..e69550c 100644 --- a/release_version.txt +++ b/release_version.txt @@ -1 +1 @@ -1.7.8,case insensitive to_check parameter host and services avalability check +1.7.9,build for cvtt-rust