Reapply "emit compiler generated files for docs builds"

This reverts commit 51e3db55b3.
This commit is contained in:
goat 2024-06-29 15:29:57 +02:00
parent 28052f0ae4
commit dcec7de1ff
2 changed files with 27 additions and 5 deletions

View file

@ -43,6 +43,10 @@
"VSCode"
]
},
"IsDocsBuild": {
"type": "boolean",
"description": "Whether we are building for documentation - emits generated files"
},
"NoLogo": {
"type": "boolean",
"description": "Disables displaying the NUKE logo"

View file

@ -7,6 +7,7 @@ using Nuke.Common.IO;
using Nuke.Common.ProjectModel;
using Nuke.Common.Tools.DotNet;
using Nuke.Common.Tools.MSBuild;
using Serilog;
[UnsetVisualStudioEnvironmentVariables]
public class DalamudBuild : NukeBuild
@ -22,6 +23,9 @@ public class DalamudBuild : NukeBuild
[Parameter("Configuration to build - Default is 'Debug' (local) or 'Release' (server)")]
readonly Configuration Configuration = IsLocalBuild ? Configuration.Debug : Configuration.Release;
[Parameter("Whether we are building for documentation - emits generated files")]
readonly bool IsDocsBuild = false;
[Solution] Solution Solution;
[GitRepository] GitRepository GitRepository;
@ -60,10 +64,24 @@ public class DalamudBuild : NukeBuild
.DependsOn(Restore)
.Executes(() =>
{
DotNetTasks.DotNetBuild(s => s
.SetProjectFile(DalamudProjectFile)
.SetConfiguration(Configuration)
.EnableNoRestore());
DotNetTasks.DotNetBuild(s =>
{
s = s
.SetProjectFile(DalamudProjectFile)
.SetConfiguration(Configuration)
.EnableNoRestore();
// We need to emit compiler generated files for the docs build, since docfx can't run generators directly
// TODO: This fails every build after this because of redefinitions...
if (IsDocsBuild)
{
Log.Warning("Building for documentation, emitting compiler generated files. This can cause issues on Windows due to path-length limitations");
s = s
.SetProperty("IsDocsBuild", "true");
}
return s;
});
});
Target CompileDalamudBoot => _ => _