From 67ed89bec4e08e257bd6288bf86a9321777056e7 Mon Sep 17 00:00:00 2001 From: Andrii Lytvynenko Date: Mon, 3 Apr 2023 23:10:02 +0300 Subject: [PATCH 1/3] Added possibility to set custom arguments though single dash --- src/Cake.Unity/UnityEditorArguments.cs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/Cake.Unity/UnityEditorArguments.cs b/src/Cake.Unity/UnityEditorArguments.cs index ec716aa..f5bfae9 100644 --- a/src/Cake.Unity/UnityEditorArguments.cs +++ b/src/Cake.Unity/UnityEditorArguments.cs @@ -265,6 +265,26 @@ public class UnityEditorArguments /// /// public Action SetCustomArguments { set => value.Invoke(customArguments); } + + /// + /// Custom arguments that are supplied among other arguments in format "-key=value". + /// Usefull for third-party builders or tools that required arguments with only singe dash in command line befor argument name + /// Expected to be used in conjunction with ExecuteMethod argument. + /// + /// + /// + /// new UnityEditorArguments + /// { + /// ExecuteMethod = "Build.RunCommandLineBuild", + /// SetCustomSingleDashArguments = x => + /// { + /// x.headlessPath = "./"; + /// }, + /// }; + /// + /// + public Action SetCustomSingleDashArguments { set => value.Invoke(сustomSingleDashArguments); } + private dynamic сustomSingleDashArguments; internal ProcessArgumentBuilder CustomizeCommandLineArguments(ProcessArgumentBuilder builder, ICakeEnvironment environment) { @@ -476,6 +496,9 @@ internal ProcessArgumentBuilder CustomizeCommandLineArguments(ProcessArgumentBui foreach (var customArgument in customArguments) builder.AppendQuoted($"--{customArgument.Key}={customArgument.Value}"); + + foreach (var сustomSingleDashArgument in сustomSingleDashArguments) + builder.AppendQuoted($"-{сustomSingleDashArgument.Key}={сustomSingleDashArgument.Value}"); return builder; } From 1cd477caec2aa28f96b2c4dbd734197f256dc28c Mon Sep 17 00:00:00 2001 From: Andrii Lytvynenko Date: Mon, 3 Apr 2023 23:22:26 +0300 Subject: [PATCH 2/3] =?UTF-8?q?Set=20default=20value=20for=20=D1=81ustomSi?= =?UTF-8?q?ngleDashArguments?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Cake.Unity/UnityEditorArguments.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Cake.Unity/UnityEditorArguments.cs b/src/Cake.Unity/UnityEditorArguments.cs index f5bfae9..22a5882 100644 --- a/src/Cake.Unity/UnityEditorArguments.cs +++ b/src/Cake.Unity/UnityEditorArguments.cs @@ -284,7 +284,7 @@ public class UnityEditorArguments /// /// public Action SetCustomSingleDashArguments { set => value.Invoke(сustomSingleDashArguments); } - private dynamic сustomSingleDashArguments; + private readonly ExpandoObject сustomSingleDashArguments = new ExpandoObject(); internal ProcessArgumentBuilder CustomizeCommandLineArguments(ProcessArgumentBuilder builder, ICakeEnvironment environment) { From 294e96f2878dda4e35c9d25d2cba97d02291fe90 Mon Sep 17 00:00:00 2001 From: Andrii Lytvynenko Date: Tue, 4 Apr 2023 09:39:01 +0300 Subject: [PATCH 3/3] Updated custom arguments format line --- src/Cake.Unity/UnityEditorArguments.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Cake.Unity/UnityEditorArguments.cs b/src/Cake.Unity/UnityEditorArguments.cs index 22a5882..c7c85a3 100644 --- a/src/Cake.Unity/UnityEditorArguments.cs +++ b/src/Cake.Unity/UnityEditorArguments.cs @@ -267,7 +267,7 @@ public class UnityEditorArguments public Action SetCustomArguments { set => value.Invoke(customArguments); } /// - /// Custom arguments that are supplied among other arguments in format "-key=value". + /// Custom arguments that are supplied among other arguments in format "-key value". /// Usefull for third-party builders or tools that required arguments with only singe dash in command line befor argument name /// Expected to be used in conjunction with ExecuteMethod argument. /// @@ -498,7 +498,7 @@ internal ProcessArgumentBuilder CustomizeCommandLineArguments(ProcessArgumentBui builder.AppendQuoted($"--{customArgument.Key}={customArgument.Value}"); foreach (var сustomSingleDashArgument in сustomSingleDashArguments) - builder.AppendQuoted($"-{сustomSingleDashArgument.Key}={сustomSingleDashArgument.Value}"); + builder.AppendQuoted($"-{сustomSingleDashArgument.Key} {сustomSingleDashArgument.Value}"); return builder; }