public PublishArtifactsInManifestBase WhichPublishingTask(string manifestFullPath) { Log.LogMessage(MessageImportance.High, $"Creating a task to publish assets from {manifestFullPath}"); if (!_fileSystem.FileExists(manifestFullPath)) { Log.LogError($"Problem reading asset manifest path from '{manifestFullPath}'"); return(null); } BuildModel buildModel = _buildModelFactory.ManifestFileToModel(manifestFullPath); if (buildModel.Identity.PublishingVersion == PublishingInfraVersion.Legacy) { Log.LogError("This task is not able to handle legacy manifests."); return(null); } else if (buildModel.Identity.PublishingVersion == PublishingInfraVersion.Latest) { return(ConstructPublishingV2Task(buildModel)); } else if (buildModel.Identity.PublishingVersion == PublishingInfraVersion.Next) { return(ConstructPublishingV3Task(buildModel)); } else { Log.LogError($"The manifest version '{buildModel.Identity.PublishingVersion}' is not recognized by the publishing task."); return(null); } }
public bool ExecuteTask(IBuildModelFactory buildModelFactory) { Log.LogMessage(MessageImportance.High, "Parsing build manifest file: {0}", AssetManifestPath); try { BuildModel buildModel = buildModelFactory.ManifestFileToModel(AssetManifestPath); if (!Log.HasLoggedErrors) { if (buildModel.Artifacts.Blobs.Any()) { BlobInfos = buildModel.Artifacts.Blobs.Select(blob => new TaskItem(blob.Id)).ToArray(); } if (buildModel.Artifacts.Packages.Any()) { PackageInfos = buildModel.Artifacts.Packages.Select(ConvertToPackageInfoItem).ToArray(); } } } catch (Exception e) { Log.LogErrorFromException(e, true); } return(!Log.HasLoggedErrors); }