Skip to content

Commit 1acc29f

Browse files
scorteanucosminMrBlue
authored andcommitted
Update to .NET 10 & C# 14 + cleanup
1 parent 181b954 commit 1acc29f

26 files changed

Lines changed: 184 additions & 402 deletions

src/Common/Constants.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using Microsoft.CodeAnalysis.Emit;
22
using Microsoft.Extensions.Logging;
33
using Serilog.Core;
4-
using Serilog.Events;
54

65
namespace Oxide.CompilerServices.Common;
76

@@ -13,7 +12,7 @@ public static class Constants
1312
public static readonly EventId CommandEventId = new(3, "Command");
1413
public static readonly EventId CompileEventId = new(4, "Compile");
1514

16-
public static readonly EmitOptions PdbEmitOptions = new(debugInformationFormat: DebugInformationFormat.Embedded);
15+
public static readonly EmitOptions PdbEmitOptions = new(debugInformationFormat: DebugInformationFormat.PortablePdb);
1716

1817
public static readonly Dictionary<string, string> SwitchMappings = new(StringComparer.InvariantCultureIgnoreCase)
1918
{

src/Common/DependencyInjection.cs

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,50 +4,47 @@
44
using Microsoft.Extensions.Hosting;
55
using Microsoft.Extensions.Logging;
66
using Oxide.CompilerServices.Interfaces;
7-
using Oxide.CompilerServices.Models.Configuration;
87
using Oxide.CompilerServices.Services;
8+
using Oxide.CompilerServices.Types.Configuration;
99
using Serilog;
1010

1111
namespace Oxide.CompilerServices.Common;
1212

1313
public static class DependencyInjection
1414
{
15-
public static void AddServices(this IServiceCollection services, IConfiguration configuration, string[] args)
15+
public static void AddServices(this IServiceCollection services, ConfigurationManager configuration, string[] args)
1616
{
1717
services.Configure<HostOptions>(service =>
1818
{
1919
service.ServicesStartConcurrently = true;
2020
service.ServicesStopConcurrently = true;
2121
});
2222

23-
ConfigurationBuilder configurationBuilder = new();
2423

25-
configurationBuilder.AddCommandLine(args, Constants.SwitchMappings);
26-
configurationBuilder.AddJsonFile(Path.Combine(Constants.RootPath, "oxide.compiler.json"), true);
27-
configurationBuilder.AddEnvironmentVariables("Oxide_");
24+
configuration.AddCommandLine(args, Constants.SwitchMappings);
25+
configuration.AddJsonFile(Path.Combine(Constants.RootPath, "oxide.compiler.json"), true);
26+
configuration.AddEnvironmentVariables("Oxide_");
2827

29-
IConfigurationRoot configurationRoot = configurationBuilder.Build();
30-
31-
string mode = configurationRoot.GetValue<string>("Mode", "release");
28+
string mode = configuration.GetValue<string>("Mode", "release");
3229
if (mode == "test")
3330
{
34-
string? sourcePath = configurationRoot.GetValue<string>("Source");
31+
string? sourcePath = configuration.GetValue<string>("Source");
3532
//return CompileTestFilesAsync(sourcePath, outputPath, application.ServiceProvider);
3633
}
3734

38-
services.Configure<CompilerConfiguration>(configurationRoot.GetSection("Compiler"));
39-
services.Configure<DirectoryConfiguration>(configurationRoot.GetSection("Path"));
40-
services.Configure<LoggingConfiguration>(configurationRoot.GetSection("Logging"));
35+
services.Configure<CompilerConfiguration>(configuration.GetSection("Compiler"));
36+
services.Configure<DirectoryConfiguration>(configuration.GetSection("Path"));
37+
services.Configure<LoggingConfiguration>(configuration.GetSection("Logging"));
4138

4239

4340
services.AddLogging(loggingBuilder =>
4441
{
45-
IConfigurationSection logSettings = configurationRoot.GetSection("Logging");
42+
IConfigurationSection logSettings = configuration.GetSection("Logging");
4643
string filePath = logSettings.GetValue("FileName", "oxide.compiler.log");
4744

4845
if (filePath.Equals("oxide.compiler.log"))
4946
{
50-
IConfigurationSection pathSettings = configurationRoot.GetSection("Path");
47+
IConfigurationSection pathSettings = configuration.GetSection("Path");
5148
string startDirectory = pathSettings.GetValue("Logging", Environment.CurrentDirectory);
5249
filePath = Path.Combine(startDirectory, filePath);
5350
}
@@ -60,19 +57,18 @@ public static void AddServices(this IServiceCollection services, IConfiguration
6057
#if DEBUG
6158
loggingBuilder.AddDebug();
6259
#endif
63-
if (!configurationRoot.GetSection("Compiler").GetValue("EnableMessageStream", false))
60+
if (!configuration.GetSection("Compiler").GetValue("EnableMessageStream", false))
6461
{
6562
loggingBuilder.AddSimpleConsole();
6663
}
6764
});
6865

6966

70-
services.AddSingleton(configurationRoot);
67+
services.AddSingleton<IConfigurationRoot>(configuration);
7168
services.AddSingleton<AppConfiguration>();
7269
services.AddSingleton<ICompilationService, CompilationService>();
7370
services.AddTransient<MetadataReferenceResolver, OxideResolver>();
7471
services.AddSingleton<MessageBrokerService>();
75-
services.AddSingleton<ISerializer, Serializer>();
7672
services.AddSingleton<IEntryPointService, EntryPointService>();
7773
services.AddHostedService<AppHostService>();
7874
}

src/Common/ExtensionMethods.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using Microsoft.CodeAnalysis;
22
using Microsoft.Extensions.Logging;
3-
using Oxide.CompilerServices.Enums;
4-
using Oxide.CompilerServices.Models.Compiler;
3+
using Oxide.CompilerServices.Types.Compilation;
54

65
namespace Oxide.CompilerServices.Common;
76

@@ -49,7 +48,9 @@ public static Microsoft.CodeAnalysis.CSharp.LanguageVersion GetLanguageVersion(t
4948
{
5049
return data.Version switch
5150
{
51+
CompilerLanguageVersion.Latest => Microsoft.CodeAnalysis.CSharp.LanguageVersion.Latest,
5252
CompilerLanguageVersion.Preview => Microsoft.CodeAnalysis.CSharp.LanguageVersion.Preview,
53+
CompilerLanguageVersion.V14 => Microsoft.CodeAnalysis.CSharp.LanguageVersion.CSharp14,
5354
CompilerLanguageVersion.V13 => Microsoft.CodeAnalysis.CSharp.LanguageVersion.CSharp13,
5455
CompilerLanguageVersion.V12 => Microsoft.CodeAnalysis.CSharp.LanguageVersion.CSharp12,
5556
CompilerLanguageVersion.V11 => Microsoft.CodeAnalysis.CSharp.LanguageVersion.CSharp11,

src/Common/OxideResolver.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using System.Collections.Immutable;
22
using Microsoft.CodeAnalysis;
33
using Microsoft.Extensions.Logging;
4-
using Oxide.CompilerServices.Models.Configuration;
4+
using Oxide.CompilerServices.Types.Configuration;
55

66
namespace Oxide.CompilerServices.Common;
77

src/Common/Serializer.cs

Lines changed: 0 additions & 34 deletions
This file was deleted.

src/Enums/CompilerLanguageVersion.cs

Lines changed: 0 additions & 24 deletions
This file was deleted.

src/Enums/CompilerPlatform.cs

Lines changed: 0 additions & 12 deletions
This file was deleted.

src/Enums/CompilerTarget.cs

Lines changed: 0 additions & 10 deletions
This file was deleted.

src/Enums/MessageType.cs

Lines changed: 0 additions & 24 deletions
This file was deleted.

src/Interfaces/ICompilationService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using Oxide.CompilerServices.Models.Compiler;
1+
using Oxide.CompilerServices.Types.Compilation;
22

33
namespace Oxide.CompilerServices.Interfaces;
44

0 commit comments

Comments
 (0)