Skip to content

Commit da836c2

Browse files
committed
Add scriptCompletionQuit option
1 parent ede3974 commit da836c2

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

Tasks/UnityBuild/UnityBuildV3/task.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,16 @@
200200
"defaultValue": "",
201201
"helpMarkDown": "Specify class and method name of the method to execute in your build script separated by a dot. E.g. `MyClass.PerformBuild`"
202202
},
203+
{
204+
"name": "scriptCompletionQuit",
205+
"type": "boolean",
206+
"label": "Quit after script method completion",
207+
"groupName": "build",
208+
"visibleRule": "buildScriptType = existing",
209+
"required": false,
210+
"defaultValue": true,
211+
"helpMarkDown": "Weather to quit the Unity editor after the build script method has completed. If set to false, the editor will stay open after the build script method has completed. The default value is true."
212+
},
203213
{
204214
"name": "additionalCmdArgs",
205215
"type": "string",
@@ -293,4 +303,4 @@
293303
"successGetUnityEditorVersion": "Success, Unity editor version found",
294304
"failGetUnityEditorVersion": "Fail, Unity editor version not found"
295305
}
296-
}
306+
}

Tasks/UnityBuild/UnityBuildV3/unity-build.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ const buildScriptTypeInputVariableName = 'buildScriptType';
2020
const unityEditorsPathModeInputVariableName = 'unityEditorsPathMode';
2121
const inlineBuildScriptInputVariableName = 'inlineBuildScript';
2222
const scriptExecuteMethodInputVariableName = 'scriptExecuteMethod';
23+
const scriptCompletionQuitInputVariableName = 'scriptCompletionQuit';
2324
const additionalCmdArgsInputVariableName = 'additionalCmdArgs';
2425
const customUnityEditorsPathInputVariableName = 'customUnityEditorsPath';
2526
const cleanBuildInputVariableName = 'Build.Repository.Clean';
@@ -138,7 +139,11 @@ async function run() {
138139
unityCmd.arg('-executeMethod').arg(tl.getInput(scriptExecuteMethodInputVariableName)!);
139140
} else if (buildScriptType === 'existing') {
140141
// If the user already has an existing build script we only need the method to execute.
141-
unityCmd.arg('-executeMethod').arg(tl.getInput(scriptExecuteMethodInputVariableName)!).arg('-quit');
142+
unityCmd.arg('-executeMethod').arg(tl.getInput(scriptExecuteMethodInputVariableName)!);
143+
144+
if (tl.getBoolInput(scriptCompletionQuitInputVariableName)) {
145+
unityCmd.arg('-quit');
146+
}
142147
} else {
143148
throw `Unsupported build script type ${buildScriptType}`
144149
}
@@ -187,4 +192,4 @@ function getUnityEditorVersion(): UnityVersionInfoResult {
187192
return unityVersion;
188193
}
189194

190-
run();
195+
run();

0 commit comments

Comments
 (0)