Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
6d65b59
Upgrade `actions/checkout` in workflows to version 5 and improve logg…
darthsharp Jan 11, 2026
51e5a6b
Add `PublishTask` and related settings for .NET publish functionality
darthsharp Jan 11, 2026
93bf1ff
Refactor task execution to use type-specific settings and add task te…
darthsharp Jan 12, 2026
346b0be
Add `CreateDistPackagesTask` implementation with support for packagin…
darthsharp Jan 12, 2026
805ef8d
Migrate `CreativeCoders.IO.Archives` and `CreativeCoders.IO.Ports` in…
darthsharp Jan 16, 2026
c61c7e3
Use `Ensure.NotNull` for null validation in archive classes
darthsharp Jan 16, 2026
c34ef9c
- Refactor `FrostingTaskBase` to enable skipping tasks without settin…
darthsharp Jan 16, 2026
6a1cf0f
Enhance TAR/ZIP archive handling with `IFileSystem` integration and `…
darthsharp Jan 16, 2026
76b0897
Remove redundant `ProjectReference` to `CreativeCoders.IO` in unit te…
darthsharp Jan 16, 2026
4a877dd
Add unit test files and exclude `ArchiveWriterFactory` from code cove…
darthsharp Jan 16, 2026
cab4934
Update test file inclusion in `CreativeCoders.IO.UnitTests.csproj`
darthsharp Jan 16, 2026
7fb13b2
Add comprehensive unit tests for `TarArchiveWriter` and introduce new…
darthsharp Jan 16, 2026
da8df82
Remove unused test files and update project file accordingly in `Crea…
darthsharp Jan 16, 2026
4227742
Add comprehensive unit tests for `ZipArchiveWriter` and update `leave…
darthsharp Jan 16, 2026
cf65efa
Exclude `Dispose` methods in `ZipArchiveWriter` and `TarArchiveWriter…
darthsharp Jan 16, 2026
2613b7b
Add comprehensive unit tests for `TarArchiveReader` and improve file …
darthsharp Jan 16, 2026
86925c2
Integrate `IFileSystem` into `ZipArchiveReader` and `ZipArchiveReader…
darthsharp Jan 16, 2026
e861cd3
Add unit tests for `ZipArchiveReader` and enhance cleanup utilities
darthsharp Jan 16, 2026
920e22a
Exclude `Dispose` methods in `ZipArchiveReader` and `TarArchiveReader…
darthsharp Jan 16, 2026
8f75693
Fix path construction in `ZipArchiveReaderTests` to use `Path.Combine…
darthsharp Jan 16, 2026
b7ee922
Improve path handling in `ZipArchiveReaderTests` by using `Path.Combi…
darthsharp Jan 16, 2026
ffa55fa
Add GitHub release creation logic and utilities
darthsharp Jan 16, 2026
f090e92
Refactor GitHub release task to use `IGitHubClientFactory` for improv…
darthsharp Jan 16, 2026
73139d6
Integrate `IFileSystem` abstraction into archive writer factories and…
darthsharp Jan 17, 2026
0ccaadd
Use constant `CliHostSampleAppProjectName` for improved maintainabili…
darthsharp Jan 17, 2026
1cb7ac9
Use `_fileSystem` abstraction in `ZipArchiveWriterFactory` to improve…
darthsharp Jan 17, 2026
1c615a0
Add unit tests for `ArchiveWriterFactory` to validate writer creation…
darthsharp Jan 17, 2026
50ef092
Add project for `CreativeCoders.CakeBuild.Tests` and integrate it int…
darthsharp Jan 17, 2026
fb7f65a
Remove `<TargetFramework>` property from test project files for clean…
darthsharp Jan 17, 2026
ce919e0
Add unit tests for Tar and Zip archive reader and writer factories
darthsharp Jan 17, 2026
d36ed08
Make `ExtendedAttributes` property immutable by changing it to `init`…
darthsharp Jan 17, 2026
36a5a0b
Make `ExtendedAttributes` property mutable by changing accessor from …
darthsharp Jan 17, 2026
2e7d084
Add unit tests for Cake build task templates
darthsharp Jan 17, 2026
4a0336e
Refactor and enhance Cake build tasks and unit tests
darthsharp Jan 17, 2026
aeac475
Make `OpenEntryStreamAsync` in `ZipArchiveReader` support copying dat…
darthsharp Jan 17, 2026
22af750
Add unit tests for `TarGzArchiveReader` and enhance `OpenEntryStreamA…
darthsharp Jan 17, 2026
22525a6
Refactor `CreateGitHubReleaseTask` to simplify stream handling and im…
darthsharp Jan 17, 2026
c57f1f8
Add `PathSafety` utility for path validation and integrate it into ar…
darthsharp Jan 17, 2026
4981dd9
Improve path handling in archive readers and enhance GZip file extens…
darthsharp Jan 17, 2026
7cd4415
Update source/CakeBuild/CreativeCoders.CakeBuild/Tasks/Templates/Sett…
darthsharp Jan 17, 2026
198bd48
Update source/CakeBuild/CreativeCoders.CakeBuild/Tasks/Templates/Crea…
darthsharp Jan 17, 2026
ba051c0
Add nullability annotations and enhance `CreateGitHubReleaseTask` tests
darthsharp Jan 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ jobs:
TERM: xterm
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION: 1
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: 'Cache: ~/.nuget/packages'
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
TERM: xterm
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION: 1
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: 'Cache: ~/.nuget/packages'
Expand All @@ -38,7 +38,7 @@ jobs:
TERM: xterm
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION: 1
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: 'Cache: ~/.nuget/packages'
Expand All @@ -61,7 +61,7 @@ jobs:
TERM: xterm
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION: 1
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: 'Cache: ~/.nuget/packages'
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
TERM: xterm
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION: 1
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: 'Cache: ~/.nuget/packages'
Expand All @@ -36,7 +36,7 @@ jobs:
TERM: xterm
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION: 1
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: 'Cache: ~/.nuget/packages'
Expand All @@ -59,7 +59,7 @@ jobs:
TERM: xterm
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION: 1
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: 'Cache: ~/.nuget/packages'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
TERM: xterm
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION: 1
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: 'Cache: ~/.nuget/packages'
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -328,3 +328,5 @@ ASALocalRun/
.nuke

.DS_Store

.ai-plans
28 changes: 21 additions & 7 deletions Core.sln
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreativeCoders.Daemon.Windo
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IO", "IO", "{F31389F0-613B-48B1-AA99-6BFC3D8D7D1A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreativeCoders.IO", "source\IO\CreativeCoders.IO\CreativeCoders.IO.csproj", "{3B1E60AF-5B5C-4BED-8AAF-79167CF5E2C0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreativeCoders.Net.JsonRpc", "source\Net\CreativeCoders.Net.JsonRpc\CreativeCoders.Net.JsonRpc.csproj", "{0D77E6F7-5D76-4DF0-BE57-BA459951CD2F}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NoSql", "NoSql", "{F708D571-2BF4-4F2D-9711-B00D245A0BB3}"
Expand Down Expand Up @@ -258,6 +256,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ci", "ci", "{F3331DB3-C40A-
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Build", "build\Build.csproj", "{4A397E49-CB4F-4348-9798-A7F2B5F276DA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreativeCoders.IO.Archives", "source\IO\CreativeCoders.IO.Archives\CreativeCoders.IO.Archives.csproj", "{EC120660-306E-4E48-8FBB-43D9F3962CEE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreativeCoders.IO.Ports", "source\IO\CreativeCoders.IO.Ports\CreativeCoders.IO.Ports.csproj", "{C34426F1-E40C-498D-8FDE-D4ECEB3E49D4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreativeCoders.CakeBuild.Tests", "tests\CreativeCoders.CakeBuild.Tests\CreativeCoders.CakeBuild.Tests.csproj", "{A081DDB3-A9DB-498F-824B-C605ACFDB43A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -428,10 +432,6 @@ Global
{30E75E1A-146F-422E-8C14-3AE0F7FB99B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{30E75E1A-146F-422E-8C14-3AE0F7FB99B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{30E75E1A-146F-422E-8C14-3AE0F7FB99B1}.Release|Any CPU.Build.0 = Release|Any CPU
{3B1E60AF-5B5C-4BED-8AAF-79167CF5E2C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3B1E60AF-5B5C-4BED-8AAF-79167CF5E2C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3B1E60AF-5B5C-4BED-8AAF-79167CF5E2C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3B1E60AF-5B5C-4BED-8AAF-79167CF5E2C0}.Release|Any CPU.Build.0 = Release|Any CPU
{0D77E6F7-5D76-4DF0-BE57-BA459951CD2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0D77E6F7-5D76-4DF0-BE57-BA459951CD2F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0D77E6F7-5D76-4DF0-BE57-BA459951CD2F}.Release|Any CPU.ActiveCfg = Release|Any CPU
Expand Down Expand Up @@ -576,6 +576,18 @@ Global
{58C01CB8-B65A-44FE-9BE0-22929CD474A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4A397E49-CB4F-4348-9798-A7F2B5F276DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4A397E49-CB4F-4348-9798-A7F2B5F276DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EC120660-306E-4E48-8FBB-43D9F3962CEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EC120660-306E-4E48-8FBB-43D9F3962CEE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EC120660-306E-4E48-8FBB-43D9F3962CEE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EC120660-306E-4E48-8FBB-43D9F3962CEE}.Release|Any CPU.Build.0 = Release|Any CPU
{C34426F1-E40C-498D-8FDE-D4ECEB3E49D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C34426F1-E40C-498D-8FDE-D4ECEB3E49D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C34426F1-E40C-498D-8FDE-D4ECEB3E49D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C34426F1-E40C-498D-8FDE-D4ECEB3E49D4}.Release|Any CPU.Build.0 = Release|Any CPU
{A081DDB3-A9DB-498F-824B-C605ACFDB43A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A081DDB3-A9DB-498F-824B-C605ACFDB43A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A081DDB3-A9DB-498F-824B-C605ACFDB43A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A081DDB3-A9DB-498F-824B-C605ACFDB43A}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -637,7 +649,6 @@ Global
{74B31A58-28CB-4B90-B2A4-C64F339FC93D} = {99FFD9AA-7AEB-4A9D-881D-00B7277C3494}
{30E75E1A-146F-422E-8C14-3AE0F7FB99B1} = {99FFD9AA-7AEB-4A9D-881D-00B7277C3494}
{F31389F0-613B-48B1-AA99-6BFC3D8D7D1A} = {2A7105AA-05B6-469A-93F5-719723A4D90D}
{3B1E60AF-5B5C-4BED-8AAF-79167CF5E2C0} = {F31389F0-613B-48B1-AA99-6BFC3D8D7D1A}
{0D77E6F7-5D76-4DF0-BE57-BA459951CD2F} = {354E69EA-9EA1-4F7E-A3C2-372DFB259C35}
{F708D571-2BF4-4F2D-9711-B00D245A0BB3} = {D913C0D3-85B9-4E89-82D6-8371FB6C99E7}
{E6D5CE84-542C-4125-B094-D8C67A11AF13} = {F708D571-2BF4-4F2D-9711-B00D245A0BB3}
Expand Down Expand Up @@ -684,6 +695,9 @@ Global
{58C01CB8-B65A-44FE-9BE0-22929CD474A2} = {72E179CA-7AE6-412A-856D-7BD13838E8E3}
{F3331DB3-C40A-4712-A545-EE5C628B0F39} = {92288F2D-DE57-4018-855B-BD7F2344265F}
{4A397E49-CB4F-4348-9798-A7F2B5F276DA} = {DB7A40EE-F469-4B87-A629-250BBB9ECC92}
{EC120660-306E-4E48-8FBB-43D9F3962CEE} = {F31389F0-613B-48B1-AA99-6BFC3D8D7D1A}
{C34426F1-E40C-498D-8FDE-D4ECEB3E49D4} = {F31389F0-613B-48B1-AA99-6BFC3D8D7D1A}
{A081DDB3-A9DB-498F-824B-C605ACFDB43A} = {5A3FFD14-2258-4007-AC77-BAFB3B3EB26F}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {EE24476B-9A4C-4146-B982-3461FAF8B3B0}
Expand Down
29 changes: 28 additions & 1 deletion samples/CakeBuildSample/SampleBuildContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
namespace CakeBuildSample;

[UsedImplicitly]
public class SampleBuildContext(ICakeContext context) : CakeBuildContext(context), IDefaultTaskSettings
public class SampleBuildContext(ICakeContext context)
: CakeBuildContext(context), IDefaultTaskSettings, ICreateDistPackagesTaskSettings
{
public IList<DirectoryPath> DirectoriesToClean => this.CastAs<ICleanTaskSettings>()
.GetDefaultDirectoriesToClean().AddRange(RootDir.Combine(".tests"));
Expand All @@ -30,4 +31,30 @@ public class SampleBuildContext(ICakeContext context) : CakeBuildContext(context
public bool SkipPush => this.BuildSystem().IsPullRequest ||
this.BuildSystem().IsLocalBuild ||
this.GitHubActions().Environment.Runner.OS != "Linux";

public DirectoryPath PublishOutputDir => ArtifactsDir.Combine("publish");

private const string CliHostSampleAppProjectName = "CliHostSampleApp";

public IEnumerable<PublishingItem> PublishingItems =>
[
new PublishingItem(
RootDir.Combine("samples").Combine(CliHostSampleAppProjectName)
.CombineWithFilePath("CliHostSampleApp.csproj"),
PublishOutputDir.Combine(CliHostSampleAppProjectName))
];

public IEnumerable<DistPackage> DistPackages =>
[
new DistPackage("clihostsample", PublishOutputDir.Combine(CliHostSampleAppProjectName))
{
Format = DistPackageFormat.TarGz
},
new DistPackage("clihostsample", PublishOutputDir.Combine(CliHostSampleAppProjectName))
{
Format = DistPackageFormat.Zip
}
];

public DirectoryPath DistOutputPath => ArtifactsDir.Combine("dist");
}
37 changes: 1 addition & 36 deletions source/CakeBuild/CreativeCoders.CakeBuild/CakeHostBuilder.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
using Cake.Common.Diagnostics;
using Cake.Core;
using Cake.Frosting;
using CreativeCoders.CakeBuild.Tasks.Templates.Settings;
using CreativeCoders.Core;
using CreativeCoders.Core.IO;
using JetBrains.Annotations;
using Microsoft.Extensions.DependencyInjection;

namespace CreativeCoders.CakeBuild;

Expand Down Expand Up @@ -93,36 +91,3 @@ public CakeHost Build()
return _cakeHost;
}
}

[UsedImplicitly]
public class DefaultHostSetup : IFrostingSetup
{
public void Setup(ICakeContext context, ISetupContext info)
{
if (context is not CakeBuildContext buildContext)
{
return;
}

if (!buildContext.PrintSetupSummary)
{
return;
}

var pushSettings = buildContext.GetSettings<INuGetPushTaskSettings>();

if (pushSettings != null)
{
context.Information($"Skip Push: {pushSettings.SkipPush}");
}

var version = buildContext.Version;

context.Information("Version Info");

context.Information($"Informational Version: {version.InformationalVersion}");
context.Information($"Assembly Version: {version.AssemblySemVer}");
context.Information($"File Version: {version.AssemblySemFileVer}");
context.Information($"Package Version: {version.SemVer}");
}
}
33 changes: 17 additions & 16 deletions source/CakeBuild/CreativeCoders.CakeBuild/CakeHostExtensions.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
using System.Reflection;
using Cake.Frosting;
using CreativeCoders.CakeBuild.BuildServer;
using CreativeCoders.CakeBuild.GitHub;
using CreativeCoders.CakeBuild.Tasks.Defaults;
using CreativeCoders.CakeBuild.Tasks.Templates.Settings;
using CreativeCoders.IO.Archives;
using JetBrains.Annotations;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
Expand Down Expand Up @@ -58,13 +60,21 @@ public static CakeHost AddTasks(this CakeHost host, params Type[] taskTypes)
public static CakeHost AddDefaultTasks(this CakeHost host)
{
return host.AddTasks(
typeof(CleanTask),
typeof(RestoreTask),
typeof(BuildTask),
typeof(TestTask),
typeof(CodeCoverageTask),
typeof(PackTask),
typeof(NuGetPushTask));
typeof(CleanTask),
typeof(RestoreTask),
typeof(BuildTask),
typeof(TestTask),
typeof(CodeCoverageTask),
typeof(PackTask),
typeof(NuGetPushTask),
typeof(PublishTask),
typeof(CreateDistPackagesTask),
typeof(CreateGitHubReleaseTask))
.ConfigureServices(x =>
{
x.AddArchives();
x.TryAddSingleton<IGitHubClientFactory, GitHubClientFactory>();
});
}

public static CakeHost AddBuildServerIntegration(this CakeHost host)
Expand All @@ -74,15 +84,6 @@ public static CakeHost AddBuildServerIntegration(this CakeHost host)
.UseTaskTeardown<EndGroupTaskTeardown>();
}

public static CakeHost SetupHost<TBuildContext, TBuildSetup>(this CakeHost host)
where TBuildSetup : class
where TBuildContext : CakeBuildContext
{
return host
.UseContext<TBuildContext>()
.UseBuildSetup<TBuildSetup>();
}

public static CakeHost UseBuildSetup<TBuildSetup>(this CakeHost host)
where TBuildSetup : class
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,13 @@

<ItemGroup>
<PackageReference Include="Cake.Frosting" Version="6.0.0"/>
<PackageReference Include="MimeMapping" Version="3.1.0"/>
<PackageReference Include="Octokit" Version="14.0.0"/>
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\Core\CreativeCoders.Core\CreativeCoders.Core.csproj"/>
<ProjectReference Include="..\..\IO\CreativeCoders.IO.Archives\CreativeCoders.IO.Archives.csproj"/>
</ItemGroup>

</Project>
50 changes: 50 additions & 0 deletions source/CakeBuild/CreativeCoders.CakeBuild/DefaultHostSetup.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
using Cake.Common.Diagnostics;
using Cake.Core;
using Cake.Frosting;
using CreativeCoders.CakeBuild.Tasks.Templates.Settings;
using JetBrains.Annotations;

namespace CreativeCoders.CakeBuild;

[UsedImplicitly]
public class DefaultHostSetup : IFrostingSetup
{
public void Setup(ICakeContext context, ISetupContext info)
{
if (context is not CakeBuildContext buildContext)
{
return;
}

if (!buildContext.PrintSetupSummary)
{
return;
}

context.Information("Build Setup Summary");
context.Information("===================");
context.Information("Tasks for execution:");

foreach (var task in info.TasksToExecute)
{
context.Information($"- {task.Name}");
}

var pushSettings = buildContext.GetSettings<INuGetPushTaskSettings>();

if (pushSettings != null)
{
context.Information($"Skip Push: {pushSettings.SkipPush}");
}

var version = buildContext.Version;

context.Information("Version Info");
context.Information("============");

context.Information($"Informational Version: {version.InformationalVersion}");
context.Information($"Assembly Version: {version.AssemblySemVer}");
context.Information($"File Version: {version.AssemblySemFileVer}");
context.Information($"Package Version: {version.SemVer}");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
using Octokit;

namespace CreativeCoders.CakeBuild.GitHub;

public interface IGitHubClientFactory
{
IGitHubClient Create(string gitHubToken);
}

public class GitHubClientFactory() : IGitHubClientFactory
{
public IGitHubClient Create(string gitHubToken)
{
return new GitHubClient(new ProductHeaderValue("CreativeCoders.CakeBuild"))
{
Credentials = new Credentials(gitHubToken)
};
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
using Cake.Frosting;
using CreativeCoders.CakeBuild.Tasks.Templates;
using CreativeCoders.IO.Archives;

namespace CreativeCoders.CakeBuild.Tasks.Defaults;

[TaskName("CreateDistPackages")]
public class CreateDistPackagesTask(IArchiveWriterFactory archiveWriterFactory)
: CreateDistPackagesTask<CakeBuildContext>(archiveWriterFactory);
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
using Cake.Frosting;
using CreativeCoders.CakeBuild.GitHub;
using CreativeCoders.CakeBuild.Tasks.Templates;

namespace CreativeCoders.CakeBuild.Tasks.Defaults;

[TaskName("CreateGitHubRelease")]
public class CreateGitHubReleaseTask(IGitHubClientFactory gitHubClientFactory)
: CreateGitHubReleaseTask<CakeBuildContext>(gitHubClientFactory);
Loading