11import tl = require( "azure-pipelines-task-lib/task" ) ;
22import {
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}
0 commit comments