// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using System; using System.Collections.Generic; using UnityEditor; using UnityEditor.Build.Reporting; using UnityEngine; namespace Microsoft.MixedReality.Toolkit.Build.Editor { /// /// The Build Info defines common properties for a build. /// public interface IBuildInfo { /// /// Is this build being issued from the command line? /// bool IsCommandLine { get; } /// /// The directory to put the final build output. /// /// /// Defaults to "Application.dataPath/Builds/Platform Target/" /// string OutputDirectory { get; set; } /// /// The list of scenes to include in the build. /// IEnumerable Scenes { get; set; } /// /// A pre-build action to raise before building the Unity player. /// Action PreBuildAction { get; set; } /// /// A post-build action to raise after building the Unity player. /// Action PostBuildAction { get; set; } /// /// Build options to include in the Unity player build pipeline. /// BuildOptions BuildOptions { get; set; } /// /// The build target. /// BuildTarget BuildTarget { get; } /// /// Optional parameter to set the player's /// ColorSpace? ColorSpace { get; set; } /// /// Optional parameter to set the scripting backend /// ScriptingImplementation? ScriptingBackend { get; set; } /// /// Should the build auto increment the build version number? /// bool AutoIncrement { get; set; } /// /// The symbols associated with this build. /// string BuildSymbols { get; set; } /// /// The build configuration (i.e. debug, release, or master) /// string Configuration { get; set; } /// /// The build platform (i.e. x86, x64) /// string BuildPlatform { get; set; } /// /// The default location of log files generated by sub-processes of the build system. /// /// /// Note that this different from the Unity flag -logFile, which controls the location /// of the Unity log file. This is specifically for logs generated by other processes /// that the MRTK build tools produces (for example, when msbuild.exe is involved) /// string LogDirectory { get; set; } } }