mirror of
https://github.com/space-wizards/RobustToolboxTemplate.git
synced 2026-02-10 16:24:49 -05:00
Opinionate the template, also some updates like the new build configs.
This commit is contained in:
parent
75a7ea8389
commit
4b84ff2033
16 changed files with 518 additions and 216 deletions
13
Content.Packaging/Content.Packaging.csproj
Normal file
13
Content.Packaging/Content.Packaging.csproj
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\RobustToolbox\Robust.Packaging\Robust.Packaging.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\RobustToolbox\MSBuild\Robust.Properties.targets" />
|
||||
</Project>
|
||||
32
Content.Packaging/ContentPackaging.cs
Normal file
32
Content.Packaging/ContentPackaging.cs
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
using Robust.Packaging;
|
||||
using Robust.Packaging.AssetProcessing;
|
||||
|
||||
namespace Content.Packaging;
|
||||
|
||||
public static class ContentPackaging
|
||||
{
|
||||
public static async Task WriteResources(
|
||||
string contentDir,
|
||||
AssetPass pass,
|
||||
IPackageLogger logger,
|
||||
CancellationToken cancel)
|
||||
{
|
||||
var graph = new RobustClientAssetGraph();
|
||||
pass.Dependencies.Add(new AssetPassDependency(graph.Output.Name));
|
||||
|
||||
AssetGraph.CalculateGraph(graph.AllPasses.Append(pass).ToArray(), logger);
|
||||
|
||||
var inputPass = graph.Input;
|
||||
|
||||
await RobustClientPackaging.WriteContentAssemblies(
|
||||
inputPass,
|
||||
contentDir,
|
||||
"Content.Client",
|
||||
new[] { "Content.Client", "Content.Shared" },
|
||||
cancel);
|
||||
|
||||
await RobustClientPackaging.WriteClientResources(contentDir, inputPass, cancel);
|
||||
|
||||
inputPass.InjectFinished();
|
||||
}
|
||||
}
|
||||
68
Content.Packaging/Program.cs
Normal file
68
Content.Packaging/Program.cs
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
using System.Diagnostics;
|
||||
using System.IO.Compression;
|
||||
using Content.Packaging;
|
||||
using Robust.Packaging;
|
||||
using Robust.Packaging.AssetProcessing.Passes;
|
||||
using Robust.Packaging.Utility;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
IPackageLogger logger = new PackageLoggerConsole();
|
||||
|
||||
logger.Info("Clearing release/ directory");
|
||||
Directory.CreateDirectory("release");
|
||||
|
||||
var skipBuild = args.Contains("--skip-build");
|
||||
|
||||
if (!skipBuild)
|
||||
WipeBin();
|
||||
|
||||
await Build(skipBuild);
|
||||
|
||||
async Task Build(bool skipBuild)
|
||||
{
|
||||
logger.Info("Building project...");
|
||||
|
||||
if (!skipBuild)
|
||||
{
|
||||
await ProcessHelpers.RunCheck(new ProcessStartInfo
|
||||
{
|
||||
FileName = "dotnet",
|
||||
ArgumentList =
|
||||
{
|
||||
"build",
|
||||
Path.Combine("Content.Client", "Content.Client.csproj"),
|
||||
"-c", "Release",
|
||||
"--nologo",
|
||||
"/v:m",
|
||||
"/t:Rebuild",
|
||||
"/p:FullRelease=true",
|
||||
"/m"
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
logger.Info("Packaging client...");
|
||||
|
||||
var sw = RStopwatch.StartNew();
|
||||
|
||||
{
|
||||
using var zipFile =
|
||||
File.Open(Path.Combine("release", "SS14.Client.zip"), FileMode.Create, FileAccess.ReadWrite);
|
||||
using var zip = new ZipArchive(zipFile, ZipArchiveMode.Update);
|
||||
var writer = new AssetPassZipWriter(zip);
|
||||
|
||||
await ContentPackaging.WriteResources("", writer, logger, default);
|
||||
|
||||
await writer.FinishedTask;
|
||||
}
|
||||
|
||||
logger.Info($"Finished packaging in {sw.Elapsed}");
|
||||
}
|
||||
|
||||
|
||||
void WipeBin()
|
||||
{
|
||||
logger.Info("Clearing old build artifacts (if any)...");
|
||||
|
||||
Directory.Delete("bin", recursive: true);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue