Skip to content

Commit 14868f3

Browse files
committed
Set output variables and build tag based on pattern
1 parent cf16d4c commit 14868f3

File tree

3 files changed

+38
-3
lines changed

3 files changed

+38
-3
lines changed

Tasks/UnityBuild/UnityBuildV3/unity-build.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,9 @@ import {
3232
buildAppBundleInputVariableName,
3333
inlineBuildScriptInputVariableName,
3434
scriptExecuteMethodInputVariableName,
35+
editorLogFilePathOutputVariableName,
3536
} from "./variables";
3637

37-
// Output variables.
38-
const editorLogFilePathOutputVariableName = "editorLogFilePath";
39-
4038
async function run() {
4139
try {
4240
// Configure localization.

Tasks/UnityBuild/UnityBuildV3/unity-versioning.ts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
import tl = require("azure-pipelines-task-lib/task");
22
import {
3+
buildNumberOutputVariableName,
34
buildTargetInputVariableName,
5+
bundleVersionOutputVariableName,
6+
gitTagOutputVariableName,
47
projectVersioningBuildNumberModeVariableName,
58
projectVersioningBuildNumberVariableName,
69
projectVersioningBundleVersionMajorVariableName,
@@ -174,6 +177,9 @@ export class UnityVersioning {
174177
true
175178
)!;
176179

180+
let gitTag: string | "" = "";
181+
182+
// Does the user want to commit changes to the repositoryß
177183
if (commitChanges) {
178184
const commitChangesUserName = tl.getInput(
179185
projectVersioningCommitChangesUserNameVariableName,
@@ -190,13 +196,38 @@ export class UnityVersioning {
190196
true
191197
)!;
192198

199+
// Since we pushed to the repository, does the user also want to create a tag?
193200
if (createTag) {
194201
const createTagPattern = tl.getInput(
195202
projectVersioningCreateTagPatternVariableName,
196203
true
197204
)!;
205+
206+
gitTag = createTagPattern.replace(
207+
"{{bundleVersion}}",
208+
`${bundleVersion.major}.${bundleVersion.minor}.${bundleVersion.patch}`
209+
);
210+
211+
gitTag = createTagPattern.replace(
212+
"{{buildNumber}}",
213+
buildCode.toString()
214+
);
198215
}
199216

217+
tl.setVariable(
218+
bundleVersionOutputVariableName,
219+
`${bundleVersion.major}.${bundleVersion.minor}.${bundleVersion.patch}`,
220+
false,
221+
true
222+
);
223+
tl.setVariable(
224+
buildNumberOutputVariableName,
225+
buildCode.toString(),
226+
false,
227+
true
228+
);
229+
tl.setVariable(gitTagOutputVariableName, gitTag, false, true);
230+
200231
return 0;
201232
}
202233
}

Tasks/UnityBuild/UnityBuildV3/variables.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,9 @@ export const projectVersioningCreateTagVariableName =
4242
"projectVersioningCreateTag";
4343
export const projectVersioningCreateTagPatternVariableName =
4444
"projectVersioningCreateTagPattern";
45+
46+
// Output variables.
47+
export const editorLogFilePathOutputVariableName = "editorLogFilePath";
48+
export const bundleVersionOutputVariableName = "bundleVersion";
49+
export const buildNumberOutputVariableName = "buildNumber";
50+
export const gitTagOutputVariableName = "gitTag";

0 commit comments

Comments
 (0)