Skip to content

Commit f32fede

Browse files
sanjuyadav24Sanju Yadav
andauthored
Updated Agent code to handling '+' sign in file path for build configs (#5175)
Co-authored-by: Sanju Yadav <sanjuyadav@microsoft.com>
1 parent 08a2485 commit f32fede

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

src/Agent.Worker/TaskManager.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ private async Task DownloadAsync(IExecutionContext executionContext, Pipelines.T
182182
return;
183183
}
184184

185-
String taskZipPath = Path.Combine(HostContext.GetDirectory(WellKnownDirectory.TaskZips), $"{task.Name}_{task.Id}_{task.Version}.zip");
185+
String taskZipPath = Path.Combine(HostContext.GetDirectory(WellKnownDirectory.TaskZips), $"{task.Name}_{task.Id}_{NormalizeTaskVersion(task)}.zip");
186186
if (alwaysExtractTask && File.Exists(taskZipPath))
187187
{
188188
executionContext.Debug($"Task '{task.Name}' already downloaded at '{taskZipPath}'.");
@@ -472,7 +472,13 @@ private string GetDirectory(Pipelines.TaskStepDefinitionReference task)
472472
return Path.Combine(
473473
HostContext.GetDirectory(WellKnownDirectory.Tasks),
474474
$"{task.Name}_{task.Id}",
475-
task.Version);
475+
NormalizeTaskVersion(task));
476+
}
477+
478+
private string NormalizeTaskVersion(Pipelines.TaskStepDefinitionReference task)
479+
{
480+
ArgUtil.NotNullOrEmpty(task.Version, nameof(task.Version));
481+
return task.Version.Replace("+", "_");
476482
}
477483

478484
private string GetTaskZipPath(Pipelines.TaskStepDefinitionReference task)
@@ -482,7 +488,7 @@ private string GetTaskZipPath(Pipelines.TaskStepDefinitionReference task)
482488
ArgUtil.NotNullOrEmpty(task.Version, nameof(task.Version));
483489
return Path.Combine(
484490
HostContext.GetDirectory(WellKnownDirectory.TaskZips),
485-
$"{task.Name}_{task.Id}_{task.Version}.zip"); // TODO: Move to shared string.
491+
$"{task.Name}_{task.Id}_{NormalizeTaskVersion(task)}.zip"); // TODO: Move to shared string.
486492
}
487493

488494
private Definition GetTaskDefiniton(Pipelines.TaskStep task)

src/Microsoft.VisualStudio.Services.Agent/TaskServer.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,14 @@ private void CheckConnection()
6969
public Task<Stream> GetTaskContentZipAsync(Guid taskId, TaskVersion taskVersion, CancellationToken token)
7070
{
7171
CheckConnection();
72-
return _taskAgentClient.GetTaskContentZipAsync(taskId, taskVersion, cancellationToken: token);
72+
return _taskAgentClient.GetTaskContentZipAsync(
73+
taskId,
74+
versionString: taskVersion,
75+
visibility: null,
76+
scopeLocal: null,
77+
userState: null,
78+
cancellationToken: token
79+
);
7380
}
7481

7582
public async Task<bool> TaskDefinitionEndpointExist()

0 commit comments

Comments
 (0)