Files
MaaAssistantArknights/tools/MaaBuilder/Builder/Job/Build.Job.Bundle.cs
2023-02-17 19:38:43 +08:00

53 lines
1.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System.IO;
using System.Text;
using System.Text.Json;
using Nuke.Common;
namespace MaaBuilder;
public partial class Build
{
private Target UseMaaDevBundle => _ => _
.DependsOn(WithCompileCoreRelease, WithCompileWpfRelease, WithSyncRes)
.Triggers(SetPackageBundled)
.Executes(() =>
{
var buildOutput = Parameters.BuildOutput / BuildConfiguration.Release;
BundlePackage(buildOutput, MaaDevBundlePackageName, "DevBundle");
});
private Target UseMaaRelease => _ => _
.DependsOn(WithCompileCoreRelease, WithCompileWpfRelease, WithSyncRes)
.Triggers(SetPackageBundled)
.Executes(() =>
{
var releaseBuildOutput = Parameters.BuildOutput / BuildConfiguration.Release;
foreach (var package in Parameters.Packages)
{
var name = package.NameTemplate.Replace("{VERSION}", Version).Replace("{PLATFORM}", Parameters.TargetPlatform.ToLower());
BundleMaaBundle(releaseBuildOutput, name, package);
}
});
private Target SetPackageBundled => _ => _
.After(UseMaaDevBundle)
.Executes(() =>
{
Information("已完成打包");
var checksumFile = Parameters.ArtifactOutput / "checksum.json";
foreach (var chs in ArtifactChecksums)
{
Information($"Artifact{chs}");
}
var str = JsonSerializer.Serialize(ArtifactChecksums);
// Encoding.Default => UTF8
// Encoding.UTF8 => UTF8-with-BOM
File.WriteAllText(checksumFile, str, Encoding.Default);
});
}