50 lines
No EOL
1.7 KiB
C#
50 lines
No EOL
1.7 KiB
C#
using Cake.Common.IO;
|
|
using Cake.Common.IO.Paths;
|
|
using Cake.Core;
|
|
using Cake.Frosting;
|
|
|
|
namespace Build;
|
|
|
|
public class BuildContext : FrostingContext
|
|
{
|
|
/// <summary>
|
|
/// Base source directory
|
|
/// </summary>
|
|
public ConvertableDirectoryPath BaseSourceLocation { get; set; }
|
|
|
|
/// <summary>
|
|
/// Powershell module project folder
|
|
/// </summary>
|
|
public ConvertableDirectoryPath PowershellModuleProjectDirectory { get; set; }
|
|
|
|
/// <summary>
|
|
/// Powershell module csproj location
|
|
/// </summary>
|
|
public ConvertableFilePath PowershellModuleCsproj { get; set; }
|
|
|
|
/// <summary>
|
|
/// Output directory for built DLLs and powershell module manifest files
|
|
/// </summary>
|
|
public ConvertableDirectoryPath PowershellModuleOutputDir { get; set; }
|
|
|
|
/// <summary>
|
|
/// Path to powershell script that creates the module manifest files
|
|
/// </summary>
|
|
public ConvertableFilePath CreateModuleManifestScript { get; set; }
|
|
|
|
public string BuildSuffix { get; set; }
|
|
public bool DisableCommitHash { get; set; }
|
|
|
|
public BuildContext(ICakeContext context)
|
|
: base(context)
|
|
{
|
|
BaseSourceLocation = context.Directory("../src");
|
|
PowershellModuleProjectDirectory = BaseSourceLocation + context.Directory("PowershellModule");
|
|
PowershellModuleCsproj = PowershellModuleProjectDirectory + context.File("PowershellModule.csproj");
|
|
PowershellModuleOutputDir = context.Directory("../") + context.Directory("output") + context.Directory("PowershellModule");
|
|
var buildScriptDirectory = context.Directory("./Scripts");
|
|
CreateModuleManifestScript = buildScriptDirectory + context.File("CreateModuleManifest.ps1");
|
|
BuildSuffix = context.Configuration.GetValue(nameof(BuildSuffix));
|
|
DisableCommitHash = context.Configuration.GetBoolValue(nameof(DisableCommitHash));
|
|
}
|
|
} |