mirror of
https://github.com/nsnail/NetAdmin.git
synced 2025-12-25 23:45:49 +08:00
wip: 🧠 初步的框架
This commit is contained in:
198
Build.cake
Normal file
198
Build.cake
Normal file
@@ -0,0 +1,198 @@
|
||||
var target = Argument("target", "Default");
|
||||
var configuration = Argument("configuration", "Release");
|
||||
var outputDirectory = Argument("output-directory", "./dist/Server/publish");
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
// Tasks
|
||||
|
||||
Task("Clean")
|
||||
.Does(context =>
|
||||
{
|
||||
context.CleanDirectory("./dist");
|
||||
});
|
||||
|
||||
Task("Build")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(context =>
|
||||
{
|
||||
DotNetBuild("./NetAdmin.sln", new DotNetBuildSettings {
|
||||
Configuration = configuration
|
||||
});
|
||||
});
|
||||
|
||||
Task("Publish-BizServer")
|
||||
.Does(context =>
|
||||
{
|
||||
DotNetPublish("./src/Server/NetAdmin.BizServer.Host/NetAdmin.BizServer.Host.csproj", new DotNetPublishSettings {
|
||||
NoBuild = true,
|
||||
Configuration = configuration,
|
||||
OutputDirectory = new DirectoryPath(outputDirectory)
|
||||
});
|
||||
});
|
||||
|
||||
Task("Publish-SdkServer")
|
||||
.Does(context =>
|
||||
{
|
||||
DotNetPublish("./src/Server/NetAdmin.SdkServer.Host/NetAdmin.SdkServer.Host.csproj", new DotNetPublishSettings {
|
||||
NoBuild = true,
|
||||
Configuration = configuration,
|
||||
OutputDirectory = new DirectoryPath(outputDirectory)
|
||||
});
|
||||
});
|
||||
|
||||
Task("Publish-ManServer")
|
||||
.Does(context =>
|
||||
{
|
||||
DotNetPublish("./src/Server/NetAdmin.ManServer.Host/NetAdmin.ManServer.Host.csproj", new DotNetPublishSettings {
|
||||
NoBuild = true,
|
||||
Configuration = configuration,
|
||||
OutputDirectory = new DirectoryPath(outputDirectory)
|
||||
});
|
||||
});
|
||||
|
||||
Task("Publish-SdkService")
|
||||
.Does(context =>
|
||||
{
|
||||
DotNetPublish("./src/Server/NetAdmin.SdkService/NetAdmin.SdkService.csproj", new DotNetPublishSettings {
|
||||
NoBuild = true,
|
||||
Configuration = configuration,
|
||||
OutputDirectory = new DirectoryPath(outputDirectory)
|
||||
});
|
||||
});
|
||||
|
||||
Task("Publish-ManService")
|
||||
.Does(context =>
|
||||
{
|
||||
DotNetPublish("./src/Server/NetAdmin.ManService/NetAdmin.ManService.csproj", new DotNetPublishSettings {
|
||||
NoBuild = true,
|
||||
Configuration = configuration,
|
||||
OutputDirectory = new DirectoryPath(outputDirectory)
|
||||
});
|
||||
});
|
||||
|
||||
Task("Publish-CallbackService")
|
||||
.Does(context =>
|
||||
{
|
||||
DotNetPublish("./src/Server/NetAdmin.CallbackService/NetAdmin.CallbackService.csproj", new DotNetPublishSettings {
|
||||
NoBuild = true,
|
||||
Configuration = configuration,
|
||||
OutputDirectory = new DirectoryPath(outputDirectory)
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Task("Publish-ScheduledService")
|
||||
.Does(context =>
|
||||
{
|
||||
DotNetPublish("./src/Server/NetAdmin.ScheduledService/NetAdmin.ScheduledService.csproj", new DotNetPublishSettings {
|
||||
NoBuild = true,
|
||||
Configuration = configuration,
|
||||
OutputDirectory = new DirectoryPath(outputDirectory)
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Task("Publish-PushService")
|
||||
.Does(context =>
|
||||
{
|
||||
DotNetPublish("./src/Server/NetAdmin.PushService/NetAdmin.PushService.csproj", new DotNetPublishSettings {
|
||||
NoBuild = true,
|
||||
Configuration = configuration,
|
||||
OutputDirectory = new DirectoryPath(outputDirectory)
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
// Task("Test")
|
||||
// .IsDependentOn("Build")
|
||||
// .Does(context =>
|
||||
// {
|
||||
// DotNetTest("./test/Spectre.Console.Tests/Spectre.Console.Tests.csproj", new DotNetTestSettings {
|
||||
// Configuration = configuration,
|
||||
// NoRestore = true,
|
||||
// NoBuild = true,
|
||||
// });
|
||||
//
|
||||
// DotNetTest("./test/Spectre.Console.Cli.Tests/Spectre.Console.Cli.Tests.csproj", new DotNetTestSettings {
|
||||
// Configuration = configuration,
|
||||
// NoRestore = true,
|
||||
// NoBuild = true,
|
||||
// });
|
||||
//
|
||||
// DotNetTest("./test/Spectre.Console.Analyzer.Tests/Spectre.Console.Analyzer.Tests.csproj", new DotNetTestSettings {
|
||||
// Configuration = configuration,
|
||||
// NoRestore = true,
|
||||
// NoBuild = true,
|
||||
// });
|
||||
// });
|
||||
|
||||
|
||||
// Task("Publish-GitHub")
|
||||
// .WithCriteria(ctx => BuildSystem.IsRunningOnGitHubActions, "Not running on GitHub Actions")
|
||||
// //.IsDependentOn("Package")
|
||||
// .Does(context =>
|
||||
// {
|
||||
// var apiKey = Argument<string>("github-key", null);
|
||||
// if(string.IsNullOrWhiteSpace(apiKey)) {
|
||||
// throw new CakeException("No GitHub API key was provided.");
|
||||
// }
|
||||
//
|
||||
// // Publish to GitHub Packages
|
||||
// var exitCode = 0;
|
||||
// foreach(var file in context.GetFiles("./.artifacts/*.nupkg"))
|
||||
// {
|
||||
// context.Information("Publishing {0}...", file.GetFilename().FullPath);
|
||||
// exitCode += StartProcess("dotnet",
|
||||
// new ProcessSettings {
|
||||
// Arguments = new ProcessArgumentBuilder()
|
||||
// .Append("gpr")
|
||||
// .Append("push")
|
||||
// .AppendQuoted(file.FullPath)
|
||||
// .AppendSwitchSecret("-k", " ", apiKey)
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
//
|
||||
// if(exitCode != 0)
|
||||
// {
|
||||
// throw new CakeException("Could not push GitHub packages.");
|
||||
// }
|
||||
// });
|
||||
|
||||
// Task("Publish-NuGet")
|
||||
// //.WithCriteria(ctx => BuildSystem.IsRunningOnGitHubActions, "Not running on GitHub Actions")
|
||||
// //.IsDependentOn("Package")
|
||||
// .Does(context =>
|
||||
// {
|
||||
// var apiKey = Argument<string>("nuget-key", null);
|
||||
// if(string.IsNullOrWhiteSpace(apiKey)) {
|
||||
// throw new CakeException("No NuGet API key was provided.");
|
||||
// }
|
||||
//
|
||||
// // Publish to GitHub Packages
|
||||
// foreach(var file in context.GetFiles("./.artifacts/*.nupkg"))
|
||||
// {
|
||||
// context.Information("Publishing {0}...", file.GetFilename().FullPath);
|
||||
// DotNetNuGetPush(file.FullPath, new DotNetNuGetPushSettings
|
||||
// {
|
||||
// Source = "https://api.nuget.org/v3/index.json",
|
||||
// ApiKey = apiKey,
|
||||
// SkipDuplicate = true
|
||||
// });
|
||||
// }
|
||||
// });
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
// Targets
|
||||
|
||||
// Task("Publish")
|
||||
// .IsDependentOn("Publish-GitHub")
|
||||
// .IsDependentOn("Publish-NuGet");
|
||||
|
||||
Task("Default")
|
||||
.IsDependentOn("Build");
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
// Execution
|
||||
|
||||
RunTarget(target)
|
||||
Reference in New Issue
Block a user