From 7b1f032f90e4c3a0b2fa76c82896074f1aace3e2 Mon Sep 17 00:00:00 2001 From: VisualBean Date: Tue, 2 Jan 2024 13:37:53 +0100 Subject: [PATCH] dial back support to netstandard2.0 --- .../BindingsCollection.cs | 11 +++++-- .../LEGO.AsyncAPI.Bindings.csproj | 23 +++++++------- src/LEGO.AsyncAPI.Bindings/Sns/Consumer.cs | 2 ++ .../Sns/DeliveryPolicy.cs | 2 ++ src/LEGO.AsyncAPI.Bindings/Sns/Identifier.cs | 2 ++ src/LEGO.AsyncAPI.Bindings/Sns/Ordering.cs | 2 ++ src/LEGO.AsyncAPI.Bindings/Sns/Policy.cs | 2 ++ .../Sns/RedrivePolicy.cs | 2 ++ .../Sns/SnsChannelBinding.cs | 2 ++ .../Sns/SnsOperationBinding.cs | 2 ++ src/LEGO.AsyncAPI.Bindings/Sns/Statement.cs | 2 ++ src/LEGO.AsyncAPI.Bindings/Sqs/Identifier.cs | 2 ++ src/LEGO.AsyncAPI.Bindings/Sqs/Policy.cs | 2 ++ src/LEGO.AsyncAPI.Bindings/Sqs/Queue.cs | 2 ++ .../Sqs/RedrivePolicy.cs | 2 ++ .../Sqs/SqsChannelBinding.cs | 2 ++ .../Sqs/SqsOperationBinding.cs | 2 ++ src/LEGO.AsyncAPI.Bindings/Sqs/Statement.cs | 2 ++ .../StringOrStringList.cs | 27 +++++++++++------ .../LEGO.AsyncAPI.Readers.csproj | 21 ++++++------- src/LEGO.AsyncAPI.Readers/YamlConverter.cs | 4 ++- src/LEGO.AsyncAPI/LEGO.AsyncAPI.csproj | 30 ++++++++++--------- .../Models/JsonSchema/FalseApiSchema.cs | 2 ++ .../Bindings/Sns/SnsBindings_Should.cs | 2 ++ .../Bindings/Sqs/SqsBindings_should.cs | 2 ++ .../Bindings/StringOrStringList_Should.cs | 2 ++ .../LEGO.AsyncAPI.Tests.csproj | 11 +++---- 27 files changed, 115 insertions(+), 52 deletions(-) diff --git a/src/LEGO.AsyncAPI.Bindings/BindingsCollection.cs b/src/LEGO.AsyncAPI.Bindings/BindingsCollection.cs index e52392b6..0d527a89 100644 --- a/src/LEGO.AsyncAPI.Bindings/BindingsCollection.cs +++ b/src/LEGO.AsyncAPI.Bindings/BindingsCollection.cs @@ -19,8 +19,15 @@ public static TCollection Add( IEnumerable source) where TCollection : ICollection { - ArgumentNullException.ThrowIfNull(destination); - ArgumentNullException.ThrowIfNull(source); + if (destination is null) + { + throw new ArgumentNullException(nameof(destination)); + } + + if (source is null) + { + throw new ArgumentNullException(nameof(source)); + } if (destination is List list) { diff --git a/src/LEGO.AsyncAPI.Bindings/LEGO.AsyncAPI.Bindings.csproj b/src/LEGO.AsyncAPI.Bindings/LEGO.AsyncAPI.Bindings.csproj index e05aacab..9ed7650c 100644 --- a/src/LEGO.AsyncAPI.Bindings/LEGO.AsyncAPI.Bindings.csproj +++ b/src/LEGO.AsyncAPI.Bindings/LEGO.AsyncAPI.Bindings.csproj @@ -1,20 +1,21 @@ - net6.0 + netstandard2.0 + 9.0 disable - The LEGO Group - https://github.com/LEGO/AsyncAPI.NET - README.md - AsyncAPI.NET Bindings - asyncapi .net openapi documentation - AsyncAPI.NET.Bindings - LEGO.AsyncAPI.Bindings - LEGO.AsyncAPI.Bindings - https://github.com/LEGO/AsyncAPI.NET + The LEGO Group + https://github.com/LEGO/AsyncAPI.NET + README.md + AsyncAPI.NET Bindings + asyncapi .net openapi documentation + AsyncAPI.NET.Bindings + LEGO.AsyncAPI.Bindings + LEGO.AsyncAPI.Bindings + https://github.com/LEGO/AsyncAPI.NET - + diff --git a/src/LEGO.AsyncAPI.Bindings/Sns/Consumer.cs b/src/LEGO.AsyncAPI.Bindings/Sns/Consumer.cs index 262521d0..2e42e6cd 100644 --- a/src/LEGO.AsyncAPI.Bindings/Sns/Consumer.cs +++ b/src/LEGO.AsyncAPI.Bindings/Sns/Consumer.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Bindings.Sns { using System; diff --git a/src/LEGO.AsyncAPI.Bindings/Sns/DeliveryPolicy.cs b/src/LEGO.AsyncAPI.Bindings/Sns/DeliveryPolicy.cs index f9421ca9..9ed78b19 100644 --- a/src/LEGO.AsyncAPI.Bindings/Sns/DeliveryPolicy.cs +++ b/src/LEGO.AsyncAPI.Bindings/Sns/DeliveryPolicy.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Bindings.Sns { using System; diff --git a/src/LEGO.AsyncAPI.Bindings/Sns/Identifier.cs b/src/LEGO.AsyncAPI.Bindings/Sns/Identifier.cs index 0e6466b0..960c1c54 100644 --- a/src/LEGO.AsyncAPI.Bindings/Sns/Identifier.cs +++ b/src/LEGO.AsyncAPI.Bindings/Sns/Identifier.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Bindings.Sns { using System; diff --git a/src/LEGO.AsyncAPI.Bindings/Sns/Ordering.cs b/src/LEGO.AsyncAPI.Bindings/Sns/Ordering.cs index f80c953b..23f69f52 100644 --- a/src/LEGO.AsyncAPI.Bindings/Sns/Ordering.cs +++ b/src/LEGO.AsyncAPI.Bindings/Sns/Ordering.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Bindings.Sns { using System; diff --git a/src/LEGO.AsyncAPI.Bindings/Sns/Policy.cs b/src/LEGO.AsyncAPI.Bindings/Sns/Policy.cs index eefc6171..a4232e5e 100644 --- a/src/LEGO.AsyncAPI.Bindings/Sns/Policy.cs +++ b/src/LEGO.AsyncAPI.Bindings/Sns/Policy.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Bindings.Sns { using System; diff --git a/src/LEGO.AsyncAPI.Bindings/Sns/RedrivePolicy.cs b/src/LEGO.AsyncAPI.Bindings/Sns/RedrivePolicy.cs index 4e5e6340..01e6d7e2 100644 --- a/src/LEGO.AsyncAPI.Bindings/Sns/RedrivePolicy.cs +++ b/src/LEGO.AsyncAPI.Bindings/Sns/RedrivePolicy.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Bindings.Sns { using System; diff --git a/src/LEGO.AsyncAPI.Bindings/Sns/SnsChannelBinding.cs b/src/LEGO.AsyncAPI.Bindings/Sns/SnsChannelBinding.cs index 65043449..13676168 100644 --- a/src/LEGO.AsyncAPI.Bindings/Sns/SnsChannelBinding.cs +++ b/src/LEGO.AsyncAPI.Bindings/Sns/SnsChannelBinding.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Bindings.Sns { using System; diff --git a/src/LEGO.AsyncAPI.Bindings/Sns/SnsOperationBinding.cs b/src/LEGO.AsyncAPI.Bindings/Sns/SnsOperationBinding.cs index ffab9afb..86bf11fd 100644 --- a/src/LEGO.AsyncAPI.Bindings/Sns/SnsOperationBinding.cs +++ b/src/LEGO.AsyncAPI.Bindings/Sns/SnsOperationBinding.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Bindings.Sns { using System; diff --git a/src/LEGO.AsyncAPI.Bindings/Sns/Statement.cs b/src/LEGO.AsyncAPI.Bindings/Sns/Statement.cs index 38e0b1ee..9cfba068 100644 --- a/src/LEGO.AsyncAPI.Bindings/Sns/Statement.cs +++ b/src/LEGO.AsyncAPI.Bindings/Sns/Statement.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Bindings.Sns { using System; diff --git a/src/LEGO.AsyncAPI.Bindings/Sqs/Identifier.cs b/src/LEGO.AsyncAPI.Bindings/Sqs/Identifier.cs index d7d95dcc..6e7aff23 100644 --- a/src/LEGO.AsyncAPI.Bindings/Sqs/Identifier.cs +++ b/src/LEGO.AsyncAPI.Bindings/Sqs/Identifier.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Bindings.Sqs { using System; diff --git a/src/LEGO.AsyncAPI.Bindings/Sqs/Policy.cs b/src/LEGO.AsyncAPI.Bindings/Sqs/Policy.cs index a989c239..2fd9f68b 100644 --- a/src/LEGO.AsyncAPI.Bindings/Sqs/Policy.cs +++ b/src/LEGO.AsyncAPI.Bindings/Sqs/Policy.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Bindings.Sqs { using System; diff --git a/src/LEGO.AsyncAPI.Bindings/Sqs/Queue.cs b/src/LEGO.AsyncAPI.Bindings/Sqs/Queue.cs index 4eec17ef..db3a480a 100644 --- a/src/LEGO.AsyncAPI.Bindings/Sqs/Queue.cs +++ b/src/LEGO.AsyncAPI.Bindings/Sqs/Queue.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Bindings.Sqs { using System; diff --git a/src/LEGO.AsyncAPI.Bindings/Sqs/RedrivePolicy.cs b/src/LEGO.AsyncAPI.Bindings/Sqs/RedrivePolicy.cs index 4222ee45..923d668c 100644 --- a/src/LEGO.AsyncAPI.Bindings/Sqs/RedrivePolicy.cs +++ b/src/LEGO.AsyncAPI.Bindings/Sqs/RedrivePolicy.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Bindings.Sqs { using System; diff --git a/src/LEGO.AsyncAPI.Bindings/Sqs/SqsChannelBinding.cs b/src/LEGO.AsyncAPI.Bindings/Sqs/SqsChannelBinding.cs index b64bed31..6f98da99 100644 --- a/src/LEGO.AsyncAPI.Bindings/Sqs/SqsChannelBinding.cs +++ b/src/LEGO.AsyncAPI.Bindings/Sqs/SqsChannelBinding.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Bindings.Sqs { using System; diff --git a/src/LEGO.AsyncAPI.Bindings/Sqs/SqsOperationBinding.cs b/src/LEGO.AsyncAPI.Bindings/Sqs/SqsOperationBinding.cs index de2372f1..d8eb43dd 100644 --- a/src/LEGO.AsyncAPI.Bindings/Sqs/SqsOperationBinding.cs +++ b/src/LEGO.AsyncAPI.Bindings/Sqs/SqsOperationBinding.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Bindings.Sqs { using System; diff --git a/src/LEGO.AsyncAPI.Bindings/Sqs/Statement.cs b/src/LEGO.AsyncAPI.Bindings/Sqs/Statement.cs index 508e4a33..40590f69 100644 --- a/src/LEGO.AsyncAPI.Bindings/Sqs/Statement.cs +++ b/src/LEGO.AsyncAPI.Bindings/Sqs/Statement.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Bindings.Sqs { using System; diff --git a/src/LEGO.AsyncAPI.Bindings/StringOrStringList.cs b/src/LEGO.AsyncAPI.Bindings/StringOrStringList.cs index c2f323cc..c817e849 100644 --- a/src/LEGO.AsyncAPI.Bindings/StringOrStringList.cs +++ b/src/LEGO.AsyncAPI.Bindings/StringOrStringList.cs @@ -14,12 +14,21 @@ public class StringOrStringList : IAsyncApiElement { public StringOrStringList(AsyncApiAny value) { - this.Value = value.GetNode() switch + switch (value.GetNode()) { - JsonArray array => IsValidStringList(array) ? new AsyncApiAny(array) : throw new ArgumentException($"{nameof(StringOrStringList)} value should only contain string items."), - JsonValue jValue => IsString(jValue) ? new AsyncApiAny(jValue) : throw new ArgumentException($"{nameof(StringOrStringList)} should be a string value or a string list."), - _ => throw new ArgumentException($"{nameof(StringOrStringList)} should be a string value or a string list.") - }; + case JsonArray array: + this.Value = IsValidStringList(array) + ? new AsyncApiAny(array) + : throw new ArgumentException($"{nameof(StringOrStringList)} value should only contain string items."); + break; + case JsonValue jValue: + this.Value = IsString(jValue) + ? new AsyncApiAny(jValue) + : throw new ArgumentException($"{nameof(StringOrStringList)} should be a string value or a string list."); + break; + default: + throw new ArgumentException($"{nameof(StringOrStringList)} should be a string value or a string list."); + } } public AsyncApiAny Value { get; } @@ -28,12 +37,12 @@ public static StringOrStringList Parse(ParseNode node) { switch (node) { - case ValueNode: - return new StringOrStringList(new AsyncApiAny(node.GetScalarValue())); - case ListNode: + case ValueNode vn: + return new StringOrStringList(new AsyncApiAny(vn.GetScalarValue())); + case ListNode ln: { var jsonArray = new JsonArray(); - foreach (var item in node as ListNode) + foreach (var item in ln) { jsonArray.Add(item.GetScalarValue()); } diff --git a/src/LEGO.AsyncAPI.Readers/LEGO.AsyncAPI.Readers.csproj b/src/LEGO.AsyncAPI.Readers/LEGO.AsyncAPI.Readers.csproj index 6fd9d2e7..3a76f8dd 100644 --- a/src/LEGO.AsyncAPI.Readers/LEGO.AsyncAPI.Readers.csproj +++ b/src/LEGO.AsyncAPI.Readers/LEGO.AsyncAPI.Readers.csproj @@ -1,18 +1,19 @@  - net6.0 + netstandard2.0 + 9.0 disable disable - The LEGO Group - https://github.com/LEGO/AsyncAPI.NET - README.md - AsyncAPI.NET Readers for JSON and YAML documents - asyncapi .net openapi documentation - AsyncAPI.NET.Readers - LEGO.AsyncAPI.Readers - LEGO.AsyncAPI.Readers - https://github.com/LEGO/AsyncAPI.NET + The LEGO Group + https://github.com/LEGO/AsyncAPI.NET + README.md + AsyncAPI.NET Readers for JSON and YAML documents + asyncapi .net openapi documentation + AsyncAPI.NET.Readers + LEGO.AsyncAPI.Readers + LEGO.AsyncAPI.Readers + https://github.com/LEGO/AsyncAPI.NET diff --git a/src/LEGO.AsyncAPI.Readers/YamlConverter.cs b/src/LEGO.AsyncAPI.Readers/YamlConverter.cs index e3dfcd43..7ff742e9 100644 --- a/src/LEGO.AsyncAPI.Readers/YamlConverter.cs +++ b/src/LEGO.AsyncAPI.Readers/YamlConverter.cs @@ -1,4 +1,6 @@ -namespace LEGO.AsyncAPI.Readers +// Copyright (c) The LEGO Group. All rights reserved. + +namespace LEGO.AsyncAPI.Readers { using System; using System.Globalization; diff --git a/src/LEGO.AsyncAPI/LEGO.AsyncAPI.csproj b/src/LEGO.AsyncAPI/LEGO.AsyncAPI.csproj index 8d4b9501..32ec7e46 100644 --- a/src/LEGO.AsyncAPI/LEGO.AsyncAPI.csproj +++ b/src/LEGO.AsyncAPI/LEGO.AsyncAPI.csproj @@ -1,17 +1,18 @@  - net6.0 + netstandard2.0 + 9.0 disable - The LEGO Group - https://github.com/LEGO/AsyncAPI.NET - README.md - AsyncAPI.NET models - asyncapi .net openapi documentation - AsyncAPI.NET - LEGO.AsyncAPI - LEGO.AsyncAPI - https://github.com/LEGO/AsyncAPI.NET + The LEGO Group + https://github.com/LEGO/AsyncAPI.NET + README.md + AsyncAPI.NET models + asyncapi .net openapi documentation + AsyncAPI.NET + LEGO.AsyncAPI + LEGO.AsyncAPI + https://github.com/LEGO/AsyncAPI.NET @@ -27,12 +28,13 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive + - - <_Parameter1>$(MSBuildProjectName).Tests - + + <_Parameter1>$(MSBuildProjectName).Tests + - + True diff --git a/src/LEGO.AsyncAPI/Models/JsonSchema/FalseApiSchema.cs b/src/LEGO.AsyncAPI/Models/JsonSchema/FalseApiSchema.cs index 40746fb3..01f313e5 100644 --- a/src/LEGO.AsyncAPI/Models/JsonSchema/FalseApiSchema.cs +++ b/src/LEGO.AsyncAPI/Models/JsonSchema/FalseApiSchema.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Models { /// diff --git a/test/LEGO.AsyncAPI.Tests/Bindings/Sns/SnsBindings_Should.cs b/test/LEGO.AsyncAPI.Tests/Bindings/Sns/SnsBindings_Should.cs index d4d5cf05..9e79c07d 100644 --- a/test/LEGO.AsyncAPI.Tests/Bindings/Sns/SnsBindings_Should.cs +++ b/test/LEGO.AsyncAPI.Tests/Bindings/Sns/SnsBindings_Should.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Tests.Bindings.Sns { using System.Collections.Generic; diff --git a/test/LEGO.AsyncAPI.Tests/Bindings/Sqs/SqsBindings_should.cs b/test/LEGO.AsyncAPI.Tests/Bindings/Sqs/SqsBindings_should.cs index d72177ce..6515e459 100644 --- a/test/LEGO.AsyncAPI.Tests/Bindings/Sqs/SqsBindings_should.cs +++ b/test/LEGO.AsyncAPI.Tests/Bindings/Sqs/SqsBindings_should.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Tests.Bindings.Sqs { using System.Collections.Generic; diff --git a/test/LEGO.AsyncAPI.Tests/Bindings/StringOrStringList_Should.cs b/test/LEGO.AsyncAPI.Tests/Bindings/StringOrStringList_Should.cs index 5e2780e7..df162b04 100644 --- a/test/LEGO.AsyncAPI.Tests/Bindings/StringOrStringList_Should.cs +++ b/test/LEGO.AsyncAPI.Tests/Bindings/StringOrStringList_Should.cs @@ -1,3 +1,5 @@ +// Copyright (c) The LEGO Group. All rights reserved. + namespace LEGO.AsyncAPI.Tests.Bindings { using System; diff --git a/test/LEGO.AsyncAPI.Tests/LEGO.AsyncAPI.Tests.csproj b/test/LEGO.AsyncAPI.Tests/LEGO.AsyncAPI.Tests.csproj index 692c8e06..6bba6cbc 100644 --- a/test/LEGO.AsyncAPI.Tests/LEGO.AsyncAPI.Tests.csproj +++ b/test/LEGO.AsyncAPI.Tests/LEGO.AsyncAPI.Tests.csproj @@ -1,17 +1,18 @@  - net6.0 - disable + netstandard2.0 + 9.0 + disable enable false - - - + + +