From 82991ec33745950273f64afa7fb52c7cd4e7555f Mon Sep 17 00:00:00 2001 From: patchzyy <64382339+patchzyy@users.noreply.github.com> Date: Sun, 27 Sep 2026 13:00:12 +0200 Subject: [PATCH] Version centrilsation --- .github/workflows/package.yml | 6 ++---- Launcher/Build-Installer.ps1 | 5 ++++- Launcher/Directory.Build.props | 7 +++++++ .../WiiCompiled.Setup.Common.Cli.csproj | 1 - .../WiiCompiled.Setup.Common.csproj | 1 - Launcher/WiiCompiled.Setup.Linux/Models.cs | 6 +++++- .../WiiCompiled.Setup.Linux/WiiCompiled.Setup.Linux.csproj | 1 - Launcher/WiiCompiled.Setup.Windows/Program.cs | 5 ++++- .../WiiCompiled.Setup.Windows.csproj | 1 - 9 files changed, 22 insertions(+), 11 deletions(-) create mode 100644 Launcher/Directory.Build.props diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index b97c62a..2022fbe 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -107,7 +107,7 @@ jobs: persist-credentials: false # Wheel Wizard runs the downloaded setup with --version and refuses it when the reported - # version differs from the release tag, so a tag that was pushed without bumping every pinned + # version differs from the release tag, so a tag that was pushed without bumping the pinned # version would ship an update nobody can install. Catch that before anything is published. - name: Verify the tag matches the pinned setup version env: @@ -122,9 +122,7 @@ jobs: status=1 fi } - check Launcher/WiiCompiled.Setup.Windows/Program.cs "public const string Version = \"$version\";" - check Launcher/WiiCompiled.Setup.Windows/WiiCompiled.Setup.Windows.csproj "$version" - check Launcher/Build-Installer.ps1 "ProductVersion = '$version'" + check Launcher/Directory.Build.props "$version" exit $status # The build jobs upload with `archive: false`, which stores each installer as a raw file diff --git a/Launcher/Build-Installer.ps1 b/Launcher/Build-Installer.ps1 index 6113d7f..17f2b17 100644 --- a/Launcher/Build-Installer.ps1 +++ b/Launcher/Build-Installer.ps1 @@ -279,9 +279,12 @@ foreach ($required in @('ToolkitFingerprint','TranslationFingerprint','NativeToo if ([string]::IsNullOrWhiteSpace($identities.$required)) { throw "Payload identity output is missing $required." } } +$productVersion = ((& $setupHost --version) -join '').Trim() +if ($LASTEXITCODE -ne 0 -or [string]::IsNullOrWhiteSpace($productVersion)) { throw 'The setup host did not report its version.' } + $manifest = [ordered]@{ SchemaVersion = 2 - ProductVersion = '0.2.32' + ProductVersion = $productVersion ExpectedGameId = $pins.GameId ExpectedDolSha256 = $pins.DolSha256 ExpectedRelSha256 = $pins.RelSha256 diff --git a/Launcher/Directory.Build.props b/Launcher/Directory.Build.props new file mode 100644 index 0000000..1010d80 --- /dev/null +++ b/Launcher/Directory.Build.props @@ -0,0 +1,7 @@ + + + + 0.2.33 + false + + diff --git a/Launcher/WiiCompiled.Setup.Common.Cli/WiiCompiled.Setup.Common.Cli.csproj b/Launcher/WiiCompiled.Setup.Common.Cli/WiiCompiled.Setup.Common.Cli.csproj index e58d15b..364b745 100644 --- a/Launcher/WiiCompiled.Setup.Common.Cli/WiiCompiled.Setup.Common.Cli.csproj +++ b/Launcher/WiiCompiled.Setup.Common.Cli/WiiCompiled.Setup.Common.Cli.csproj @@ -6,7 +6,6 @@ enable WiiCompiled.Setup.Common.Cli WiiCompiled.Setup.Common.Cli - 0.2.32 patchzy WiiCompiled Packaging-time helper: resolves (downloading if needed) the nodtool binary bundled by build-appimage.sh and Build-Installer.ps1 diff --git a/Launcher/WiiCompiled.Setup.Common/WiiCompiled.Setup.Common.csproj b/Launcher/WiiCompiled.Setup.Common/WiiCompiled.Setup.Common.csproj index 056ef5c..3991fc5 100644 --- a/Launcher/WiiCompiled.Setup.Common/WiiCompiled.Setup.Common.csproj +++ b/Launcher/WiiCompiled.Setup.Common/WiiCompiled.Setup.Common.csproj @@ -5,7 +5,6 @@ enable WiiCompiled.Setup.Common WiiCompiled.Setup.Common - 0.2.32 patchzy WiiCompiled Shared nodtool/Retro-WFC-payload logic used by both the Windows and Linux installers diff --git a/Launcher/WiiCompiled.Setup.Linux/Models.cs b/Launcher/WiiCompiled.Setup.Linux/Models.cs index ebe9964..387fa9a 100644 --- a/Launcher/WiiCompiled.Setup.Linux/Models.cs +++ b/Launcher/WiiCompiled.Setup.Linux/Models.cs @@ -1,9 +1,13 @@ +using System.Reflection; + namespace WiiCompiled.Setup.Linux; internal static class ProductInfo { public const string Name = "WiiCompiled"; - public const string Version = "0.2.32"; + public static readonly string Version = + typeof(ProductInfo).Assembly.GetCustomAttribute()! + .InformationalVersion; } /// One installed product's record inside install-state.json. diff --git a/Launcher/WiiCompiled.Setup.Linux/WiiCompiled.Setup.Linux.csproj b/Launcher/WiiCompiled.Setup.Linux/WiiCompiled.Setup.Linux.csproj index 639ec22..2737c4c 100644 --- a/Launcher/WiiCompiled.Setup.Linux/WiiCompiled.Setup.Linux.csproj +++ b/Launcher/WiiCompiled.Setup.Linux/WiiCompiled.Setup.Linux.csproj @@ -6,7 +6,6 @@ enable WiiCompiled.Setup.Linux WiiCompiled.Setup.Linux - 0.2.32 patchzy WiiCompiled Command-line installer and launcher for WiiCompiled on Linux diff --git a/Launcher/WiiCompiled.Setup.Windows/Program.cs b/Launcher/WiiCompiled.Setup.Windows/Program.cs index 4cdba8a..2f14065 100644 --- a/Launcher/WiiCompiled.Setup.Windows/Program.cs +++ b/Launcher/WiiCompiled.Setup.Windows/Program.cs @@ -1,5 +1,6 @@ namespace WiiCompiled.Setup.Windows; +using System.Reflection; using System.Runtime.InteropServices; internal static class Program @@ -121,7 +122,9 @@ internal static class PlatformChecks internal static class ProductInfo { public const string Name = "WiiCompiled"; - public const string Version = "0.2.32"; + public static readonly string Version = + typeof(ProductInfo).Assembly.GetCustomAttribute()! + .InformationalVersion; /// /// The setup executable is copied into the installation under this name. It is the launcher and diff --git a/Launcher/WiiCompiled.Setup.Windows/WiiCompiled.Setup.Windows.csproj b/Launcher/WiiCompiled.Setup.Windows/WiiCompiled.Setup.Windows.csproj index 9559e6f..6a30c74 100644 --- a/Launcher/WiiCompiled.Setup.Windows/WiiCompiled.Setup.Windows.csproj +++ b/Launcher/WiiCompiled.Setup.Windows/WiiCompiled.Setup.Windows.csproj @@ -7,7 +7,6 @@ WiiCompiled.Setup WiiCompiled.Setup.Windows app.manifest - 0.2.32 patchzy WiiCompiled Command-line installer and launcher for WiiCompiled