Table of Contents

Class

Namespace
CoreFramework

Handles the build process by automating tasks such as version incrementing, executing builds, exporting version files, and optionally creating installers. Implements Unity's IPreprocessBuildWithReport and IPostprocessBuildWithReport interfaces.

public class BuildProcessing
Inheritance
object
Extension Methods

Fields

_incrementBuild

private static bool _incrementBuild

Field Value

bool

_incrementMajor

private static bool _incrementMajor

Field Value

bool

_incrementMinor

private static bool _incrementMinor

Field Value

bool

_incrementRevision

private static bool _incrementRevision

Field Value

bool

Properties

callbackOrder

Specifies the order in which callbacks should be invoked.

public int callbackOrder { get; }

Property Value

int

Methods

Build()

Builds the project based on the current settings.

private static void Build()

ExportVersionFile(string)

Exports a version file to the specified build output path.

private static void ExportVersionFile(string outputPath)

Parameters

outputPath string

The path to the build output directory.

IncrementBuildVersion()

Increments the version number based on selected flags.

private static void IncrementBuildVersion()

OnPostprocessBuild(BuildReport)

Called after the build process finishes. Exports a version file and optionally runs the installer compiler.

public void OnPostprocessBuild(BuildReport report)

Parameters

report BuildReport

Provides information about the build.

OnPreprocessBuild(BuildReport)

Called before the build process starts. Increments the build version based on selected flags.

public void OnPreprocessBuild(BuildReport report)

Parameters

report BuildReport

Provides information about the build.

QuickBuildMajorMenuItem()

Initiates a quick build for a breaking API change, incrementing the major version.

[MenuItem("Core Framework/Build/2 Breaking API Change")]
private static void QuickBuildMajorMenuItem()

QuickBuildMenuItem()

Initiates a quick build as a hotfix or patch, incrementing the build number.

[MenuItem("Core Framework/Build/0 HotFix or Patch")]
private static void QuickBuildMenuItem()

QuickBuildMinorMenuItem()

Initiates a quick build for a new feature, incrementing the minor version.

[MenuItem("Core Framework/Build/1 New Feature")]
private static void QuickBuildMinorMenuItem()

QuickBuildRevisionBuildMenuItem()

Initiates a quick build for Internal Testing, incrementing the revision number.

[MenuItem("Core Framework/Build/3 Internal Testing")]
private static void QuickBuildRevisionBuildMenuItem()

RunInstallerCompiler()

Runs the installer compiler using Inno Setup.

private static void RunInstallerCompiler()

TryGetInnoSetupCompilerPath(out string)

Tries to retrieve the path to the Inno Setup compiler from the registry.

private static bool TryGetInnoSetupCompilerPath(out string path)

Parameters

path string

The output path to the Inno Setup compiler.

Returns

bool

True if the compiler path was found, otherwise false.