mirror of
				https://github.com/TeaOSLab/EdgeAPI.git
				synced 2025-11-04 07:43:03 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			888 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			888 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
function build() {
 | 
						|
	ROOT=$(dirname "$0")
 | 
						|
 | 
						|
	OS="${1}"
 | 
						|
	ARCH="${2}"
 | 
						|
	TAG="${3}"
 | 
						|
 | 
						|
	if [ -z "$OS" ]; then
 | 
						|
		echo "usage: build.sh OS ARCH"
 | 
						|
		exit
 | 
						|
	fi
 | 
						|
 | 
						|
	if [ -z "$ARCH" ]; then
 | 
						|
		echo "usage: build.sh OS ARCH"
 | 
						|
		exit
 | 
						|
	fi
 | 
						|
 | 
						|
	VERSION=$(lookup_version "${ROOT}/../../internal/const/const.go")
 | 
						|
	TARGET_NAME="edge-instance-installer-${OS}-${ARCH}-v${VERSION}"
 | 
						|
 | 
						|
	env GOOS=linux GOARCH="${ARCH}" go build -tags="${TAG}" -trimpath -ldflags="-s -w" -o "${TARGET_NAME}" main.go
 | 
						|
 | 
						|
	if [ -f "${TARGET_NAME}" ]; then
 | 
						|
		cp "${TARGET_NAME}" "${ROOT}/../../../EdgeAdmin/docker/instance/edge-instance/assets"
 | 
						|
	fi
 | 
						|
 | 
						|
	echo "[done]"
 | 
						|
}
 | 
						|
 | 
						|
function lookup_version() {
 | 
						|
	FILE=$1
 | 
						|
	VERSION_DATA=$(cat "$FILE")
 | 
						|
	re="Version[ ]+=[ ]+\"([0-9.]+)\""
 | 
						|
	if [[ $VERSION_DATA =~ $re ]]; then
 | 
						|
		VERSION=${BASH_REMATCH[1]}
 | 
						|
		echo "$VERSION"
 | 
						|
	else
 | 
						|
		echo "could not match version"
 | 
						|
		exit
 | 
						|
	fi
 | 
						|
}
 | 
						|
 | 
						|
build "$1" "$2" "$3" |