diff --git a/Taskfile_library.yaml b/Taskfile_library.yaml index ebc6041..95aed9f 100644 --- a/Taskfile_library.yaml +++ b/Taskfile_library.yaml @@ -34,6 +34,12 @@ vars: VERSION: sh: 'PROJECT_ROOT="{{.ROOT_DIR2}}" {{.TASKFILE_DIR2}}/get-version.sh' + GIT_TREE_STATE: + sh: 'git diff --quiet && echo "clean" || echo "dirty"' + GIT_COMMIT: + sh: 'git rev-parse --verify HEAD || echo "unknown"' + BUILD_DATE: + sh: 'date -u +%Y-%m-%dT%H:%M:%SZ || echo "unknown"' OS: sh: echo ${OS:-$(go env GOOS)} IMAGE_OS: @@ -45,6 +51,7 @@ vars: NESTED_MODULES: '{{.NESTED_MODULES | default "" }}' DOCKERFILE: '{{.DOCKERFILE | default (print .TASKFILE_DIR2 "/Dockerfile") }}' + LOCALBIN: '{{ env "LOCALBIN" | default ( .LOCALBIN | default (print .ROOT_DIR2 "/bin") ) }}' LOCALTMP: '{{ env "LOCALTMP" | default ( .LOCALTMP | default (print .ROOT_DIR2 "/tmp") ) }}' CONTROLLER_GEN: '{{ .CONTROLLER_GEN | default (print .LOCALBIN "/controller-gen") }}' diff --git a/tasks_build_bin.yaml b/tasks_build_bin.yaml index 1abf766..12377dc 100644 --- a/tasks_build_bin.yaml +++ b/tasks_build_bin.yaml @@ -49,11 +49,16 @@ tasks: - COMPONENTS - OS - ARCH + - VERSION + - GIT_TREE_STATE + - GIT_COMMIT + - BUILD_DATE + - MODULE_NAME cmds: - for: var: COMPONENTS as: COMPONENT - cmd: 'CGO_ENABLED=0 GOOS={{.OS}} GOARCH={{.ARCH}} go build -a -o {{.ROOT_DIR2}}/bin/{{.COMPONENT}}.{{.OS}}-{{.ARCH}} {{.ROOT_DIR2}}/cmd/{{.COMPONENT}}/main.go' + cmd: 'CGO_ENABLED=0 GOOS={{.OS}} GOARCH={{.ARCH}} go build -a -ldflags="-X {{.MODULE_NAME}}/internal/version.buildVersion={{.VERSION}} -X {{.MODULE_NAME}}/internal/version.gitTreeState={{.GIT_TREE_STATE}} -X {{.MODULE_NAME}}/internal/version.gitCommit={{.GIT_COMMIT}} -X {{.MODULE_NAME}}/internal/version.buildDate={{.BUILD_DATE}}" -o {{.ROOT_DIR2}}/bin/{{.COMPONENT}}.{{.OS}}-{{.ARCH}} {{.ROOT_DIR2}}/cmd/{{.COMPONENT}}/main.go' build-multi-raw: desc: " Build multi-platform binaries. Skips code generation/validation tasks."