From deda716a15327f465548c1894f7bc98fe1113062 Mon Sep 17 00:00:00 2001 From: Sebastian Spaink <3441183+sspaink@users.noreply.github.com> Date: Wed, 26 Jan 2022 15:08:22 -0600 Subject: [PATCH] feat: add FileVersion and icon to Win exe (#10487) --- .circleci/config.yml | 5 +++ .gitignore | 2 ++ Makefile | 11 +++++++ assets/tiger.ico | Bin 0 -> 17598 bytes cmd/telegraf/telegraf_windows.go | 2 ++ scripts/generate_versioninfo/main.go | 46 +++++++++++++++++++++++++++ 6 files changed, 66 insertions(+) create mode 100644 assets/tiger.ico create mode 100644 scripts/generate_versioninfo/main.go diff --git a/.circleci/config.yml b/.circleci/config.yml index 7952b27d5..28379f1b5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -129,6 +129,11 @@ commands: - check-changed-files-or-halt - attach_workspace: at: '/go' + - when: + condition: + equal: [ windows, << parameters.type >> ] + steps: + - run: make versioninfo - when: condition: << parameters.nightly >> steps: diff --git a/.gitignore b/.gitignore index 614809d06..ec7f96954 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,5 @@ process.yml /.vscode /*.toml /*.conf +resource.syso +versioninfo.json diff --git a/Makefile b/Makefile index 5e9ff1c5e..8988a902f 100644 --- a/Makefile +++ b/Makefile @@ -99,6 +99,16 @@ help: deps: go mod download -x +.PHONY: version +version: + @echo $(version)-$(commit) + +.PHONY: versioninfo +versioninfo: + go install github.com/josephspurrier/goversioninfo/cmd/goversioninfo@v1.4.0; \ + go run scripts/generate_versioninfo/main.go; \ + go generate cmd/telegraf/telegraf_windows.go; \ + .PHONY: telegraf telegraf: go build -ldflags "$(LDFLAGS)" ./cmd/telegraf @@ -235,6 +245,7 @@ install: $(buildbin) # the bin between deb/rpm/tar packages over building directly into the package # directory. $(buildbin): + echo $(GOOS) @mkdir -pv $(dir $@) go build -o $(dir $@) -ldflags "$(LDFLAGS)" ./cmd/telegraf diff --git a/assets/tiger.ico b/assets/tiger.ico new file mode 100644 index 0000000000000000000000000000000000000000..a1b190cafe6b05cc0dbbafd9eb45ca1328e54016 GIT binary patch literal 17598 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 kmA=D+