From 578df1890184179dba6f038b2f8dc55ec0158df9 Mon Sep 17 00:00:00 2001 From: Luke Date: Wed, 27 Jul 2022 21:53:09 +1000 Subject: [PATCH] Redo launcher csproj and action to use framework dependent builds This also includes package updates across the entire solution, which shouldn't matter at this stage on this branch. --- .github/workflows/ci-otapi3.yml | 4 +- TShockAPI/TShockAPI.csproj | 4 +- .../TShockLauncher.Tests.csproj | 6 +- TShockLauncher/TShock.sh | 2 - TShockLauncher/TShockLauncher.csproj | 81 ++++--------------- TShockLauncher/runtimeconfig.template.json | 5 -- TerrariaServerAPI | 2 +- 7 files changed, 24 insertions(+), 80 deletions(-) delete mode 100755 TShockLauncher/TShock.sh delete mode 100644 TShockLauncher/runtimeconfig.template.json diff --git a/.github/workflows/ci-otapi3.yml b/.github/workflows/ci-otapi3.yml index fc08a876..dd45716a 100644 --- a/.github/workflows/ci-otapi3.yml +++ b/.github/workflows/ci-otapi3.yml @@ -36,12 +36,12 @@ jobs: - name: Produce build run: | cd TShockLauncher - dotnet publish -r ${{ matrix.arch }} -f net6.0 -c Release -p:PublishSingleFile=true --self-contained true + dotnet publish -r ${{ matrix.arch }} -f net6.0 -c Release -p:PublishSingleFile=true --self-contained false - name: Chmod scripts if: ${{ matrix.arch != 'win-x64' }} run: | - chmod +x TShockLauncher/bin/Release/net6.0/${{ matrix.arch }}/publish/TShock.sh + chmod +x TShockLauncher/bin/Release/net6.0/${{ matrix.arch }}/publish/TShock.Server # preserve file perms: https://github.com/actions/upload-artifact#maintaining-file-permissions-and-case-sensitive-files - name: Archive artifact diff --git a/TShockAPI/TShockAPI.csproj b/TShockAPI/TShockAPI.csproj index ffb1afb4..c4dcb457 100644 --- a/TShockAPI/TShockAPI.csproj +++ b/TShockAPI/TShockAPI.csproj @@ -29,8 +29,8 @@ - - + + diff --git a/TShockLauncher.Tests/TShockLauncher.Tests.csproj b/TShockLauncher.Tests/TShockLauncher.Tests.csproj index 18e0cc78..446707f1 100644 --- a/TShockLauncher.Tests/TShockLauncher.Tests.csproj +++ b/TShockLauncher.Tests/TShockLauncher.Tests.csproj @@ -7,9 +7,9 @@ - - - + + + runtime; build; native; contentfiles; analyzers; buildtransitive all diff --git a/TShockLauncher/TShock.sh b/TShockLauncher/TShock.sh deleted file mode 100755 index d6da16fb..00000000 --- a/TShockLauncher/TShock.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -./bin/TShock.Run diff --git a/TShockLauncher/TShockLauncher.csproj b/TShockLauncher/TShockLauncher.csproj index fa29a381..7f184356 100644 --- a/TShockLauncher/TShockLauncher.csproj +++ b/TShockLauncher/TShockLauncher.csproj @@ -5,89 +5,40 @@ net6.0 enable enable - TShock - TShock.Run + TShock.Server Always embedded - true + true - - + ..\prebuilts\HttpServer.dll - - - + + + - - - - - - - - - - - - - - - + + + + + + + + + - + - - - - - - - - /* - This is a patch to allow self contained apps to run from the root while having the modules in a ./bin folder. - https://github.com/dotnet/sdk/issues/10366 - - The script replaces the ./TShock.dll with ./bin/TShock.dll - alternates: dnSpy(does this method), NetCoreBeauty - */ - var find = Encoding.UTF8.GetBytes("TShock.dll\0"); - var replace = Encoding.UTF8.GetBytes("bin" + Path.DirectorySeparatorChar + "TShock.dll\0"); - var contents = File.ReadAllBytes(HostExe); - - var matches = 0; - var offset = Array.FindIndex(contents, (b) => { - matches = (b == find[matches]) ? matches + 1 : 0; - return matches == find.Length; - }); - if (offset > -1) offset -= find.Length - 1; - - var x = 0; - Array.ForEach(replace, _ => { contents[offset + x] = replace[x++]; }); - - File.WriteAllBytes(HostExe, contents); - - - - - - - - - - - - diff --git a/TShockLauncher/runtimeconfig.template.json b/TShockLauncher/runtimeconfig.template.json deleted file mode 100644 index 181a42f9..00000000 --- a/TShockLauncher/runtimeconfig.template.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "additionalProbingPaths": [ - "../ServerPlugins" - ] -} diff --git a/TerrariaServerAPI b/TerrariaServerAPI index af21743d..1d809e65 160000 --- a/TerrariaServerAPI +++ b/TerrariaServerAPI @@ -1 +1 @@ -Subproject commit af21743d6f1fc468daa558a402cc79d1ee314252 +Subproject commit 1d809e6545cdd1e1537772d1b70322fca83fe406