From 7d3a5d58769186fa9426fcfc9073f5cac05e2773 Mon Sep 17 00:00:00 2001 From: Andrew Kahr <22359829+AndrewKahr@users.noreply.github.com> Date: Sun, 12 Feb 2023 03:45:54 -0800 Subject: [PATCH] Remove out variable declaration to support Unity 2018 in default build script. Remove <2019.3 versions of unity from windows builder as IL2CPP isn't supported until 2019.3. --- .github/workflows/windows-build-tests.yml | 5 ----- .../Input/AndroidSettings.cs | 22 ++++++++++++++----- .../Input/ArgumentsParser.cs | 15 ++++++++----- .../UnityBuilderAction/Versioning/Git.cs | 3 ++- 4 files changed, 28 insertions(+), 17 deletions(-) diff --git a/.github/workflows/windows-build-tests.yml b/.github/workflows/windows-build-tests.yml index 5e7c00b3..09096b5f 100644 --- a/.github/workflows/windows-build-tests.yml +++ b/.github/workflows/windows-build-tests.yml @@ -42,11 +42,6 @@ jobs: projectPath: - test-project unityVersion: - - 2018.2.21f1 - - 2018.3.14f1 - - 2018.4.36f1 - - 2019.1.14f1 - - 2019.2.21f1 - 2019.3.15f1 - 2019.4.40f1 - 2020.1.17f1 diff --git a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/AndroidSettings.cs b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/AndroidSettings.cs index 4cb1cc89..32fe8e23 100644 --- a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/AndroidSettings.cs +++ b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/AndroidSettings.cs @@ -15,13 +15,21 @@ namespace UnityBuilderAction.Input PlayerSettings.Android.keystoreName = keystoreName; } #endif - if (options.TryGetValue("androidKeystorePass", out string keystorePass) && !string.IsNullOrEmpty(keystorePass)) + // Can't use out variable declaration as Unity 2018 doesn't support it + string keystorePass; + if (options.TryGetValue("androidKeystorePass", out keystorePass) && !string.IsNullOrEmpty(keystorePass)) PlayerSettings.Android.keystorePass = keystorePass; - if (options.TryGetValue("androidKeyaliasName", out string keyaliasName) && !string.IsNullOrEmpty(keyaliasName)) + + string keyAliasName; + if (options.TryGetValue("androidKeyaliasName", out keyaliasName) && !string.IsNullOrEmpty(keyaliasName)) PlayerSettings.Android.keyaliasName = keyaliasName; - if (options.TryGetValue("androidKeyaliasPass", out string keyaliasPass) && !string.IsNullOrEmpty(keyaliasPass)) + + string keyaliasPass; + if (options.TryGetValue("androidKeyaliasPass", out keyaliasPass) && !string.IsNullOrEmpty(keyaliasPass)) PlayerSettings.Android.keyaliasPass = keyaliasPass; - if (options.TryGetValue("androidTargetSdkVersion", out string androidTargetSdkVersion) && !string.IsNullOrEmpty(androidTargetSdkVersion)) + + string androidTargetSdkVersion; + if (options.TryGetValue("androidTargetSdkVersion", out androidTargetSdkVersion) && !string.IsNullOrEmpty(androidTargetSdkVersion)) { var targetSdkVersion = AndroidSdkVersions.AndroidApiLevelAuto; try @@ -36,7 +44,8 @@ namespace UnityBuilderAction.Input PlayerSettings.Android.targetSdkVersion = targetSdkVersion; } - if (options.TryGetValue("androidExportType", out string androidExportType) && !string.IsNullOrEmpty(androidExportType)) + string androidExportType; + if (options.TryGetValue("androidExportType", out androidExportType) && !string.IsNullOrEmpty(androidExportType)) { switch (androidExportType) { @@ -55,7 +64,8 @@ namespace UnityBuilderAction.Input } } - if (options.TryGetValue("androidSymbolType", out string symbolType) && !string.IsNullOrEmpty(symbolType)) + string symbolType; + if (options.TryGetValue("androidSymbolType", out symbolType) && !string.IsNullOrEmpty(symbolType)) { #if UNITY_2021_1_OR_NEWER switch (symbolType) diff --git a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/ArgumentsParser.cs b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/ArgumentsParser.cs index 58ebe6b5..c53b7d37 100644 --- a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/ArgumentsParser.cs +++ b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Input/ArgumentsParser.cs @@ -12,14 +12,17 @@ namespace UnityBuilderAction.Input public static Dictionary GetValidatedOptions() { - ParseCommandLineArguments(out var validatedOptions); + Dictionary validatedOptions; + ParseCommandLineArguments(out validatedOptions); - if (!validatedOptions.TryGetValue("projectPath", out var projectPath)) { + string projectPath; + if (!validatedOptions.TryGetValue("projectPath", out projectPath)) { Console.WriteLine("Missing argument -projectPath"); EditorApplication.Exit(110); } - if (!validatedOptions.TryGetValue("buildTarget", out var buildTarget)) { + string buildTarget; + if (!validatedOptions.TryGetValue("buildTarget", out buildTarget)) { Console.WriteLine("Missing argument -buildTarget"); EditorApplication.Exit(120); } @@ -28,13 +31,15 @@ namespace UnityBuilderAction.Input EditorApplication.Exit(121); } - if (!validatedOptions.TryGetValue("customBuildPath", out var customBuildPath)) { + string customBuildPath; + if (!validatedOptions.TryGetValue("customBuildPath", out customBuildPath)) { Console.WriteLine("Missing argument -customBuildPath"); EditorApplication.Exit(130); } const string defaultCustomBuildName = "TestBuild"; - if (!validatedOptions.TryGetValue("customBuildName", out var customBuildName)) { + string customBuildName; + if (!validatedOptions.TryGetValue("customBuildName", out customBuildName)) { Console.WriteLine($"Missing argument -customBuildName, defaulting to {defaultCustomBuildName}."); validatedOptions.Add("customBuildName", defaultCustomBuildName); } else if (customBuildName == "") { diff --git a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Versioning/Git.cs b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Versioning/Git.cs index c822da3e..dbf3c4fa 100644 --- a/dist/default-build-script/Assets/Editor/UnityBuilderAction/Versioning/Git.cs +++ b/dist/default-build-script/Assets/Editor/UnityBuilderAction/Versioning/Git.cs @@ -106,7 +106,8 @@ namespace UnityBuilderAction.Versioning using (var process = new System.Diagnostics.Process()) { string workingDirectory = UnityEngine.Application.dataPath; - int exitCode = process.Run(application, arguments, workingDirectory, out string output, out string errors); + string output, errors; + int exitCode = process.Run(application, arguments, workingDirectory, out output, out errors); if (exitCode != 0) { throw new GitException(exitCode, errors); } return output;