feat: custom go-builder-fast with prebuilt stdlib for plugin mode
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
set -eux
|
||||
|
||||
srcDir=${GOPATH}/src/$(basename ${SRC_PKG})
|
||||
trap "rm -rf ${srcDir}" EXIT
|
||||
|
||||
version_ge() { test "$(echo "$@" | tr " " "\n" | sort -rV | head -n 1)" == "$1"; }
|
||||
|
||||
if [ -d ${SRC_PKG} ]; then
|
||||
echo "Building in directory ${srcDir}"
|
||||
ln -sf ${SRC_PKG} ${srcDir}
|
||||
elif [ -f ${SRC_PKG} ]; then
|
||||
echo "Building file ${SRC_PKG} in ${srcDir}"
|
||||
mkdir -p ${srcDir}
|
||||
cp ${SRC_PKG} ${srcDir}/function.go
|
||||
fi
|
||||
|
||||
cd ${srcDir}
|
||||
|
||||
if [ -f "go.mod" ]; then
|
||||
go mod download
|
||||
else
|
||||
export GO111MODULE="on"
|
||||
go mod init
|
||||
go mod tidy
|
||||
fi
|
||||
|
||||
GOFLAGS="-buildmode=plugin"
|
||||
|
||||
if [ -d "vendor" ] && version_ge ${GOLANG_VERSION} "1.12"; then
|
||||
GOFLAGS="${GOFLAGS} -mod=vendor"
|
||||
fi
|
||||
|
||||
go build ${GOFLAGS} -o ${DEPLOY_PKG} .
|
||||
Reference in New Issue
Block a user