in build/BuildSteps.cs [38:100]
public static void DownloadTemplates()
{
bool isLocalBuild = string.IsNullOrEmpty(Environment.GetEnvironmentVariable("BUILD_BUILDID"));
if (isLocalBuild)
{
return;
}
var files = Directory.GetFiles(Settings.TemplatesArtifactsDirectory);
string previewStr = BundleConfiguration.Instance.IsPreviewBundle ? ".Preview" : String.Empty;
string zipFileName = $"ExtensionBundle{previewStr}.v{BundleConfiguration.Instance.ExtensionBundleVersion[0]}.Templates";
foreach (string file in files)
{
var fileName = Path.GetFileName(file);
if (fileName.StartsWith(zipFileName))
{
zipFileName = fileName;
break;
}
}
Console.WriteLine($"Found matching templates in ${zipFileName}");
string zipFilePath = Path.Combine(Settings.TemplatesArtifactsDirectory, zipFileName);
FileUtility.EnsureDirectoryExists(Settings.TemplatesV1RootDirectory);
ZipFile.ExtractToDirectory(zipFilePath, Settings.TemplatesV1RootDirectory);
if (!FileUtility.DirectoryExists(Settings.TemplatesV1RootDirectory) || !FileUtility.FileExists(Settings.TemplatesJsonFilePath))
{
throw new Exception("Template download failed");
}
if (FileUtility.DirectoryExists(Settings.TemplatesV1RootDirectory) || FileUtility.FileExists(Settings.ResourcesFilePath))
{
FileUtility.CopyFile(Settings.ResourcesFilePath, Settings.ResourcesEnUSFilePath);
}
if (!FileUtility.DirectoryExists(Settings.TemplatesV1RootDirectory) || !FileUtility.FileExists(Settings.ResourcesEnUSFilePath))
{
throw new Exception("Resource Copy failed");
}
if (!FileUtility.DirectoryExists(Settings.TemplatesV2RootDirectory))
{
FileUtility.EnsureDirectoryExists(Settings.TemplatesV2RootDirectory);
}
if (FileUtility.DirectoryExists(Settings.TemplatesV2Directory))
{
Directory.Move(Settings.TemplatesV2Directory, Path.Join(Settings.TemplatesV2RootDirectory, "templates"));
}
if (FileUtility.DirectoryExists(Settings.ResourcesV2Directory))
{
Directory.Move(Settings.ResourcesV2Directory, Path.Join(Settings.TemplatesV2RootDirectory, "resources"));
}
if (FileUtility.DirectoryExists(Settings.BindingsV2Directory))
{
Directory.Move(Settings.BindingsV2Directory, Path.Join(Settings.TemplatesV2RootDirectory, "bindings"));
}
}