mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-15 17:30:27 +08:00
61 lines
2.7 KiB
C#
61 lines
2.7 KiB
C#
using Cake.Common.Diagnostics;
|
|
using Cake.Frosting;
|
|
using MeoAssistantBuilder.Helper;
|
|
using System.IO.Compression;
|
|
|
|
namespace MeoAssistantBuilder.Tasks;
|
|
|
|
[TaskName("DevBuild")]
|
|
public sealed class DevBuildTask : FrostingTask<MaaBuildContext>
|
|
{
|
|
public override void Run(MaaBuildContext context)
|
|
{
|
|
context.Information("--------------------------------------------------");
|
|
context.Information("1. Get build information");
|
|
context.Information("--------------------------------------------------");
|
|
|
|
context.CleanArtifacts();
|
|
var (bt, hash) = context.GetBuildInformation();
|
|
var artifact = $"MaaBundle-DevBuild-(CONF)-{hash}-{bt}.zip";
|
|
context.Information($"Dev build of commit {hash} at {bt}");
|
|
|
|
context.Information("--------------------------------------------------");
|
|
context.Information("2. Build MaaBundle with configuration Release");
|
|
context.Information("--------------------------------------------------");
|
|
|
|
context.CleanAll();
|
|
|
|
context.BuildCore("Release");
|
|
context.BuildWpf("Release");
|
|
var releaseOutput = Path.Combine(Constants.MaaBuildOutputDirectory, "Release");
|
|
var releaseArtifact = Path.Combine(Constants.MaaProjectArtifactDirectory, artifact.Replace("(CONF)", "Release"));
|
|
ZipFile.CreateFromDirectory(releaseOutput, releaseArtifact);
|
|
|
|
context.Information("--------------------------------------------------");
|
|
context.Information("3. Build MaaBundle with configuration RelWithDebInfo");
|
|
context.Information("--------------------------------------------------");
|
|
|
|
context.CleanAll();
|
|
|
|
context.BuildCore("RelWithDebInfo");
|
|
context.BuildWpf("RelWithDebInfo");
|
|
var releaseDebugOutput = Path.Combine(Constants.MaaBuildOutputDirectory, "RelWithDebInfo");
|
|
var releaseDebugArtifact = Path.Combine(Constants.MaaProjectArtifactDirectory, artifact.Replace("(CONF)", "RelWithDebInfo"));
|
|
ZipFile.CreateFromDirectory(releaseDebugOutput, releaseDebugArtifact);
|
|
|
|
context.Information("--------------------------------------------------");
|
|
context.Information("4. Build MaaBundle with configuration CICD");
|
|
context.Information("--------------------------------------------------");
|
|
|
|
context.CleanAll();
|
|
|
|
context.BuildCore("CICD");
|
|
context.BuildWpf("CICD");
|
|
var releaseCiOutput = Path.Combine(Constants.MaaBuildOutputDirectory, "CICD");
|
|
var releaseCiArtifact = Path.Combine(Constants.MaaProjectArtifactDirectory, artifact.Replace("(CONF)", "CICD"));
|
|
context.CopyThirdPartyDlls(releaseCiOutput);
|
|
context.CopyResources(releaseCiOutput);
|
|
ZipFile.CreateFromDirectory(releaseCiOutput, releaseCiArtifact);
|
|
}
|
|
}
|