diff --git a/README.md b/README.md
index 47d726c1..d6b6b8b0 100644
--- a/README.md
+++ b/README.md
@@ -8,9 +8,9 @@ This module will introduce a number of features for running in hosted CI build e
Currently this module supports:
-### TF Build
+### Azure Pipelines
-> This applies to TFS and VSTS
+> This applies to TFS, Azure Pipelines, and Azure DevOps Server
- Individual timeline records for each task
- Percentage reporting on build progress
diff --git a/ReleaseNotes.md b/ReleaseNotes.md
index 27df29d1..f8599eeb 100644
--- a/ReleaseNotes.md
+++ b/ReleaseNotes.md
@@ -47,4 +47,9 @@
- Supports Cake 0.34.1
- Fixes errors writing summary report when run in Azure Pipelines container (#21)
-- Thanks again to @flcdrg for contributions!
\ No newline at end of file
+- Thanks again to @flcdrg for contributions!
+
+# 0.4.0
+
+- Supports Cake 0.38.0
+- Rename TF Build to Azure Pipelines
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index e0a18439..0034be84 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -4,7 +4,7 @@ trigger:
variables:
buildConfiguration: 'Release'
- cakeVersion: 0.34.1
+ cakeVersion: 0.38.0
sdkVersion: '2.2.300'
target: NuGet
diff --git a/src/Cake.TFBuild.Module/TFBuildEngine.cs b/src/Cake.AzurePipelines.Module/AzurePipelinesEngine.cs
similarity index 58%
rename from src/Cake.TFBuild.Module/TFBuildEngine.cs
rename to src/Cake.AzurePipelines.Module/AzurePipelinesEngine.cs
index e8bdd60b..02c1c663 100644
--- a/src/Cake.TFBuild.Module/TFBuildEngine.cs
+++ b/src/Cake.AzurePipelines.Module/AzurePipelinesEngine.cs
@@ -2,24 +2,26 @@
using System.Collections.Generic;
using System.Linq;
using Cake.Common.Build;
-using Cake.Common.Build.TFBuild.Data;
+using Cake.Common.Build.AzurePipelines.Data;
using Cake.Core;
using Cake.Core.Diagnostics;
using Cake.Module.Shared;
-namespace Cake.TFBuild.Module
+namespace Cake.AzurePipelines.Module
{
+ using Cake.Common.Build.AzurePipelines.Data;
+
///
- /// Represents a Cake engine for use with the TF Build engine.
+ /// Represents a Cake engine for use with the Azure Pipelines engine.
///
- public sealed class TFBuildEngine : CakeEngineBase
+ public sealed class AzurePipelinesEngine : CakeEngineBase
{
///
- /// Initializes a new instance of the type.
+ /// Initializes a new instance of the type.
///
///
/// The log.
- public TFBuildEngine(ICakeDataService dataService, ICakeLog log) : base(new CakeEngine(dataService, log))
+ public AzurePipelinesEngine(ICakeDataService dataService, ICakeLog log) : base(new CakeEngine(dataService, log))
{
_engine.Setup += BuildSetup;
_engine.TaskSetup += OnTaskSetup;
@@ -32,11 +34,11 @@ private void OnBuildTeardown(object sender, TeardownEventArgs e)
var b = e.TeardownContext.BuildSystem();
if (b.IsRunningOnPipelines())
{
- b.TFBuild.Commands.UpdateRecord(_parentRecord, new TFBuildRecordData
+ b.AzurePipelines.Commands.UpdateRecord(_parentRecord, new AzurePipelinesRecordData
{
FinishTime = DateTime.Now,
- Status = TFBuildTaskStatus.Completed,
- Result = e.TeardownContext.Successful ? TFBuildTaskResult.Succeeded : TFBuildTaskResult.Failed,
+ Status = AzurePipelinesTaskStatus.Completed,
+ Result = e.TeardownContext.Successful ? AzurePipelinesTaskResult.Succeeded : AzurePipelinesTaskResult.Failed,
Progress = GetProgress(TaskRecords.Count, _engine.Tasks.Count),
});
}
@@ -49,10 +51,10 @@ private void OnTaskTeardown(object sender, TaskTeardownEventArgs e)
{
var currentTask = _engine.Tasks.First(t => t.Name == e.TaskTeardownContext.Task.Name);
var currentIndex = _engine.Tasks.ToList().IndexOf(currentTask);
- //b.TFBuild.UpdateProgress(_parentRecord, GetProgress(currentIndex, _engine.Tasks.Count));
+ //b.AzurePipelines.UpdateProgress(_parentRecord, GetProgress(currentIndex, _engine.Tasks.Count));
var g = TaskRecords[currentTask.Name];
- b.TFBuild.Commands.UpdateRecord(g,
- new TFBuildRecordData
+ b.AzurePipelines.Commands.UpdateRecord(g,
+ new AzurePipelinesRecordData
{
FinishTime = DateTime.Now,
Progress = 100,
@@ -61,12 +63,12 @@ private void OnTaskTeardown(object sender, TaskTeardownEventArgs e)
}
}
- private TFBuildTaskResult? GetTaskResult(ITaskTeardownContext taskTeardownContext)
+ private AzurePipelinesTaskResult? GetTaskResult(ITaskTeardownContext taskTeardownContext)
{
- if (taskTeardownContext.Skipped) return TFBuildTaskResult.Skipped;
+ if (taskTeardownContext.Skipped) return AzurePipelinesTaskResult.Skipped;
// TODO: this logic should be improved but is difficult without task status in the context
- return TFBuildTaskResult.Succeeded;
+ return AzurePipelinesTaskResult.Succeeded;
}
private void OnTaskSetup(object sender, TaskSetupEventArgs e)
@@ -77,12 +79,12 @@ private void OnTaskSetup(object sender, TaskSetupEventArgs e)
var currentTask =
_engine.Tasks.First(t => t.Name == e.TaskSetupContext.Task.Name);
var currentIndex = _engine.Tasks.ToList().IndexOf(currentTask);
- b.TFBuild.UpdateProgress(_parentRecord, GetProgress(currentIndex, _engine.Tasks.Count));
- //b.TFBuild.Commands.SetProgress(GetProgress(currentIndex, _engine.Tasks.Count), e.TaskSetupContext.Task.Name);
- b.TFBuild.Commands.SetProgress(GetProgress(currentIndex, _engine.Tasks.Count), string.Empty);
- var g = e.TaskSetupContext.TFBuild()
+ b.AzurePipelines.UpdateProgress(_parentRecord, GetProgress(currentIndex, _engine.Tasks.Count));
+ //b.AzurePipelines.Commands.SetProgress(GetProgress(currentIndex, _engine.Tasks.Count), e.TaskSetupContext.Task.Name);
+ b.AzurePipelines.Commands.SetProgress(GetProgress(currentIndex, _engine.Tasks.Count), string.Empty);
+ var g = e.TaskSetupContext.AzurePipelines()
.Commands.CreateNewRecord(currentTask.Name, "build", TaskRecords.Count + 1,
- new TFBuildRecordData() {StartTime = DateTime.Now, ParentRecord = _parentRecord, Progress = 0});
+ new AzurePipelinesRecordData() {StartTime = DateTime.Now, ParentRecord = _parentRecord, Progress = 0});
TaskRecords.Add(currentTask.Name, g);
}
}
@@ -98,10 +100,10 @@ private void BuildSetup(object sender, SetupEventArgs e)
var b = e.Context.BuildSystem();
if (b.IsRunningOnPipelines())
{
- //e.Context.TFBuild().Commands.SetProgress(0, "Build Setup");
- e.Context.TFBuild().Commands.SetProgress(0, string.Empty);
- var g = e.Context.TFBuild()
- .Commands.CreateNewRecord("Cake Build", "build", 0, new TFBuildRecordData {StartTime = DateTime.Now});
+ //e.Context.AzurePipelines().Commands.SetProgress(0, "Build Setup");
+ e.Context.AzurePipelines().Commands.SetProgress(0, string.Empty);
+ var g = e.Context.AzurePipelines()
+ .Commands.CreateNewRecord("Cake Build", "build", 0, new AzurePipelinesRecordData {StartTime = DateTime.Now});
_parentRecord = g;
}
}
diff --git a/src/Cake.TFBuild.Module/TFBuildLog.cs b/src/Cake.AzurePipelines.Module/AzurePipelinesLog.cs
similarity index 90%
rename from src/Cake.TFBuild.Module/TFBuildLog.cs
rename to src/Cake.AzurePipelines.Module/AzurePipelinesLog.cs
index b6ba118f..e389c709 100644
--- a/src/Cake.TFBuild.Module/TFBuildLog.cs
+++ b/src/Cake.AzurePipelines.Module/AzurePipelinesLog.cs
@@ -5,11 +5,11 @@
using Cake.Core.Diagnostics;
using Cake.Module.Shared;
-namespace Cake.TFBuild.Module
+namespace Cake.AzurePipelines.Module
{
- public class TFBuildLog : ICakeLog
+ public class AzurePipelinesLog : ICakeLog
{
- public TFBuildLog(IConsole console, Verbosity verbosity = Verbosity.Normal)
+ public AzurePipelinesLog(IConsole console, Verbosity verbosity = Verbosity.Normal)
{
_cakeLogImplementation = new Core.Diagnostics.CakeBuildLog(console, verbosity);
}
diff --git a/src/Cake.AzurePipelines.Module/AzurePipelinesModule.cs b/src/Cake.AzurePipelines.Module/AzurePipelinesModule.cs
new file mode 100644
index 00000000..37c504d2
--- /dev/null
+++ b/src/Cake.AzurePipelines.Module/AzurePipelinesModule.cs
@@ -0,0 +1,22 @@
+using Cake.Core;
+using Cake.Core.Annotations;
+using Cake.Core.Composition;
+using Cake.Core.Diagnostics;
+
+[assembly: CakeModule(typeof(Cake.AzurePipelines.Module.AzurePipelinesModule))]
+
+namespace Cake.AzurePipelines.Module
+{
+ public class AzurePipelinesModule : ICakeModule
+ {
+ public void Register(ICakeContainerRegistrar registrar)
+ {
+ if (!string.IsNullOrWhiteSpace(System.Environment.GetEnvironmentVariable("TF_BUILD")))
+ {
+ registrar.RegisterType().As().Singleton();
+ registrar.RegisterType().As().Singleton();
+ registrar.RegisterType().As().Singleton();
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Cake.TFBuild.Module/TFBuildReportPrinter.cs b/src/Cake.AzurePipelines.Module/AzurePipelinesReportPrinter.cs
similarity index 83%
rename from src/Cake.TFBuild.Module/TFBuildReportPrinter.cs
rename to src/Cake.AzurePipelines.Module/AzurePipelinesReportPrinter.cs
index 153c7466..161a907e 100644
--- a/src/Cake.TFBuild.Module/TFBuildReportPrinter.cs
+++ b/src/Cake.AzurePipelines.Module/AzurePipelinesReportPrinter.cs
@@ -6,19 +6,19 @@
using Cake.Core.IO;
using Cake.Module.Shared;
-namespace Cake.TFBuild.Module
+namespace Cake.AzurePipelines.Module
{
///
/// The TF Build/Azure Pipelines report printer.
///
- public class TFBuildReportPrinter : CakeReportPrinterBase
+ public class AzurePipelinesReportPrinter : CakeReportPrinterBase
{
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
/// The console.
/// The context.
- public TFBuildReportPrinter(IConsole console, ICakeContext context) : base(console, context)
+ public AzurePipelinesReportPrinter(IConsole console, ICakeContext context) : base(console, context)
{
}
@@ -36,7 +36,7 @@ public override void Write(CakeReport report)
try
{
- if (_context.TFBuild().IsRunningOnAzurePipelines || _context.TFBuild().IsRunningOnAzurePipelinesHosted) {
+ if (_context.AzurePipelines().IsRunningOnAzurePipelines || _context.AzurePipelines().IsRunningOnAzurePipelinesHosted) {
WriteToMarkdown(report);
}
WriteToConsole(report);
@@ -74,7 +74,7 @@ private void WriteToMarkdown(CakeReport report)
}
}
sb.AppendLine("");
- var b = _context.BuildSystem().TFBuild;
+ var b = _context.BuildSystem().AzurePipelines;
FilePath agentWorkPath = b.Environment.Build.ArtifactStagingDirectory + "/tasksummary.md";
var absFilePath = agentWorkPath.MakeAbsolute(_context.Environment);
var file = _context.FileSystem.GetFile(absFilePath);
diff --git a/src/Cake.TFBuild.Module/Cake.TFBuild.Module.csproj b/src/Cake.AzurePipelines.Module/Cake.AzurePipelines.Module.csproj
similarity index 59%
rename from src/Cake.TFBuild.Module/Cake.TFBuild.Module.csproj
rename to src/Cake.AzurePipelines.Module/Cake.AzurePipelines.Module.csproj
index 27699855..0385e707 100644
--- a/src/Cake.TFBuild.Module/Cake.TFBuild.Module.csproj
+++ b/src/Cake.AzurePipelines.Module/Cake.AzurePipelines.Module.csproj
@@ -3,8 +3,8 @@
netstandard2.0
true
- Cake.TFBuild.Module
- Cake.TFBuild.Module
+ Cake.AzurePipelines.Module
+ Cake.AzurePipelines.Module
@@ -12,8 +12,8 @@
-
-
+
+
diff --git a/src/Cake.AzurePipelines.Module/Extensions.cs b/src/Cake.AzurePipelines.Module/Extensions.cs
new file mode 100644
index 00000000..494fda7c
--- /dev/null
+++ b/src/Cake.AzurePipelines.Module/Extensions.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Cake.Common.Build.AzurePipelines;
+using Cake.Common.Build.AzurePipelines.Data;
+
+namespace Cake.AzurePipelines.Module
+{
+ public static class Extensions
+ {
+ public static void UpdateProgress(this IAzurePipelinesProvider provider, Guid parent, int progress)
+ {
+ provider.Commands.UpdateRecord(parent, new AzurePipelinesRecordData {Progress = progress, Status = AzurePipelinesTaskStatus.InProgress});
+ }
+
+ internal static bool IsRunningOnPipelines(this Common.Build.BuildSystem b) => b.IsRunningOnAzurePipelines || b.IsRunningOnAzurePipelinesHosted;
+ }
+}
diff --git a/src/Cake.Module.Shared/Cake.Module.Shared.csproj b/src/Cake.Module.Shared/Cake.Module.Shared.csproj
index 8a0a0997..d614c58d 100644
--- a/src/Cake.Module.Shared/Cake.Module.Shared.csproj
+++ b/src/Cake.Module.Shared/Cake.Module.Shared.csproj
@@ -14,7 +14,7 @@
-
-
+
+
diff --git a/src/Cake.MyGet.Module/Cake.MyGet.Module.csproj b/src/Cake.MyGet.Module/Cake.MyGet.Module.csproj
index fd605b17..35349b61 100644
--- a/src/Cake.MyGet.Module/Cake.MyGet.Module.csproj
+++ b/src/Cake.MyGet.Module/Cake.MyGet.Module.csproj
@@ -12,8 +12,8 @@
-
-
+
+
diff --git a/src/Cake.TFBuild.Module/Extensions.cs b/src/Cake.TFBuild.Module/Extensions.cs
deleted file mode 100644
index 74cc9180..00000000
--- a/src/Cake.TFBuild.Module/Extensions.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-using Cake.Common.Build.TFBuild;
-using Cake.Common.Build.TFBuild.Data;
-
-namespace Cake.TFBuild.Module
-{
- public static class Extensions
- {
- public static void UpdateProgress(this ITFBuildProvider provider, Guid parent, int progress)
- {
- provider.Commands.UpdateRecord(parent, new TFBuildRecordData {Progress = progress, Status = TFBuildTaskStatus.InProgress});
- }
-
- internal static bool IsRunningOnPipelines(this Common.Build.BuildSystem b) => b.IsRunningOnAzurePipelines || b.IsRunningOnAzurePipelinesHosted;
- }
-}
diff --git a/src/Cake.TFBuild.Module/TFBuildModule.cs b/src/Cake.TFBuild.Module/TFBuildModule.cs
deleted file mode 100644
index 92d1844d..00000000
--- a/src/Cake.TFBuild.Module/TFBuildModule.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using Cake.Core;
-using Cake.Core.Annotations;
-using Cake.Core.Composition;
-using Cake.Core.Diagnostics;
-
-[assembly: CakeModule(typeof(Cake.TFBuild.Module.TFBuildModule))]
-
-namespace Cake.TFBuild.Module
-{
- public class TFBuildModule : ICakeModule
- {
- public void Register(ICakeContainerRegistrar registrar)
- {
- if (!string.IsNullOrWhiteSpace(System.Environment.GetEnvironmentVariable("TF_BUILD")))
- {
- registrar.RegisterType().As().Singleton();
- registrar.RegisterType().As().Singleton();
- registrar.RegisterType().As().Singleton();
- }
- }
- }
-}
\ No newline at end of file
diff --git a/src/Cake.TeamCity.Module/Cake.TeamCity.Module.csproj b/src/Cake.TeamCity.Module/Cake.TeamCity.Module.csproj
index fca6e36f..52e67d22 100644
--- a/src/Cake.TeamCity.Module/Cake.TeamCity.Module.csproj
+++ b/src/Cake.TeamCity.Module/Cake.TeamCity.Module.csproj
@@ -12,8 +12,8 @@
-
-
+
+
diff --git a/src/Cake.TeamCity.Module/TeamCityModule.cs b/src/Cake.TeamCity.Module/TeamCityModule.cs
index e659e308..8bf26cfc 100644
--- a/src/Cake.TeamCity.Module/TeamCityModule.cs
+++ b/src/Cake.TeamCity.Module/TeamCityModule.cs
@@ -16,7 +16,7 @@ public void Register(ICakeContainerRegistrar registrar)
{
registrar.RegisterType().As().Singleton();
registrar.RegisterType().As().Singleton();
- //registrar.RegisterType().As().Singleton();
+ //registrar.RegisterType().As().Singleton();
}
}
}
diff --git a/src/Cake.TravisCI.Module/Cake.TravisCI.Module.csproj b/src/Cake.TravisCI.Module/Cake.TravisCI.Module.csproj
index 1fd9bbd6..97b3d92a 100644
--- a/src/Cake.TravisCI.Module/Cake.TravisCI.Module.csproj
+++ b/src/Cake.TravisCI.Module/Cake.TravisCI.Module.csproj
@@ -12,8 +12,8 @@
-
-
+
+
diff --git a/src/Cake.TravisCI.Module/TravisCIModule.cs b/src/Cake.TravisCI.Module/TravisCIModule.cs
index 3bbffa91..8f56b0d0 100644
--- a/src/Cake.TravisCI.Module/TravisCIModule.cs
+++ b/src/Cake.TravisCI.Module/TravisCIModule.cs
@@ -17,7 +17,7 @@ public void Register(ICakeContainerRegistrar registrar)
{
registrar.RegisterType().As().Singleton();
registrar.RegisterType().As().Singleton();
- //registrar.RegisterType().As().Singleton();
+ //registrar.RegisterType().As().Singleton();
}
}
}
diff --git a/tools/packages.config b/tools/packages.config
index 9fc114d4..218f0a47 100644
--- a/tools/packages.config
+++ b/tools/packages.config
@@ -1,4 +1,4 @@
-
+