Initial commit
This commit is contained in:
50
script/dist
Executable file
50
script/dist
Executable file
@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
PROJECT_NAME=packer-opennebula
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
DIST_DIR="$DIR/../dist"
|
||||
|
||||
rm -rf "$DIST_DIR"
|
||||
mkdir -p "$DIST_DIR"
|
||||
|
||||
function build {
|
||||
local version=$(get_version)
|
||||
local dir_name="$PROJECT_NAME-${2}-${version}-${GOOS}-${GOARCH}${GOARM}"
|
||||
local dest_dir="$DIST_DIR/$dir_name"
|
||||
echo "Building $PROJECT_NAME for ${GOOS}-${GOARCH}${GOARM}..."
|
||||
mkdir "$dest_dir"
|
||||
go build -ldflags="-s -X 'main.projectVersion=${version}' -extldflags '-static'" \
|
||||
-o "$dest_dir/${PROJECT_NAME}-${2}${FILE_EXT}" \
|
||||
"${1}"
|
||||
wait
|
||||
cp "$DIR/../README.md" "$dest_dir/"
|
||||
echo "Creating $PROJECT_NAME archive for ${GOOS}-${GOARCH}${GOARM}..."
|
||||
( cd "$DIST_DIR" && tar -czf "$dir_name.tar.gz" "$dir_name" )
|
||||
wait
|
||||
}
|
||||
|
||||
function get_version {
|
||||
local tags=($(git tag -l --points-at HEAD))
|
||||
if [ ! -z "$tags" ]; then
|
||||
echo ${tags[0]}
|
||||
return
|
||||
fi
|
||||
latest_tag=$( ( git describe --abbrev=0 --tags 2>/dev/null || exit ) )
|
||||
local latest_branch_commit=$(git log --pretty=format:'%h' -n 1)
|
||||
echo "${latest_tag:-0.0.0}-dev+rev.$latest_branch_commit"
|
||||
}
|
||||
|
||||
dep ensure -v
|
||||
|
||||
export CGO_ENABLED=0
|
||||
export GO_EXTLINK_ENABLED=0
|
||||
|
||||
if [ -z "${GOOS}" ] && [ -z "${GOARCH}" ]; then
|
||||
FILE_EXT= GOOS=linux GOARCH=amd64 build ./cmd/post-processor/image-template post-processor-image-template
|
||||
FILE_EXT= GOOS=linux GOARCH=386 build ./cmd/post-processor/image-template post-processor-image-template
|
||||
FILE_EXT= GOOS=linux GOARCH=arm GOARM=7 build ./cmd/post-processor/image-template post-processor-image-template
|
||||
else
|
||||
build ./cmd/server ./cmd/post-processor/image-template post-processor-image-template
|
||||
fi
|
Reference in New Issue
Block a user