diff --git a/Content.Packaging/ClientPackaging.cs b/Content.Packaging/ClientPackaging.cs
index a989ebd968e..17708578af2 100644
--- a/Content.Packaging/ClientPackaging.cs
+++ b/Content.Packaging/ClientPackaging.cs
@@ -10,6 +10,7 @@ namespace Content.Packaging;
public static class ClientPackaging
{
+ private static readonly bool UseSecrets = File.Exists(Path.Combine("Secrets", "CorvaxSecrets.sln")); // Corvax-Secrets
///
/// Be advised this can be called from server packaging during a HybridACZ build.
///
@@ -34,6 +35,24 @@ await ProcessHelpers.RunCheck(new ProcessStartInfo
"/m"
}
});
+ if (UseSecrets)
+ {
+ await ProcessHelpers.RunCheck(new ProcessStartInfo
+ {
+ FileName = "dotnet",
+ ArgumentList =
+ {
+ "build",
+ Path.Combine("Secrets","Content.Corvax.Client", "Content.Corvax.Client.csproj"),
+ "-c", "Release",
+ "--nologo",
+ "/v:m",
+ "/t:Rebuild",
+ "/p:FullRelease=true",
+ "/m"
+ }
+ });
+ }
}
logger.Info("Packaging client...");
@@ -64,12 +83,16 @@ public static async Task WriteResources(
AssetGraph.CalculateGraph(graph.AllPasses.Append(pass).ToArray(), logger);
var inputPass = graph.Input;
-
+ // Corvax-Secrets-Start: Add Corvax interfaces to Magic ACZ
+ var assemblies = new List { "Content.Client", "Content.Shared", "Content.Shared.Database", "Content.Corvax.Interfaces.Client", "Content.Corvax.Interfaces.Shared" };
+ if (UseSecrets)
+ assemblies.AddRange(new[] { "Content.Corvax.Shared", "Content.Corvax.Client" });
+ // Corvax-Secrets-End
await RobustSharedPackaging.WriteContentAssemblies(
inputPass,
contentDir,
"Content.Client",
- new[] { "Content.Client", "Content.Shared", "Content.Shared.Database" },
+ assemblies,
cancel: cancel);
await RobustClientPackaging.WriteClientResources(contentDir, pass, cancel);
diff --git a/Content.Packaging/ServerPackaging.cs b/Content.Packaging/ServerPackaging.cs
index ba489629f79..791df64b8ec 100644
--- a/Content.Packaging/ServerPackaging.cs
+++ b/Content.Packaging/ServerPackaging.cs
@@ -33,6 +33,10 @@ public static class ServerPackaging
private static readonly List ServerContentAssemblies = new()
{
+ // Corvax-Secrets-Start
+ "Content.Corvax.Interfaces.Shared",
+ "Content.Corvax.Interfaces.Server",
+ // Corvax-Secrets-End
"Content.Server.Database",
"Content.Server",
"Content.Shared",
@@ -68,7 +72,7 @@ public static class ServerPackaging
"zh-Hans",
"zh-Hant"
};
-
+ private static readonly bool UseSecrets = File.Exists(Path.Combine("Secrets", "CorvaxSecrets.sln")); // Corvax-Secrets
public static async Task PackageServer(bool skipBuild, bool hybridAcz, IPackageLogger logger, List? platforms = null)
{
if (platforms == null)
@@ -117,6 +121,29 @@ await ProcessHelpers.RunCheck(new ProcessStartInfo
"/m"
}
});
+ // Corvax-Secrets-Start
+ if (UseSecrets)
+ {
+ logger.Info($"Secrets found. Building secret project for {platform}...");
+ await ProcessHelpers.RunCheck(new ProcessStartInfo
+ {
+ FileName = "dotnet",
+ ArgumentList =
+ {
+ "build",
+ Path.Combine("Secrets","Content.Corvax.Server", "Content.Corvax.Server.csproj"),
+ "-c", "Release",
+ "--nologo",
+ "/v:m",
+ $"/p:TargetOs={platform.TargetOs}",
+ "/t:Rebuild",
+ "/p:FullRelease=true",
+ "/m"
+ }
+ });
+ }
+ // Corvax-Secrets-End
+
await PublishClientServer(platform.Rid, platform.TargetOs);
}
@@ -175,7 +202,10 @@ private static async Task WriteServerResources(
var inputPassCore = graph.InputCore;
var inputPassResources = graph.InputResources;
var contentAssemblies = new List(ServerContentAssemblies);
-
+ // Corvax-Secrets-Start
+ if (UseSecrets)
+ contentAssemblies.AddRange(new[] { "Content.Corvax.Shared", "Content.Corvax.Server" });
+ // Corvax-Secrets-End
// Additional assemblies that need to be copied such as EFCore.
var sourcePath = Path.Combine(contentDir, "bin", "Content.Server");