From 804dcc1c981137944fdeab0efb7208f87b41498c Mon Sep 17 00:00:00 2001 From: Sebastian Spaink <3441183+sspaink@users.noreply.github.com> Date: Thu, 10 Apr 2025 07:41:59 -0500 Subject: [PATCH] feat: add version and icon to opa_windows_amd64.exe (#7501) Signed-off-by: sspaink Co-authored-by: Philip Conrad --- .gitignore | 3 +++ Makefile | 3 +++ build/gen-windows-versioninfo.sh | 26 ++++++++++++++++++++++++++ logo/logo.ico | Bin 0 -> 8380 bytes main_windows.go | 5 +++++ 5 files changed, 37 insertions(+) create mode 100755 build/gen-windows-versioninfo.sh create mode 100644 logo/logo.ico create mode 100644 main_windows.go diff --git a/.gitignore b/.gitignore index c4660c508d..ab9c6a2d37 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,6 @@ man # generated when running local website build docs/website/.hugo_build.lock docs/website/data/versions + +# generated when building windows binary to add icon and product version +resource.syso \ No newline at end of file diff --git a/Makefile b/Makefile index 1f7d535c48..8a045a8edc 100644 --- a/Makefile +++ b/Makefile @@ -97,6 +97,9 @@ release-dir: .PHONY: generate generate: wasm-lib-build +ifeq ($(GOOS),windows) + GOOS=$(shell go env GOOS) GOARCH=$(shell go env GOARCH) go install github.com/josephspurrier/goversioninfo/cmd/goversioninfo@v1.5.0 +endif $(GO) generate .PHONY: build diff --git a/build/gen-windows-versioninfo.sh b/build/gen-windows-versioninfo.sh new file mode 100755 index 0000000000..17a894d878 --- /dev/null +++ b/build/gen-windows-versioninfo.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# Run goversioninfo to generate the resource.syso to embed version info. +set -eux + +NAME="Open Policy Agent (OPA)" +VERSION=$(./build/get-build-version.sh) +FLAGS=() + +# If building for arm64, then include the extra flags required. +if [ -n "${1+x}" ] && [ "$1" = "arm64" ]; then + FLAGS=(-arm -64) +fi + +if ! command -v goversioninfo &> /dev/null; then + # If goversioninfo isn't on the path, print an error message + echo "Error: goversioninfo command not found" >&2 + exit 1 +fi + +goversioninfo "${FLAGS[@]}" \ + -product-name "$NAME" \ + -product-version "$VERSION" \ + -skip-versioninfo \ + -icon=logo/logo.ico \ + -64=true \ + -o resource.syso \ No newline at end of file diff --git a/logo/logo.ico b/logo/logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..4f92c9b036228b0de1a5e2cc97614d2df5ff5bf8 GIT binary patch literal 8380 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 literal 0 HcmV?d00001 diff --git a/main_windows.go b/main_windows.go new file mode 100644 index 0000000000..4cdc9ff211 --- /dev/null +++ b/main_windows.go @@ -0,0 +1,5 @@ +//go:build windows + +//go:generate build/gen-windows-versioninfo.sh $GOARCH + +package main