Skip to content

Commit bdd47e2

Browse files
authored
Fix AOT build (#2747)
* Fix AOT build * Add TargetType * Make Enums AOT ready * use new serializer in tests * add some missing enums
1 parent 4a007ae commit bdd47e2

40 files changed

+164
-52
lines changed

.github/workflows/demo.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,11 @@ jobs:
3939
run: |
4040
dotnet run --project PuppeteerSharpPdfDemo-Local.csproj auto-exit -f net8.0
4141
- name: Run with AOT
42-
if: matrix.os == 'macos-latest'
42+
if: matrix.os == 'windows-2022'
4343
working-directory: ./demos/PuppeteerSharpPdfDemo
4444
run: |
45-
dotnet run --project PuppeteerSharpPdfDemo-Local.csproj -r osx-arm64 -c Release -f net8.0 auto-exit
45+
dotnet publish PuppeteerSharpPdfDemo-Local.csproj -r win-x64 -o build -f net8.0
46+
build/PuppeteerSharpPdfDemo-Local.exe auto-exit
4647
- name: Run on .NET Framework
4748
if: matrix.os == 'windows-2022'
4849
working-directory: ./demos/PuppeteerSharpPdfDemo

lib/PuppeteerSharp.Nunit/PuppeteerTestAttribute.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -172,13 +172,9 @@ private static TestExpectation[] GetUpstreamExpectations() =>
172172
_upstreamExpectations ??= LoadExpectationsFromResource("PuppeteerSharp.Nunit.TestExpectations.TestExpectations.upstream.json");
173173

174174
private static readonly JsonSerializerOptions DefaultJsonSerializerOptions =
175-
new JsonSerializerOptions()
175+
new()
176176
{
177-
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
178-
Converters =
179-
{
180-
new JsonStringEnumMemberConverter(),
181-
},
177+
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
182178
};
183179

184180
private static TestExpectation[] LoadExpectationsFromResource(string resourceName)

lib/PuppeteerSharp.Nunit/TestExpectations/TestExpectation.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@
2121
// * SOFTWARE.
2222

2323
using System.Runtime.Serialization;
24+
using System.Text.Json.Serialization;
2425
using System.Text.RegularExpressions;
26+
using PuppeteerSharp.Helpers.Json;
2527

2628
namespace PuppeteerSharp.Nunit.TestExpectations;
2729

@@ -54,6 +56,7 @@ public Regex TestIdRegex
5456

5557
public TestExpectationResult[] Expectations { get; set; }
5658

59+
[JsonConverter(typeof(JsonStringEnumMemberConverter<TestExpectationResult>))]
5760
public enum TestExpectationResult
5861
{
5962
[EnumMember(Value = "FAIL")] Fail,
@@ -62,6 +65,7 @@ public enum TestExpectationResult
6265
[EnumMember(Value = "TIMEOUT")] Timeout,
6366
}
6467

68+
[JsonConverter(typeof(JsonStringEnumMemberConverter<TestExpectationsParameter>))]
6569
public enum TestExpectationsParameter
6670
{
6771
[EnumMember(Value = "firefox")]
@@ -80,6 +84,7 @@ public enum TestExpectationsParameter
8084
Headful,
8185
}
8286

87+
[JsonConverter(typeof(JsonStringEnumMemberConverter<TestExpectationPlatform>))]
8388
public enum TestExpectationPlatform
8489
{
8590
[EnumMember(Value = "darwin")]

lib/PuppeteerSharp/BrowserData/FirefoxChannel.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,15 @@
2121
// * SOFTWARE.
2222

2323
using System.Runtime.Serialization;
24+
using System.Text.Json.Serialization;
25+
using PuppeteerSharp.Helpers.Json;
2426

2527
namespace PuppeteerSharp.BrowserData;
2628

2729
/// <summary>
2830
/// Firefox channels.
2931
/// </summary>
32+
[JsonConverter(typeof(JsonStringEnumMemberConverter<FirefoxChannel>))]
3033
public enum FirefoxChannel
3134
{
3235
/// <summary>

lib/PuppeteerSharp/Cdp/Messaging/DispatchKeyEventType.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
using System.Runtime.Serialization;
2+
using System.Text.Json.Serialization;
3+
using PuppeteerSharp.Helpers.Json;
24

35
namespace PuppeteerSharp.Cdp.Messaging
46
{
7+
[JsonConverter(typeof(JsonStringEnumMemberConverter<DispatchKeyEventType>))]
58
internal enum DispatchKeyEventType
69
{
710
/// <summary>

lib/PuppeteerSharp/Cdp/Messaging/DragEventType.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
using System.Runtime.Serialization;
2+
using System.Text.Json.Serialization;
3+
using PuppeteerSharp.Helpers.Json;
24

35
namespace PuppeteerSharp.Cdp.Messaging
46
{
7+
[JsonConverter(typeof(JsonStringEnumMemberConverter<DragEventType>))]
58
internal enum DragEventType
69
{
710
/// <summary>

lib/PuppeteerSharp/Cdp/Messaging/FileChooserAction.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
using System.Runtime.Serialization;
2+
using System.Text.Json.Serialization;
3+
using PuppeteerSharp.Helpers.Json;
24

35
namespace PuppeteerSharp.Cdp.Messaging
46
{
7+
[JsonConverter(typeof(JsonStringEnumMemberConverter<FileChooserAction>))]
58
internal enum FileChooserAction
69
{
710
/// <summary>

lib/PuppeteerSharp/Cdp/Messaging/LogSource.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1+
using System.Text.Json.Serialization;
2+
using PuppeteerSharp.Helpers.Json;
3+
14
namespace PuppeteerSharp.Cdp.Messaging;
25

6+
[JsonConverter(typeof(JsonStringEnumMemberConverter<LogSource>))]
37
internal enum LogSource
48
{
59
Xml = 0,

lib/PuppeteerSharp/Cdp/Messaging/MouseEventType.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
using System.Runtime.Serialization;
2+
using System.Text.Json.Serialization;
3+
using PuppeteerSharp.Helpers.Json;
24

35
namespace PuppeteerSharp.Cdp.Messaging
46
{
7+
[JsonConverter(typeof(JsonStringEnumMemberConverter<MouseEventType>))]
58
internal enum MouseEventType
69
{
710
/// <summary>

lib/PuppeteerSharp/Cdp/Messaging/NavigationType.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1+
using System.Text.Json.Serialization;
2+
using PuppeteerSharp.Helpers.Json;
3+
14
namespace PuppeteerSharp.Cdp.Messaging;
25

36
/// <summary>
47
/// Navigation types.
58
/// </summary>
9+
[JsonConverter(typeof(JsonStringEnumMemberConverter<NavigationType>))]
610
public enum NavigationType
711
{
812
/// <summary>

0 commit comments

Comments
 (0)