in GenerateToolingFeed/V4Format/V4FormatFeedEntryUpdater.cs [129:158]
private void UpdateDotnetTemplatesToLatest(IDictionary<string, IDictionary<string, object>> workerRuntimes, int coreToolsMajor)
{
if (!workerRuntimes.TryGetValue("dotnet", out IDictionary<string, object> dotnetInfo))
{
throw new Exception("Could not find 'dotnet' worker runtime information in the feed.");
}
foreach (KeyValuePair<string, object> keyValInfo in dotnetInfo)
{
string dotnetEntryLabel = keyValInfo.Key;
JObject dotnetEntryToken = keyValInfo.Value as JObject;
V4FormatDotnetEntry dotnetEntry = dotnetEntryToken?.ToObject<V4FormatDotnetEntry>() ?? throw new Exception($"Cannot parse 'dotnet' object in the feed with label '{dotnetEntryLabel}'");
if (!_dotnetToItemTemplates.TryGetValue(dotnetEntryLabel, out string itemTemplates))
{
throw new Exception($"Cannot find the template package: Unidentified dotnet label '{dotnetEntryLabel}'.");
}
dotnetEntry.itemTemplates = Helper.GetTemplateUrl($"{itemTemplates}", coreToolsMajor);
if (!_dotnetToProjectTemplates.TryGetValue(dotnetEntryLabel, out string projecTemplate))
{
throw new Exception($"Cannot find the template package: Unidentified dotnet label '{dotnetEntryLabel}'.");
}
dotnetEntry.projectTemplates = Helper.GetTemplateUrl($"{projecTemplate}", coreToolsMajor);
Helper.MergeObjectToJToken(dotnetEntryToken, dotnetEntry);
}
}