From b6e24b4e53ec4365425f734276fca4f38f949900 Mon Sep 17 00:00:00 2001 From: Lucas Modrich <2934597+lucasmodrich@users.noreply.github.com> Date: Sat, 21 Feb 2026 14:25:43 +1100 Subject: [PATCH] fix: use FileVersion struct fields instead of array in gen_versioninfo goversioninfo expects FileVersion/ProductVersion as {Major, Minor, Patch, Build} objects, not [4]uint16 arrays. The release build was failing with: "cannot unmarshal array into Go struct field FixedFileInfo.FileVersion" Co-Authored-By: Claude Sonnet 4.6 --- cmd/git-worktree-manager/gen_versioninfo.go | 25 +++++++++++++-------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/cmd/git-worktree-manager/gen_versioninfo.go b/cmd/git-worktree-manager/gen_versioninfo.go index ce2fee4..18f99c8 100644 --- a/cmd/git-worktree-manager/gen_versioninfo.go +++ b/cmd/git-worktree-manager/gen_versioninfo.go @@ -13,14 +13,21 @@ import ( "strings" ) +type FileVersion struct { + Major uint16 `json:"Major"` + Minor uint16 `json:"Minor"` + Patch uint16 `json:"Patch"` + Build uint16 `json:"Build"` +} + type FixedFileInfo struct { - FileVersion [4]uint16 `json:"FileVersion"` - ProductVersion [4]uint16 `json:"ProductVersion"` - FileFlagsMask string `json:"FileFlagsMask"` - FileFlags string `json:"FileFlags"` - FileOS string `json:"FileOS"` - FileType string `json:"FileType"` - FileSubType string `json:"FileSubType"` + FileVersion FileVersion `json:"FileVersion"` + ProductVersion FileVersion `json:"ProductVersion"` + FileFlagsMask string `json:"FileFlagsMask"` + FileFlags string `json:"FileFlags"` + FileOS string `json:"FileOS"` + FileType string `json:"FileType"` + FileSubType string `json:"FileSubType"` } type StringFileInfo struct { @@ -77,8 +84,8 @@ func main() { vi := VersionInfo{ FixedFileInfo: FixedFileInfo{ - FileVersion: [4]uint16{uint16(major), uint16(minor), uint16(patch), 0}, - ProductVersion: [4]uint16{uint16(major), uint16(minor), uint16(patch), 0}, + FileVersion: FileVersion{Major: uint16(major), Minor: uint16(minor), Patch: uint16(patch), Build: 0}, + ProductVersion: FileVersion{Major: uint16(major), Minor: uint16(minor), Patch: uint16(patch), Build: 0}, FileFlagsMask: "3f", FileFlags: "00", FileOS: "040004",