// 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; }
}
}