in build/BuildSteps.cs [291:325]
public static void CreateCDNStoragePackage()
{
foreach (var indexFileMetadata in Settings.IndexFiles)
{
string directoryPath = Path.Combine(Settings.RootBinDirectory, indexFileMetadata.IndexFileDirectory, BundleConfiguration.Instance.ExtensionBundleId);
FileUtility.EnsureDirectoryExists(directoryPath);
var bundleVersionDirectory = Path.Combine(directoryPath, BundleConfiguration.Instance.ExtensionBundleVersion);
var contentDirectory = Path.Combine(bundleVersionDirectory, Settings.StaticContentDirectoryName);
FileUtility.CopyDirectory(Settings.StaticContentDirectoryPath, contentDirectory);
JsonConvert.DefaultSettings = () => new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
// Generating v1 index file
var indexFile = GetIndexFile($"{indexFileMetadata.EndPointUrl}/public/ExtensionBundles/{indexFileMetadata.BundleId}/index.json");
indexFile.Add(BundleConfiguration.Instance.ExtensionBundleVersion);
var indexFilePath = Path.Combine(Settings.RootBinDirectory, indexFileMetadata.IndexFileDirectory, BundleConfiguration.Instance.ExtensionBundleId, Settings.IndexFileName);
FileUtility.Write(indexFilePath, JsonConvert.SerializeObject(indexFile));
AddBundleZipFile(bundleVersionDirectory, Settings.BundlePackageNetCoreV3);
// Add bundle.json
CreateBundleJsonFile(bundleVersionDirectory);
// Add Csproj file
string projectPath = Path.Combine(bundleVersionDirectory, "extensions.csproj");
File.Copy(Settings.BundlePackageNetCoreV3.CsProjFilePath, projectPath);
ZipFile.CreateFromDirectory(Path.Combine(Settings.RootBinDirectory, indexFileMetadata.IndexFileDirectory), Path.Combine(Settings.ArtifactsDirectory, $"{indexFileMetadata.IndexFileDirectory}.zip"), CompressionLevel.NoCompression, false);
}
}