Created
May 11, 2023 10:08
-
-
Save zhiyue/22083f2ad88afc2ed483d36f2734fd05 to your computer and use it in GitHub Desktop.
bash to bat
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@echo off | |
setlocal EnableDelayedExpansion | |
set process_name=%1 | |
cd %process_name% | |
call :compile | |
call :make_output | |
echo [build done!] | |
exit /b 0 | |
:compile | |
%GOROOT%\bin\go vet .\... | |
set CGO_ENABLED=0 | |
set GOOS=linux | |
set GOARCH=amd64 | |
set GO111MODULE=auto | |
%GOROOT%\bin\go build -o %process_name% | |
exit /b | |
:make_output | |
if "%process_name%"=="crawlerServer" ( | |
call :compile | |
cd .. | |
mkdir output | |
mkdir output\bin | |
mkdir output\data | |
mkdir output\lib | |
mkdir output\log | |
mkdir output\testDoc | |
mkdir output\unittest | |
mkdir output\third_party | |
mkdir output\conf | |
copy %process_name%\%process_name% output\bin | |
copy %process_name%\input.json output | |
) else ( | |
call :compile | |
cd .. | |
rmdir /s /q output | |
mkdir output | |
mkdir output\bin | |
mkdir output\data | |
mkdir output\lib | |
mkdir output\log | |
mkdir output\testDoc | |
mkdir output\unittest | |
mkdir output\conf | |
copy %process_name%\%process_name% output\bin | |
copy conf\conf.ini output\conf | |
) | |
exit /b |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# 有错误立即停止 | |
set -e | |
# 详细打印执行的命令 | |
set -x | |
process_name=$1 | |
cd ${process_name} | |
function compile() { | |
${GOROOT}/bin/go vet ./... | |
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=auto ${GOROOT}/bin/go build -o ${process_name} | |
} | |
function make_output() { | |
# 如果 process_name 是 crawlerServer 则会执行下面的命令 | |
if [ ${process_name} = "crawlerServer" ]; then | |
( | |
compile && | |
cd - && | |
# rm -rf output && | |
mkdir -p output && | |
mkdir -p output/bin && | |
mkdir -p output/data && | |
mkdir -p output/lib && | |
mkdir -p output/log && | |
mkdir -p output/testDoc && | |
mkdir -p output/unittest && | |
mkdir -p output/third_party && | |
mkdir -p output/conf && | |
# cp -r third_party/crawler-google-places output/third_party/crawler-google-places && | |
cp ${process_name}/${process_name} output/bin && | |
cp ${process_name}/input.json output/ | |
# cp conf/conf.ini output/conf/ | |
) || { echo "[make output error]"; exit 1; } | |
else | |
( | |
compile && | |
cd - && | |
rm -rf output && | |
mkdir -p output && | |
mkdir -p output/bin && | |
mkdir -p output/data && | |
mkdir -p output/lib && | |
mkdir -p output/log && | |
mkdir -p output/testDoc && | |
mkdir -p output/unittest && | |
mkdir -p output/conf && | |
cp ${process_name}/${process_name} output/bin && | |
cp conf/conf.ini output/conf/ | |
) || { echo "[make output error]"; exit 1; } | |
fi | |
} | |
make_output | |
echo "[build done!]" | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment