Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to .NET 8 (new) #828

Open
wants to merge 4 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 14 additions & 9 deletions .azure-pipelines/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,24 @@ variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
runtimeVersion: 'net8.0' # Must match TargetFramework in the csprojs
VANILLA_CACHE: $(Pipeline.Workspace)/vanilla

name: '$(Build.BuildId)+$(Build.BuildIdOffset)'

steps:
# Pre-build steps.
- task: NuGetToolInstaller@1
# Pre-build steps.

- task: NuGetCommand@2
- task: UseDotNet@2
displayName: 'Set up .NET'
inputs: # packageType defaults to sdk
version: 8.x

- task: DotNetCoreCLI@2
displayName: 'Restore NuGet packages'
retryCountOnTaskFailure: 2
inputs:
restoreSolution: '$(solution)'
command: 'restore'
projects: '$(solution)'

- task: PowerShell@2
displayName: 'Run .azure-pipelines/prebuild.ps1'
Expand All @@ -37,14 +42,14 @@ steps:
publishWebProjects: false
zipAfterPublish: false
projects: '*/*.csproj'
arguments: '--configuration $(buildConfiguration) "/p:Configuration=$(buildConfiguration)"'
arguments: '--configuration $(buildConfiguration) "/p:Configuration=$(buildConfiguration)" --no-restore'

# Create and "publish" main artifact.
- task: CopyFiles@2
displayName: 'Pack main artifact: NETCoreifier'
continueOnError: true
inputs:
sourceFolder: '$(Build.SourcesDirectory)/NETCoreifier/bin/Release/net7.0/publish'
sourceFolder: '$(Build.SourcesDirectory)/NETCoreifier/bin/Release/$(runtimeVersion)/publish'
contents: '**'
targetFolder: '$(Build.ArtifactStagingDirectory)/main/'
cleanTargetFolder: true
Expand All @@ -54,7 +59,7 @@ steps:
displayName: 'Pack main artifact: Celeste.Mod.mm'
continueOnError: true
inputs:
sourceFolder: '$(Build.SourcesDirectory)/Celeste.Mod.mm/bin/Release/net7.0/publish'
sourceFolder: '$(Build.SourcesDirectory)/Celeste.Mod.mm/bin/Release/$(runtimeVersion)/publish'
contents: '**'
targetFolder: '$(Build.ArtifactStagingDirectory)/main/'
cleanTargetFolder: false
Expand All @@ -64,7 +69,7 @@ steps:
displayName: 'Pack main artifact: MiniInstaller'
continueOnError: true
inputs:
sourceFolder: '$(Build.SourcesDirectory)/MiniInstaller/bin/Release/net7.0/publish'
sourceFolder: '$(Build.SourcesDirectory)/MiniInstaller/bin/Release/$(runtimeVersion)/publish'
contents: '**'
targetFolder: '$(Build.ArtifactStagingDirectory)/main/'
cleanTargetFolder: false
Expand Down
12 changes: 6 additions & 6 deletions Celeste.Mod.mm/Celeste.Mod.mm.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<AssemblyName>Celeste.Mod.mm</AssemblyName>
<RootNamespace>Celeste</RootNamespace>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
Expand Down Expand Up @@ -33,17 +33,17 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Mono.Cecil" Version="0.11.4" />
<PackageReference Include="Mono.Cecil" Version="0.11.5" />
<ProjectReference Include="..\external\MonoMod\src\MonoMod.Patcher\MonoMod.Patcher.csproj" />
<ProjectReference Include="..\external\MonoMod\src\MonoMod.Utils\MonoMod.Utils.csproj" />
<ProjectReference Include="..\external\MonoMod\src\MonoMod.RuntimeDetour\MonoMod.RuntimeDetour.csproj" />
<ProjectReference Include="..\external\MonoMod\src\MonoMod.RuntimeDetour.HookGen\MonoMod.RuntimeDetour.HookGen.csproj" />
<PackageReference Include="DotNetZip" Version="1.16.0" />
<PackageReference Include="System.Drawing.Common" Version="7.0.0" />
<PackageReference Include="System.Drawing.Common" Version="8.0.0" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />
<PackageReference Include="YamlDotNet" Version="8.1.2" />
<PackageReference Include="Jdenticon-net" Version="2.2.1" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
<PackageReference Include="YamlDotNet" Version="16.1.3" />
<PackageReference Include="Jdenticon-net" Version="3.1.2" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<ProjectReference Include="..\external\NLua\build\net6.0\NLua.net6.0.csproj" />
<PackageReference Include="MAB.DotIgnore" Version="3.0.2" />
</ItemGroup>
Expand Down
1 change: 1 addition & 0 deletions Celeste.Mod.mm/Mod/Everest/Everest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,7 @@ internal static void Boot() {
Logger.Info("core", $"AppDomain: {AppDomain.CurrentDomain.FriendlyName ?? "???"}");
Logger.Info("core", $"VersionCelesteString: {VersionCelesteString}");
Logger.Info("core", $"SystemMemoryMB: {SystemMemoryMB:F3} MB");
Logger.Info("core", $"RuntimeVersion: {Environment.Version}");

if (Type.GetType("Mono.Runtime") != null) {
// Mono hates HTTPS.
Expand Down
2 changes: 1 addition & 1 deletion DiscordGameSDK/DiscordGameSDK.csproj
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<AssemblyName>DiscordGameSDK</AssemblyName>
<RootNamespace>Discord</RootNamespace>
<LangVersion>9</LangVersion>
Expand Down
2 changes: 1 addition & 1 deletion EverestSplash/EverestSplash.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<UseAppHost>false</UseAppHost> <!-- EverestSplash will create its own AppHosts -->
Expand Down
2 changes: 1 addition & 1 deletion MiniInstaller/MiniInstaller.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<AssemblyName>MiniInstaller</AssemblyName>
<RootNamespace>MiniInstaller</RootNamespace>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
Expand Down
4 changes: 2 additions & 2 deletions NETCoreifier/NETCoreifier.csproj
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<AssemblyName>NETCoreifier</AssemblyName>
<RootNamespace>NETCoreifier</RootNamespace>
<LangVersion>11</LangVersion>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Mono.Cecil" Version="0.11.4" />
<PackageReference Include="Mono.Cecil" Version="0.11.5" />
<ProjectReference Include="..\external\MonoMod\src\MonoMod.Patcher\MonoMod.Patcher.csproj" />
<ProjectReference Include="..\external\MonoMod\src\MonoMod.Utils\MonoMod.Utils.csproj" />
</ItemGroup>
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@ For information about mod development, check out the [Everest Wiki](https://gith
- macOS: Right-click and browse the Celeste app in Finder, then navigate to `Contents`, then `MacOS`.
- Clone the Everest repo **+ submodules**, either in your IDE or via the CLI.
- Restore Nuget packages either via your IDE or the command line.
- Everest requires version 7.0.200 or higher of .NET SDK, as well as the .NET 6.0 runtime, for the build process.
- Everest requires version 8.0.0 or higher of .NET SDK for the build process.

### Windows
- Open the .sln in the repo with Visual Studio
- Publish all projects
- **NOTE:** It is very important that you *publish* the project instead of simply building it, as otherwise required dependency DLLs won't be copied!
- Copy everything in `MiniInstaller\bin\Release\net7.0\publish` and `Celeste.Mod.mm\bin\Release\net7.0\publish` to your Celeste directory, replacing existing files
- Copy everything in `MiniInstaller\bin\Release\net8.0\publish` and `Celeste.Mod.mm\bin\Release\net8.0\publish` to your Celeste directory, replacing existing files
- Run MiniInstaller-win64.exe on 64-bit or MiniInstaller-win.exe on 32-bit

### macOS / Linux
Expand All @@ -38,7 +38,7 @@ For information about mod development, check out the [Everest Wiki](https://gith
- _With MonoDevelop:_ Open the .sln in the repo with MonoDevelop
- _Manually:_ Open the terminal in the Everest directory and run `msbuild` or `dotnet publish`
- **NOTE:** It is very important that you *publish* the project instead of simply building it, as otherwise required dependency DLLs won't be copied!
- Copy everything in `MiniInstaller/bin/Release/net7.0/publish` and `Celeste.Mod.mm/bin/Release/net7.0/publish` to your Celeste directory
- Copy everything in `MiniInstaller/bin/Release/net8.0/publish` and `Celeste.Mod.mm/bin/Release/net8.0/publish` to your Celeste directory
- macOS: `Celeste.app/Contents/Resources`
- Run `./MiniInstaller-linux` or `./MiniInstaller-osx`

Expand Down
2 changes: 1 addition & 1 deletion external/MonoMod
Submodule MonoMod updated 447 files
5 changes: 5 additions & 0 deletions global.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"msbuild-sdks": {
"Microsoft.Net.Sdk.IL": "8.0.0"
}
}
27 changes: 14 additions & 13 deletions lib-ext/piton-runtime.yaml
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
# Latest LTS as of July 8th 2024
windows-x86:
version: 7.0.12
download: https://download.visualstudio.microsoft.com/download/pr/e6be672b-53a9-4050-9b55-53f74a55523c/b59ab5af9be85681cf415865a159624f/dotnet-runtime-7.0.12-win-x86.zip
download-sha512: 760f4483b9848c2165be30ad4623de4099529fdcbf61c4e6c1738dfe22e3d776ca7ced89e4d7485dc0337c988b1c3bf1c5757a01e97d156df4ad0cf848226244
version: 8.0.6
download: https://download.visualstudio.microsoft.com/download/pr/53f7cef2-50bf-419d-bf36-69f2989729b6/31261cddb6f9517e76cc4ee71d67be8b/dotnet-runtime-8.0.6-win-x86.zip
download-sha512: 4801ea1f67811ee368d78e03447cf972ba71e4d02818d5ed019ce99a241498eb4d242ceb520744141d6c3047bacb80c64be5b0f9a64f339087bce76e83a0b444
download-format: zip

windows-x86_64:
version: 7.0.12
download: https://download.visualstudio.microsoft.com/download/pr/6d97a102-c4f3-4183-91d7-d810e96e73a1/272349ea2adf0145d9364e2c12bd23a4/dotnet-runtime-7.0.12-win-x64.zip
download-sha512: fada96dfe5c0ff99799032b21323b0c75764df8c7991e67c0f2757a0f4d9946c68dee07831a0bda7e884713749150121d618973d14bdcc915d389799b36848bb
version: 8.0.6
download: https://download.visualstudio.microsoft.com/download/pr/3c5bbae6-d848-46b0-bb65-c4f7a7ad4b2a/afba8a75f7e7f4f304362de0f1d4b3ea/dotnet-runtime-8.0.6-win-x64.zip
download-sha512: 2c0407df76878fe518105e132e5435f7f3ac42415fecf099e1a056ef4c068ed9d4e3bcfb5fe49b6c138cfe8b77db609bc6af28be5f11b5beca9eea7c1092ee51
download-format: zip

linux-x86_64:
version: 7.0.12
download: https://download.visualstudio.microsoft.com/download/pr/47a663ab-0c5f-4502-9ea1-93c27df8f9ed/5ee65ca13eb40220631dab82a27972d8/dotnet-runtime-7.0.12-linux-x64.tar.gz
download-sha512: 74bea25e88bd917a733a6899a3b3c9ac40c85a64f82dc0f36840714669621716afbb8fec6c3c398b1ffb522c0ed11958862cff5a4be0bf6268188cdb276bc109
version: 8.0.6
download: https://download.visualstudio.microsoft.com/download/pr/021c3de8-14d5-493f-92dc-2c8f8be76961/6ee3407acebf74631bfc01f14301afa6/dotnet-runtime-8.0.6-linux-x64.tar.gz
download-sha512: c0c5e93d4e68e2075c4c63336dc74246efb704ac9663411351efdefc4cc7da5a7750f44b8a23aebe959bb4308575bead443a41b2524ae03b29ac41929d27e0e0
download-format: targz

macos-x86_64:
version: 7.0.12
download: https://download.visualstudio.microsoft.com/download/pr/5a3eed2a-4c5f-4c05-9ef5-4b59de889a9e/4a577fd9e4b278dfebc16d901691b90f/dotnet-runtime-7.0.12-osx-x64.tar.gz
download-sha512: 3cfa807b64eb345ff104f33d7120d7d973443d40aedfe5fb49c0b67adb69f743c18a6e762a8463f59ee29b4a291970e8af48f97f841a94ed220809b56258b0e0
version: 8.0.6
download: https://download.visualstudio.microsoft.com/download/pr/20271d05-67e0-4356-87a9-0ce5102b5007/b7c91c6470e1c2ffbb493a35dd6883c0/dotnet-runtime-8.0.6-osx-x64.tar.gz
download-sha512: 44c0ad9fc613975fa0c12b12b91ff8cd8ba0be5e8ed59510e7a5ab22e55267a468b321ce34515daf070ffc8d557c09d7ea3ed3c3407887f706553b5d378e3232
download-format: targz