Skip Ceciler obfuscation on non-Windows

Add OS checks and comments to SPTarkov.Server.Core.csproj to avoid running Ceciler-based patches on non-Windows systems. The AfterEverythingDone target now gates the virtualizer and JsonExtensionData Exec steps with "'$(OS)' == 'Windows_NT'" (and keeps the existing IsPublish/Configuration checks), and a comment explains Ceciler.Launcher.dll is Windows-only and can fail on Linux/ARM. Minor whitespace/comments added for clarity.
This commit is contained in:
TheBombGamer
2026-05-12 01:18:33 -07:00
parent 2ed4a5d1f4
commit f3f70e709c
@@ -29,29 +29,37 @@
<ItemGroup> <ItemGroup>
<InternalsVisibleTo Include="UnitTests" /> <InternalsVisibleTo Include="UnitTests" />
</ItemGroup> </ItemGroup>
<!--
Modified Target to skip Ceciler obfuscation on non-Windows systems.
Ceciler.Launcher.dll is typically Windows-only and will fail on Linux ARM.
-->
<Target Name="AfterEverythingDone" AfterTargets="PostBuildEvent"> <Target Name="AfterEverythingDone" AfterTargets="PostBuildEvent">
<!-- Run virtualizer patch --> <!-- Run virtualizer patch (Only on Windows) -->
<Exec <Exec
ConsoleToMsBuild="true" ConsoleToMsBuild="true"
Condition="'$(IsPublish)' == 'true'" Condition="'$(IsPublish)' == 'true' AND '$(OS)' == 'Windows_NT'"
Command="dotnet build -c &quot;$(Configuration)&quot; &quot;$(MSBuildProjectDirectory)/../../Patches/Ceciler.Virtualizer/Ceciler.Virtualizer.csproj&quot;" Command="dotnet build -c &quot;$(Configuration)&quot; &quot;$(MSBuildProjectDirectory)/../../Patches/Ceciler.Virtualizer/Ceciler.Virtualizer.csproj&quot;"
/> />
<Exec <Exec
ConsoleToMsBuild="true" ConsoleToMsBuild="true"
Condition="'$(OS)' == 'Windows_NT'"
Command="dotnet &quot;$(MSBuildProjectDirectory)/../../Ceciler/Ceciler.Launcher.dll&quot; &quot;$(OutDir)SPTarkov.Server.Core.dll&quot; &quot;$(MSBuildProjectDirectory)/../../Patches/Ceciler.Virtualizer/bin/$(Configuration)/$(TargetFramework)/Ceciler.Virtualizer.dll&quot;" Command="dotnet &quot;$(MSBuildProjectDirectory)/../../Ceciler/Ceciler.Launcher.dll&quot; &quot;$(OutDir)SPTarkov.Server.Core.dll&quot; &quot;$(MSBuildProjectDirectory)/../../Patches/Ceciler.Virtualizer/bin/$(Configuration)/$(TargetFramework)/Ceciler.Virtualizer.dll&quot;"
/> />
<!-- Run ExtensionData patch -->
<!-- Run ExtensionData patch (Only on Windows) -->
<Exec <Exec
ConsoleToMsBuild="true" ConsoleToMsBuild="true"
Condition="'$(IsPublish)' == 'true' and '$(Configuration)' == 'Release'" Condition="'$(IsPublish)' == 'true' and '$(Configuration)' == 'Release' AND '$(OS)' == 'Windows_NT'"
Command="dotnet build -c &quot;$(Configuration)&quot; &quot;$(MSBuildProjectDirectory)/../../Patches/Ceciler.JsonExtensionData/Ceciler.JsonExtensionData.csproj&quot;" Command="dotnet build -c &quot;$(Configuration)&quot; &quot;$(MSBuildProjectDirectory)/../../Patches/Ceciler.JsonExtensionData/Ceciler.JsonExtensionData.csproj&quot;"
/> />
<Exec <Exec
Condition="'$(Configuration)' == 'Release'" Condition="'$(Configuration)' == 'Release' AND '$(OS)' == 'Windows_NT'"
ConsoleToMsBuild="true" ConsoleToMsBuild="true"
Command="dotnet &quot;$(MSBuildProjectDirectory)/../../Ceciler/Ceciler.Launcher.dll&quot; &quot;$(OutDir)SPTarkov.Server.Core.dll&quot; &quot;$(MSBuildProjectDirectory)/../../Patches/Ceciler.JsonExtensionData/bin/$(Configuration)/$(TargetFramework)/Ceciler.JsonExtensionData.dll&quot;" Command="dotnet &quot;$(MSBuildProjectDirectory)/../../Ceciler/Ceciler.Launcher.dll&quot; &quot;$(OutDir)SPTarkov.Server.Core.dll&quot; &quot;$(MSBuildProjectDirectory)/../../Patches/Ceciler.JsonExtensionData/bin/$(Configuration)/$(TargetFramework)/Ceciler.JsonExtensionData.dll&quot;"
/> />
</Target> </Target>
<!-- Generates the ProgramStatics class with the build information --> <!-- Generates the ProgramStatics class with the build information -->
<Target Name="GenerateProgramStatics" BeforeTargets="CollectPackageReferences;CoreCompile"> <Target Name="GenerateProgramStatics" BeforeTargets="CollectPackageReferences;CoreCompile">
<WriteLinesToFile <WriteLinesToFile
@@ -60,4 +68,4 @@
Overwrite="true" Overwrite="true"
/> />
</Target> </Target>
</Project> </Project>