From 42daa8783997054dd1d011746ed0ec074f0894e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Thu, 3 Mar 2022 11:49:26 +0100 Subject: [PATCH] Makefile: convert generated files to native line-ends on Windows Git wants to see native line-ends in source files, but the code generators we use always write UNIX line-ends. `make generate` on Windows now passes generated files through `unix2dos`. This allows regenerating files without Git listing them as modified. --- Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Makefile b/Makefile index cade63de..42e0e4db 100644 --- a/Makefile +++ b/Makefile @@ -30,6 +30,11 @@ socketio-poc: generate: go generate ./pkg/api/... go generate ./internal/... +# The generators always produce UNIX line-ends. This creates false file +# modifications with Git. Convert them to DOS line-ends to avoid this. +ifeq ($(OS),Windows_NT) + git status --porcelain | grep '^ M .*.gen.go' | cut -d' ' -f3 | xargs unix2dos --keepdate +endif # resource.syso: resource/thermogui.ico resource/versioninfo.json # goversioninfo -icon=resource/thermogui.ico -64 resource/versioninfo.json