| File: BootstrapperUtil\BuildResults.cs | Web Access |
| Project: src\msbuild\src\Tasks\Microsoft.Build.Tasks.csproj (Microsoft.Build.Tasks.Core) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Collections.Generic; using System.Runtime.InteropServices; #nullable disable namespace Microsoft.Build.Tasks.Deployment.Bootstrapper { /// <summary> /// Represents the results of the Build operation of the BootstrapperBuilder. /// </summary> [ComVisible(true)] [Guid("FAD7BA7C-CA00-41e0-A5EF-2DA9A74E58E6")] [ClassInterface(ClassInterfaceType.None)] public class BuildResults : IBuildResults { private readonly List<string> _componentFiles = new List<string>(); private readonly List<BuildMessage> _messages = new List<BuildMessage>(); internal BuildResults() { } /// <summary> /// Returns true if the bootstrapper build was successful, false otherwise /// </summary> public bool Succeeded { get; private set; } /// <summary> /// The file path to the generated primary bootstrapper file /// </summary> /// <value>Path to setup.exe</value> public string KeyFile { get; private set; } = string.Empty; /// <summary> /// File paths to copied component installer files /// </summary> /// <value>Path to component files</value> public string[] ComponentFiles { get { if (_componentFiles.Count == 0) { return null; } return _componentFiles.ToArray(); } } /// <summary> /// The build messages generated from a bootstrapper build /// </summary> public BuildMessage[] Messages { get { if (_messages.Count == 0) { return null; } return _messages.ToArray(); } } internal void AddMessage(BuildMessage message) { _messages.Add(message); } internal void AddComponentFiles(string[] filePaths) { _componentFiles.AddRange(filePaths); } internal void BuildSucceeded() { Succeeded = true; } internal void SetKeyFile(string filePath) { KeyFile = filePath; } } }