Skip to content

Instantly share code, notes, and snippets.

View Xeinaemm's full-sized avatar
✌️
Greetings

Piotr Czech Xeinaemm

✌️
Greetings
View GitHub Profile
#addin "Cake.FileHelpers&version=3.2.0"
void Build(string root = "")
{
var solution = Argument<string>("Solution", "") != "" ?
new FilePath($"{root}{Argument<string>("Solution")}/{Argument<string>("Solution")}.sln") :
new FilePath(root + "BuildSolution.sln");
MSBuild(solution, settings => settings
.SetConfiguration(Argument<string>("Configuration", "Debug"))
#addin "Cake.FileHelpers&version=3.2.0"
void Restore(string root) =>
NuGetRestore(new FilePath($"{root}{Argument<string>("Solution")}/{Argument<string>("Solution")}.sln"), GetRestoreSettings());
NuGetRestoreSettings GetRestoreSettings()
{
return new NuGetRestoreSettings
{
NonInteractive = true,
#addin "Cake.FileHelpers&version=3.2.0"
void RestoreAll(string root = "", string glob = "**/*.csproj")
{
var csprojFiles = GetFiles(root + glob);
if (csprojFiles.Any())
{
var tempSln = new FilePath(root + "BuildSolution.sln");
FileWriteText(tempSln, CreateTempSolution(csprojFiles));
NuGetRestore(tempSln, GetRestoreSettings());
Task("Restore").Does(() => Restore());
Task("Build").Does(() => Build());
Task("Publish")
.IsDependentOn("Restore")
.IsDependentOn("Build");
RunTarget(Argument<string>("Target", ""));
Task("RestoreAll").Does(() => RestoreAll());
Task("Build").Does(() => Build());
Task("PublishAll")
.IsDependentOn("RestoreAll")
.IsDependentOn("Build");
RunTarget(Argument<string>("Target", ""));
./build.ps1 -Target="Publish" -Solution="Jarvis"
./build.ps1 -Target="PublishAll"
pool:
name: Azure Pipelines
steps:
- task: Cake@0
displayName: Publish
inputs:
target: Publish
arguments: '-Solution=Jarvis -Configuration=Release'
#addin "Cake.FileHelpers&version=3.2.0"
#addin "Cake.Powershell&version=0.4.8"
#addin "Cake.IIS&version=0.4.2"
#addin "Microsoft.Win32.Registry&version=4.0.0.0"
#addin "System.Reflection.TypeExtensions&version=4.1.0.0"
void CreateIISWebsites(
string root = "",
string glob = "**/*.csproj",
bool aspNetCore = false,
./build.ps1 -Target="CreateIISWebsites"