From ef1d3d185d832e16206ade0bde068629e72b9efd Mon Sep 17 00:00:00 2001 From: Rico Suter Date: Mon, 12 Mar 2018 20:30:54 +0100 Subject: [PATCH] Updated NJS, added OpenAPI components --- .../NSwag.AspNet.Owin.csproj | 2 +- .../NSwag.AspNet.WebApi.csproj | 2 +- .../NSwag.AssemblyLoader.csproj | 2 +- .../NSwag.CodeGeneration.CSharp.Tests.csproj | 4 +- .../packages.config | 2 +- .../NSwag.CodeGeneration.CSharp.csproj | 2 +- .../NSwag.CodeGeneration.Tests.csproj | 16 ++-- .../packages.config | 8 +- ...wag.CodeGeneration.TypeScript.Tests.csproj | 12 +-- .../packages.config | 6 +- .../NSwag.CodeGeneration.TypeScript.csproj | 2 +- .../NSwag.CodeGeneration.csproj | 4 +- src/NSwag.Commands/NSwag.Commands.csproj | 8 +- .../ComponentsSerializationTests.cs | 67 +++++++++++++++ src/NSwag.Core.Tests/NSwag.Core.Tests.csproj | 20 +++++ src/NSwag.Core/NSwag.Core.csproj | 2 +- src/NSwag.Core/SwaggerComponents.cs | 58 +++++++++++++ .../SwaggerDocument.Serialization.cs | 35 ++++++++ src/NSwag.Core/SwaggerDocument.cs | 82 ++++++------------- src/NSwag.Demo.Web/NSwag.Demo.Web.csproj | 4 +- src/NSwag.Demo.Web/packages.config | 2 +- .../NSwag.Integration.WebAPI.csproj | 4 +- src/NSwag.Integration.WebAPI/packages.config | 2 +- src/NSwag.Min.sln | 21 +++++ .../NSwag.Sample.NetGlobalAsax.csproj | 4 +- .../packages.config | 2 +- .../NSwag.SwaggerGeneration.AspNetCore.csproj | 2 +- ...Swag.SwaggerGeneration.WebApi.Tests.csproj | 4 +- .../packages.config | 2 +- .../NSwag.SwaggerGeneration.WebApi.csproj | 2 +- .../NSwag.SwaggerGeneration.csproj | 2 +- src/NSwag.Tests/NSwag.Tests.csproj | 4 +- src/NSwag.Tests/packages.config | 2 +- src/NSwag.sln | 23 +++++- src/NSwagStudio/NSwagStudio.csproj | 16 ++-- src/NSwagStudio/packages.config | 8 +- 36 files changed, 313 insertions(+), 125 deletions(-) create mode 100644 src/NSwag.Core.Tests/ComponentsSerializationTests.cs create mode 100644 src/NSwag.Core.Tests/NSwag.Core.Tests.csproj create mode 100644 src/NSwag.Core/SwaggerComponents.cs create mode 100644 src/NSwag.Core/SwaggerDocument.Serialization.cs diff --git a/src/NSwag.AspNet.Owin/NSwag.AspNet.Owin.csproj b/src/NSwag.AspNet.Owin/NSwag.AspNet.Owin.csproj index 2d0fdfaa26..e289fc7aac 100644 --- a/src/NSwag.AspNet.Owin/NSwag.AspNet.Owin.csproj +++ b/src/NSwag.AspNet.Owin/NSwag.AspNet.Owin.csproj @@ -39,7 +39,7 @@ - + diff --git a/src/NSwag.AspNet.WebApi/NSwag.AspNet.WebApi.csproj b/src/NSwag.AspNet.WebApi/NSwag.AspNet.WebApi.csproj index bf5419c127..ec0893e03e 100644 --- a/src/NSwag.AspNet.WebApi/NSwag.AspNet.WebApi.csproj +++ b/src/NSwag.AspNet.WebApi/NSwag.AspNet.WebApi.csproj @@ -21,7 +21,7 @@ TRACE;DEBUG;NET45 - + diff --git a/src/NSwag.AssemblyLoader/NSwag.AssemblyLoader.csproj b/src/NSwag.AssemblyLoader/NSwag.AssemblyLoader.csproj index 6c340d2b13..513304e662 100644 --- a/src/NSwag.AssemblyLoader/NSwag.AssemblyLoader.csproj +++ b/src/NSwag.AssemblyLoader/NSwag.AssemblyLoader.csproj @@ -24,7 +24,7 @@ TRACE;RELEASE;FullNet;NET451 - + diff --git a/src/NSwag.CodeGeneration.CSharp.Tests/NSwag.CodeGeneration.CSharp.Tests.csproj b/src/NSwag.CodeGeneration.CSharp.Tests/NSwag.CodeGeneration.CSharp.Tests.csproj index 8804f474b2..138701c4f5 100644 --- a/src/NSwag.CodeGeneration.CSharp.Tests/NSwag.CodeGeneration.CSharp.Tests.csproj +++ b/src/NSwag.CodeGeneration.CSharp.Tests/NSwag.CodeGeneration.CSharp.Tests.csproj @@ -40,8 +40,8 @@ ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll True - - ..\packages\NJsonSchema.9.10.30\lib\net45\NJsonSchema.dll + + ..\packages\NJsonSchema.9.10.31\lib\net45\NJsonSchema.dll diff --git a/src/NSwag.CodeGeneration.CSharp.Tests/packages.config b/src/NSwag.CodeGeneration.CSharp.Tests/packages.config index 5d33ffde8d..64e42dd6e7 100644 --- a/src/NSwag.CodeGeneration.CSharp.Tests/packages.config +++ b/src/NSwag.CodeGeneration.CSharp.Tests/packages.config @@ -4,5 +4,5 @@ - + \ No newline at end of file diff --git a/src/NSwag.CodeGeneration.CSharp/NSwag.CodeGeneration.CSharp.csproj b/src/NSwag.CodeGeneration.CSharp/NSwag.CodeGeneration.CSharp.csproj index 2426a42763..512141925b 100644 --- a/src/NSwag.CodeGeneration.CSharp/NSwag.CodeGeneration.CSharp.csproj +++ b/src/NSwag.CodeGeneration.CSharp/NSwag.CodeGeneration.CSharp.csproj @@ -35,7 +35,7 @@ - + diff --git a/src/NSwag.CodeGeneration.Tests/NSwag.CodeGeneration.Tests.csproj b/src/NSwag.CodeGeneration.Tests/NSwag.CodeGeneration.Tests.csproj index 6f583e4766..e3583e1793 100644 --- a/src/NSwag.CodeGeneration.Tests/NSwag.CodeGeneration.Tests.csproj +++ b/src/NSwag.CodeGeneration.Tests/NSwag.CodeGeneration.Tests.csproj @@ -75,17 +75,17 @@ ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll True - - ..\packages\NJsonSchema.9.10.30\lib\net45\NJsonSchema.dll + + ..\packages\NJsonSchema.9.10.31\lib\net45\NJsonSchema.dll - - ..\packages\NJsonSchema.CodeGeneration.9.10.30\lib\net451\NJsonSchema.CodeGeneration.dll + + ..\packages\NJsonSchema.CodeGeneration.9.10.31\lib\net451\NJsonSchema.CodeGeneration.dll - - ..\packages\NJsonSchema.CodeGeneration.CSharp.9.10.30\lib\net451\NJsonSchema.CodeGeneration.CSharp.dll + + ..\packages\NJsonSchema.CodeGeneration.CSharp.9.10.31\lib\net451\NJsonSchema.CodeGeneration.CSharp.dll - - ..\packages\NJsonSchema.CodeGeneration.TypeScript.9.10.30\lib\net451\NJsonSchema.CodeGeneration.TypeScript.dll + + ..\packages\NJsonSchema.CodeGeneration.TypeScript.9.10.31\lib\net451\NJsonSchema.CodeGeneration.TypeScript.dll ..\packages\Swashbuckle.Core.5.5.3\lib\net40\Swashbuckle.Core.dll diff --git a/src/NSwag.CodeGeneration.Tests/packages.config b/src/NSwag.CodeGeneration.Tests/packages.config index c1f390f536..b685772a0e 100644 --- a/src/NSwag.CodeGeneration.Tests/packages.config +++ b/src/NSwag.CodeGeneration.Tests/packages.config @@ -13,10 +13,10 @@ - - - - + + + + diff --git a/src/NSwag.CodeGeneration.TypeScript.Tests/NSwag.CodeGeneration.TypeScript.Tests.csproj b/src/NSwag.CodeGeneration.TypeScript.Tests/NSwag.CodeGeneration.TypeScript.Tests.csproj index bb174afc6b..08b0e7f345 100644 --- a/src/NSwag.CodeGeneration.TypeScript.Tests/NSwag.CodeGeneration.TypeScript.Tests.csproj +++ b/src/NSwag.CodeGeneration.TypeScript.Tests/NSwag.CodeGeneration.TypeScript.Tests.csproj @@ -46,14 +46,14 @@ ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll True - - ..\packages\NJsonSchema.9.10.30\lib\net45\NJsonSchema.dll + + ..\packages\NJsonSchema.9.10.31\lib\net45\NJsonSchema.dll - - ..\packages\NJsonSchema.CodeGeneration.9.10.30\lib\net451\NJsonSchema.CodeGeneration.dll + + ..\packages\NJsonSchema.CodeGeneration.9.10.31\lib\net451\NJsonSchema.CodeGeneration.dll - - ..\packages\NJsonSchema.CodeGeneration.TypeScript.9.10.30\lib\net451\NJsonSchema.CodeGeneration.TypeScript.dll + + ..\packages\NJsonSchema.CodeGeneration.TypeScript.9.10.31\lib\net451\NJsonSchema.CodeGeneration.TypeScript.dll diff --git a/src/NSwag.CodeGeneration.TypeScript.Tests/packages.config b/src/NSwag.CodeGeneration.TypeScript.Tests/packages.config index 62a14cc43d..3e6fe3d9e9 100644 --- a/src/NSwag.CodeGeneration.TypeScript.Tests/packages.config +++ b/src/NSwag.CodeGeneration.TypeScript.Tests/packages.config @@ -9,9 +9,9 @@ - - - + + + diff --git a/src/NSwag.CodeGeneration.TypeScript/NSwag.CodeGeneration.TypeScript.csproj b/src/NSwag.CodeGeneration.TypeScript/NSwag.CodeGeneration.TypeScript.csproj index 0859dcdcea..f94beeb25e 100644 --- a/src/NSwag.CodeGeneration.TypeScript/NSwag.CodeGeneration.TypeScript.csproj +++ b/src/NSwag.CodeGeneration.TypeScript/NSwag.CodeGeneration.TypeScript.csproj @@ -36,7 +36,7 @@ - + diff --git a/src/NSwag.CodeGeneration/NSwag.CodeGeneration.csproj b/src/NSwag.CodeGeneration/NSwag.CodeGeneration.csproj index bea526b1c9..632ee7da39 100644 --- a/src/NSwag.CodeGeneration/NSwag.CodeGeneration.csproj +++ b/src/NSwag.CodeGeneration/NSwag.CodeGeneration.csproj @@ -19,8 +19,8 @@ - - + + diff --git a/src/NSwag.Commands/NSwag.Commands.csproj b/src/NSwag.Commands/NSwag.Commands.csproj index feebc87ee6..33b7c4ec8b 100644 --- a/src/NSwag.Commands/NSwag.Commands.csproj +++ b/src/NSwag.Commands/NSwag.Commands.csproj @@ -33,10 +33,10 @@ - - - - + + + + diff --git a/src/NSwag.Core.Tests/ComponentsSerializationTests.cs b/src/NSwag.Core.Tests/ComponentsSerializationTests.cs new file mode 100644 index 0000000000..8deab89af0 --- /dev/null +++ b/src/NSwag.Core.Tests/ComponentsSerializationTests.cs @@ -0,0 +1,67 @@ +using System; +using System.Threading.Tasks; +using NJsonSchema; +using Xunit; + +namespace NSwag.Core.Tests +{ + public class ComponentsSerializationTests + { + [Fact] + public async Task When_schema_is_added_to_definitions_then_it_is_serialized_correctly_in_Swagger() + { + //// Arrange + var document = CreateDocument(); + + //// Act + var json = document.ToJson(SchemaType.Swagger2); + document = await SwaggerDocument.FromJsonAsync(json, schemaType: SchemaType.OpenApi3); + + //// Assert + Assert.Contains("definitions", json); + Assert.DoesNotContain("components", json); + + Assert.True(document.Definitions.ContainsKey("Foo")); + } + + [Fact] + public async Task When_schema_is_added_to_definitions_then_it_is_serialized_correctly_in_OpenApi() + { + //// Arrange + var document = CreateDocument(); + + //// Act + var json = document.ToJson(SchemaType.OpenApi3); + document = await SwaggerDocument.FromJsonAsync(json, schemaType: SchemaType.OpenApi3); + + //// Assert + Assert.Contains("components", json); + Assert.Contains("schemas", json); + Assert.DoesNotContain("#/definitions/Foo", json); + Assert.DoesNotContain("definitions", json); + + Assert.True(document.Definitions.ContainsKey("Foo")); + } + + private static SwaggerDocument CreateDocument() + { + var schema = new JsonSchema4 + { + Type = JsonObjectType.String + }; + + var document = new SwaggerDocument(); + document.Definitions["Foo"] = schema; + document.Definitions["Bar"] = new JsonSchema4 + { + Type = JsonObjectType.Object, + Properties = + { + { "Foo", new JsonProperty { Reference = schema } } + } + }; + + return document; + } + } +} \ No newline at end of file diff --git a/src/NSwag.Core.Tests/NSwag.Core.Tests.csproj b/src/NSwag.Core.Tests/NSwag.Core.Tests.csproj new file mode 100644 index 0000000000..e48df58c37 --- /dev/null +++ b/src/NSwag.Core.Tests/NSwag.Core.Tests.csproj @@ -0,0 +1,20 @@ + + + + netcoreapp2.0 + + false + + + + + + + + + + + + + + diff --git a/src/NSwag.Core/NSwag.Core.csproj b/src/NSwag.Core/NSwag.Core.csproj index 741145370f..37ec7b0136 100644 --- a/src/NSwag.Core/NSwag.Core.csproj +++ b/src/NSwag.Core/NSwag.Core.csproj @@ -23,7 +23,7 @@ - + diff --git a/src/NSwag.Core/SwaggerComponents.cs b/src/NSwag.Core/SwaggerComponents.cs new file mode 100644 index 0000000000..1061492eb4 --- /dev/null +++ b/src/NSwag.Core/SwaggerComponents.cs @@ -0,0 +1,58 @@ +using System.Collections.Generic; +using Newtonsoft.Json; +using NJsonSchema; +using NSwag.Collections; + +namespace NSwag +{ + /// Container for reusable components (OpenAPI only). + public class SwaggerComponents + { + /// + /// + public SwaggerComponents(SwaggerDocument document) + { + SecuritySchemes = new Dictionary(); + + var definitions = new ObservableDictionary(); + definitions.CollectionChanged += (sender, args) => + { + foreach (var path in Schemas.Values) + path.Parent = document; + }; + Schemas = definitions; + + var parameters = new ObservableDictionary(); + parameters.CollectionChanged += (sender, args) => + { + foreach (var path in Parameters.Values) + path.Parent = document; + }; + Parameters = parameters; + + var responses = new ObservableDictionary(); + responses.CollectionChanged += (sender, args) => + { + foreach (var path in Responses.Values) + path.Parent = document; + }; + Responses = responses; + } + + /// Gets or sets the types. + [JsonProperty(PropertyName = "schemas", DefaultValueHandling = DefaultValueHandling.Ignore)] + public IDictionary Schemas { get; } + + /// Gets or sets the parameters which can be used for all operations. + [JsonProperty(PropertyName = "parameters", DefaultValueHandling = DefaultValueHandling.Ignore)] + public IDictionary Parameters { get; } + + /// Gets or sets the responses which can be used for all operations. + [JsonProperty(PropertyName = "responses", DefaultValueHandling = DefaultValueHandling.Ignore)] + public IDictionary Responses { get; } + + /// Gets or sets the security definitions. + [JsonProperty(PropertyName = "securitySchemes", DefaultValueHandling = DefaultValueHandling.Ignore)] + public Dictionary SecuritySchemes { get; } + } +} \ No newline at end of file diff --git a/src/NSwag.Core/SwaggerDocument.Serialization.cs b/src/NSwag.Core/SwaggerDocument.Serialization.cs new file mode 100644 index 0000000000..32ee508ce9 --- /dev/null +++ b/src/NSwag.Core/SwaggerDocument.Serialization.cs @@ -0,0 +1,35 @@ +using NJsonSchema; +using NJsonSchema.Infrastructure; + +namespace NSwag +{ + public partial class SwaggerDocument + { + /// Creates the serializer contract resolver based on the . + /// The schema type. + /// The settings. + public static PropertyRenameAndIgnoreSerializerContractResolver CreateJsonSerializerContractResolver(SchemaType schemaType) + { + var resolver = JsonSchema4.CreateJsonSerializerContractResolver(schemaType); + + if (schemaType == SchemaType.OpenApi3) + { + resolver.IgnoreProperty(typeof(SwaggerDocument), "swagger"); + + resolver.IgnoreProperty(typeof(SwaggerDocument), "definitions"); + resolver.IgnoreProperty(typeof(SwaggerDocument), "parameters"); + resolver.IgnoreProperty(typeof(SwaggerDocument), "responses"); + resolver.IgnoreProperty(typeof(SwaggerDocument), "securityDefinitions"); + } + else if (schemaType == SchemaType.Swagger2) + { + resolver.IgnoreProperty(typeof(SwaggerDocument), "openapi"); + resolver.IgnoreProperty(typeof(SwaggerParameter), "title"); + + resolver.IgnoreProperty(typeof(SwaggerDocument), "components"); + } + + return resolver; + } + } +} diff --git a/src/NSwag.Core/SwaggerDocument.cs b/src/NSwag.Core/SwaggerDocument.cs index b2aac2c29c..7969125f04 100644 --- a/src/NSwag.Core/SwaggerDocument.cs +++ b/src/NSwag.Core/SwaggerDocument.cs @@ -20,7 +20,7 @@ namespace NSwag { /// Describes a JSON web service. - public class SwaggerDocument : JsonExtensionObject, IDocumentPathProvider + public partial class SwaggerDocument : JsonExtensionObject, IDocumentPathProvider { /// Initializes a new instance of the class. public SwaggerDocument() @@ -30,20 +30,8 @@ public SwaggerDocument() Info = new SwaggerInfo(); Schemes = new List(); - SecurityDefinitions = new Dictionary(); - Info = new SwaggerInfo - { - Version = string.Empty, - Title = string.Empty - }; - var definitions = new ObservableDictionary(); - definitions.CollectionChanged += (sender, args) => - { - foreach (var path in Definitions.Values) - path.Parent = this; - }; - Definitions = definitions; + Components = new SwaggerComponents(this); var paths = new ObservableDictionary(); paths.CollectionChanged += (sender, args) => @@ -53,21 +41,11 @@ public SwaggerDocument() }; Paths = paths; - var parameters = new ObservableDictionary(); - parameters.CollectionChanged += (sender, args) => - { - foreach (var path in Parameters.Values) - path.Parent = this; - }; - Parameters = parameters; - - var responses = new ObservableDictionary(); - responses.CollectionChanged += (sender, args) => + Info = new SwaggerInfo { - foreach (var path in Responses.Values) - path.Parent = this; + Version = string.Empty, + Title = string.Empty }; - Responses = responses; } /// Gets the NSwag toolchain version. @@ -116,22 +94,28 @@ public SwaggerDocument() /// Gets or sets the operations. [JsonProperty(PropertyName = "paths", DefaultValueHandling = DefaultValueHandling.Ignore)] public IDictionary Paths { get; } + - /// Gets or sets the types. + /// Gets or sets the types (Swagger only). [JsonProperty(PropertyName = "definitions", DefaultValueHandling = DefaultValueHandling.Ignore)] - public IDictionary Definitions { get; } + public IDictionary Definitions => Components.Schemas; - /// Gets or sets the parameters which can be used for all operations. + /// Gets or sets the parameters which can be used for all operations (Swagger only). [JsonProperty(PropertyName = "parameters", DefaultValueHandling = DefaultValueHandling.Ignore)] - public IDictionary Parameters { get; } + public IDictionary Parameters => Components.Parameters; - /// Gets or sets the responses which can be used for all operations. + /// Gets or sets the responses which can be used for all operations (Swagger only). [JsonProperty(PropertyName = "responses", DefaultValueHandling = DefaultValueHandling.Ignore)] - public IDictionary Responses { get; } + public IDictionary Responses => Components.Responses; - /// Gets or sets the security definitions. + /// Gets or sets the security definitions (Swagger only). [JsonProperty(PropertyName = "securityDefinitions", DefaultValueHandling = DefaultValueHandling.Ignore)] - public Dictionary SecurityDefinitions { get; } + public Dictionary SecurityDefinitions => Components.SecuritySchemes; + + /// Gets or sets the components. + [JsonProperty(PropertyName = "components", DefaultValueHandling = DefaultValueHandling.Ignore)] + public SwaggerComponents Components { get; } + /// Gets or sets a security description. [JsonProperty(PropertyName = "security", DefaultValueHandling = DefaultValueHandling.Ignore)] @@ -173,16 +157,17 @@ public string ToJson() /// The JSON string. public string ToJson(SchemaType schemaType) { + var contractResolver = CreateJsonSerializerContractResolver(schemaType); var serializerSettings = new JsonSerializerSettings { PreserveReferencesHandling = PreserveReferencesHandling.None, Formatting = Formatting.Indented, - ContractResolver = CreateJsonSerializerContractResolver(schemaType) + ContractResolver = contractResolver }; GenerateOperationIds(); - JsonSchemaReferenceUtilities.UpdateSchemaReferencePaths(this); + JsonSchemaReferenceUtilities.UpdateSchemaReferencePaths(this, false, contractResolver); return JsonSchemaReferenceUtilities.ConvertPropertyReferences(JsonConvert.SerializeObject(this, serializerSettings)); } @@ -195,13 +180,14 @@ public static async Task FromJsonAsync(string data, string docu { data = JsonSchemaReferenceUtilities.ConvertJsonReferences(data); + var contractResolver = CreateJsonSerializerContractResolver(schemaType); var document = JsonConvert.DeserializeObject(data, new JsonSerializerSettings { MetadataPropertyHandling = MetadataPropertyHandling.Ignore, ConstructorHandling = ConstructorHandling.Default, ReferenceLoopHandling = ReferenceLoopHandling.Serialize, PreserveReferencesHandling = PreserveReferencesHandling.Objects, - ContractResolver = CreateJsonSerializerContractResolver(schemaType) + ContractResolver = contractResolver }); document.DocumentPath = documentPath; @@ -212,26 +198,6 @@ public static async Task FromJsonAsync(string data, string docu return document; } - /// Creates the serializer contract resolver based on the . - /// The schema type. - /// The settings. - public static PropertyRenameAndIgnoreSerializerContractResolver CreateJsonSerializerContractResolver(SchemaType schemaType) - { - var resolver = JsonSchema4.CreateJsonSerializerContractResolver(schemaType); - - if (schemaType == SchemaType.OpenApi3) - { - resolver.IgnoreProperty(typeof(SwaggerDocument), "swagger"); - } - else if (schemaType == SchemaType.Swagger2) - { - resolver.IgnoreProperty(typeof(SwaggerParameter), "title"); - resolver.IgnoreProperty(typeof(SwaggerDocument), "openapi"); - } - - return resolver; - } - /// Creates a Swagger specification from a JSON file. /// The file path. /// The . diff --git a/src/NSwag.Demo.Web/NSwag.Demo.Web.csproj b/src/NSwag.Demo.Web/NSwag.Demo.Web.csproj index 615a6859ec..185d467295 100644 --- a/src/NSwag.Demo.Web/NSwag.Demo.Web.csproj +++ b/src/NSwag.Demo.Web/NSwag.Demo.Web.csproj @@ -67,8 +67,8 @@ ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll True - - ..\packages\NJsonSchema.9.10.30\lib\net45\NJsonSchema.dll + + ..\packages\NJsonSchema.9.10.31\lib\net45\NJsonSchema.dll ..\packages\Owin.1.0\lib\net40\Owin.dll diff --git a/src/NSwag.Demo.Web/packages.config b/src/NSwag.Demo.Web/packages.config index 01afc39560..7becb1980d 100644 --- a/src/NSwag.Demo.Web/packages.config +++ b/src/NSwag.Demo.Web/packages.config @@ -15,6 +15,6 @@ - + \ No newline at end of file diff --git a/src/NSwag.Integration.WebAPI/NSwag.Integration.WebAPI.csproj b/src/NSwag.Integration.WebAPI/NSwag.Integration.WebAPI.csproj index 9db0f13d4e..f378e5b774 100644 --- a/src/NSwag.Integration.WebAPI/NSwag.Integration.WebAPI.csproj +++ b/src/NSwag.Integration.WebAPI/NSwag.Integration.WebAPI.csproj @@ -62,8 +62,8 @@ ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll True - - ..\packages\NJsonSchema.9.10.30\lib\net45\NJsonSchema.dll + + ..\packages\NJsonSchema.9.10.31\lib\net45\NJsonSchema.dll ..\packages\Owin.1.0\lib\net40\Owin.dll diff --git a/src/NSwag.Integration.WebAPI/packages.config b/src/NSwag.Integration.WebAPI/packages.config index 2e77c52e54..8a1893c18f 100644 --- a/src/NSwag.Integration.WebAPI/packages.config +++ b/src/NSwag.Integration.WebAPI/packages.config @@ -10,6 +10,6 @@ - + \ No newline at end of file diff --git a/src/NSwag.Min.sln b/src/NSwag.Min.sln index 9f241592d5..db9b21aa9d 100644 --- a/src/NSwag.Min.sln +++ b/src/NSwag.Min.sln @@ -61,6 +61,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NSwag.Sample.NETCore20", "N EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NSwag.AssemblyLoader", "NSwag.AssemblyLoader\NSwag.AssemblyLoader.csproj", "{E6A8E5FD-4DD2-4D44-B843-F3975631423C}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NSwag.Core.Tests", "NSwag.Core.Tests\NSwag.Core.Tests.csproj", "{6AB4FD70-2CCF-4876-A193-B5FD6B32C39A}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -450,6 +452,24 @@ Global {E6A8E5FD-4DD2-4D44-B843-F3975631423C}.ReleaseTypeScriptStrict|x64.Build.0 = Release|Any CPU {E6A8E5FD-4DD2-4D44-B843-F3975631423C}.ReleaseTypeScriptStrict|x86.ActiveCfg = Release|Any CPU {E6A8E5FD-4DD2-4D44-B843-F3975631423C}.ReleaseTypeScriptStrict|x86.Build.0 = Release|Any CPU + {6AB4FD70-2CCF-4876-A193-B5FD6B32C39A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6AB4FD70-2CCF-4876-A193-B5FD6B32C39A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6AB4FD70-2CCF-4876-A193-B5FD6B32C39A}.Debug|x64.ActiveCfg = Debug|Any CPU + {6AB4FD70-2CCF-4876-A193-B5FD6B32C39A}.Debug|x64.Build.0 = Debug|Any CPU + {6AB4FD70-2CCF-4876-A193-B5FD6B32C39A}.Debug|x86.ActiveCfg = Debug|Any CPU + {6AB4FD70-2CCF-4876-A193-B5FD6B32C39A}.Debug|x86.Build.0 = Debug|Any CPU + {6AB4FD70-2CCF-4876-A193-B5FD6B32C39A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6AB4FD70-2CCF-4876-A193-B5FD6B32C39A}.Release|Any CPU.Build.0 = Release|Any CPU + {6AB4FD70-2CCF-4876-A193-B5FD6B32C39A}.Release|x64.ActiveCfg = Release|Any CPU + {6AB4FD70-2CCF-4876-A193-B5FD6B32C39A}.Release|x64.Build.0 = Release|Any CPU + {6AB4FD70-2CCF-4876-A193-B5FD6B32C39A}.Release|x86.ActiveCfg = Release|Any CPU + {6AB4FD70-2CCF-4876-A193-B5FD6B32C39A}.Release|x86.Build.0 = Release|Any CPU + {6AB4FD70-2CCF-4876-A193-B5FD6B32C39A}.ReleaseTypeScriptStrict|Any CPU.ActiveCfg = Release|Any CPU + {6AB4FD70-2CCF-4876-A193-B5FD6B32C39A}.ReleaseTypeScriptStrict|Any CPU.Build.0 = Release|Any CPU + {6AB4FD70-2CCF-4876-A193-B5FD6B32C39A}.ReleaseTypeScriptStrict|x64.ActiveCfg = Release|Any CPU + {6AB4FD70-2CCF-4876-A193-B5FD6B32C39A}.ReleaseTypeScriptStrict|x64.Build.0 = Release|Any CPU + {6AB4FD70-2CCF-4876-A193-B5FD6B32C39A}.ReleaseTypeScriptStrict|x86.ActiveCfg = Release|Any CPU + {6AB4FD70-2CCF-4876-A193-B5FD6B32C39A}.ReleaseTypeScriptStrict|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -476,6 +496,7 @@ Global {51740C29-AF4F-40AD-BFDE-09E6F8C873D2} = {48E8B044-3374-4F39-A180-9E01F7A10785} {8522EA49-D7FA-4582-A535-ED28C5AFD746} = {D8CC0D1C-8DAC-49FE-AA78-C028DC124DD5} {EC94C4C5-3822-46D0-A8B4-B241D34830C0} = {D8CC0D1C-8DAC-49FE-AA78-C028DC124DD5} + {6AB4FD70-2CCF-4876-A193-B5FD6B32C39A} = {1030C3AA-7549-473B-AA7E-5DFAC2F9D37A} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {98FCEEE2-A45C-41E7-B2ED-1B14755E9067} diff --git a/src/NSwag.Sample.NetGlobalAsax/NSwag.Sample.NetGlobalAsax.csproj b/src/NSwag.Sample.NetGlobalAsax/NSwag.Sample.NetGlobalAsax.csproj index d25fa0e0d3..b4cffe78fc 100644 --- a/src/NSwag.Sample.NetGlobalAsax/NSwag.Sample.NetGlobalAsax.csproj +++ b/src/NSwag.Sample.NetGlobalAsax/NSwag.Sample.NetGlobalAsax.csproj @@ -59,8 +59,8 @@ ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll - - ..\packages\NJsonSchema.9.10.30\lib\net45\NJsonSchema.dll + + ..\packages\NJsonSchema.9.10.31\lib\net45\NJsonSchema.dll ..\packages\Owin.1.0\lib\net40\Owin.dll diff --git a/src/NSwag.Sample.NetGlobalAsax/packages.config b/src/NSwag.Sample.NetGlobalAsax/packages.config index c2b8aa99bd..a2b3b54ede 100644 --- a/src/NSwag.Sample.NetGlobalAsax/packages.config +++ b/src/NSwag.Sample.NetGlobalAsax/packages.config @@ -27,7 +27,7 @@ - + diff --git a/src/NSwag.SwaggerGeneration.AspNetCore/NSwag.SwaggerGeneration.AspNetCore.csproj b/src/NSwag.SwaggerGeneration.AspNetCore/NSwag.SwaggerGeneration.AspNetCore.csproj index dab0d405b1..1cc6d53f39 100644 --- a/src/NSwag.SwaggerGeneration.AspNetCore/NSwag.SwaggerGeneration.AspNetCore.csproj +++ b/src/NSwag.SwaggerGeneration.AspNetCore/NSwag.SwaggerGeneration.AspNetCore.csproj @@ -24,7 +24,7 @@ - + diff --git a/src/NSwag.SwaggerGeneration.WebApi.Tests/NSwag.SwaggerGeneration.WebApi.Tests.csproj b/src/NSwag.SwaggerGeneration.WebApi.Tests/NSwag.SwaggerGeneration.WebApi.Tests.csproj index e708e9d10e..6011cccda9 100644 --- a/src/NSwag.SwaggerGeneration.WebApi.Tests/NSwag.SwaggerGeneration.WebApi.Tests.csproj +++ b/src/NSwag.SwaggerGeneration.WebApi.Tests/NSwag.SwaggerGeneration.WebApi.Tests.csproj @@ -47,8 +47,8 @@ ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll True - - ..\packages\NJsonSchema.9.10.30\lib\net45\NJsonSchema.dll + + ..\packages\NJsonSchema.9.10.31\lib\net45\NJsonSchema.dll ..\packages\Swashbuckle.Core.5.5.3\lib\net40\Swashbuckle.Core.dll diff --git a/src/NSwag.SwaggerGeneration.WebApi.Tests/packages.config b/src/NSwag.SwaggerGeneration.WebApi.Tests/packages.config index d7845b8be2..35dfb040ff 100644 --- a/src/NSwag.SwaggerGeneration.WebApi.Tests/packages.config +++ b/src/NSwag.SwaggerGeneration.WebApi.Tests/packages.config @@ -10,7 +10,7 @@ - + diff --git a/src/NSwag.SwaggerGeneration.WebApi/NSwag.SwaggerGeneration.WebApi.csproj b/src/NSwag.SwaggerGeneration.WebApi/NSwag.SwaggerGeneration.WebApi.csproj index ded660b60e..79c56f6344 100644 --- a/src/NSwag.SwaggerGeneration.WebApi/NSwag.SwaggerGeneration.WebApi.csproj +++ b/src/NSwag.SwaggerGeneration.WebApi/NSwag.SwaggerGeneration.WebApi.csproj @@ -22,7 +22,7 @@ - + diff --git a/src/NSwag.SwaggerGeneration/NSwag.SwaggerGeneration.csproj b/src/NSwag.SwaggerGeneration/NSwag.SwaggerGeneration.csproj index 720ee1a048..eda1fe9da5 100644 --- a/src/NSwag.SwaggerGeneration/NSwag.SwaggerGeneration.csproj +++ b/src/NSwag.SwaggerGeneration/NSwag.SwaggerGeneration.csproj @@ -22,7 +22,7 @@ - + diff --git a/src/NSwag.Tests/NSwag.Tests.csproj b/src/NSwag.Tests/NSwag.Tests.csproj index c9bd8aa325..292e12540c 100644 --- a/src/NSwag.Tests/NSwag.Tests.csproj +++ b/src/NSwag.Tests/NSwag.Tests.csproj @@ -63,8 +63,8 @@ ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll True - - ..\packages\NJsonSchema.9.10.30\lib\net45\NJsonSchema.dll + + ..\packages\NJsonSchema.9.10.31\lib\net45\NJsonSchema.dll diff --git a/src/NSwag.Tests/packages.config b/src/NSwag.Tests/packages.config index 1bba49f1d0..ae6417edc3 100644 --- a/src/NSwag.Tests/packages.config +++ b/src/NSwag.Tests/packages.config @@ -4,5 +4,5 @@ - + \ No newline at end of file diff --git a/src/NSwag.sln b/src/NSwag.sln index 106c03f214..62d1c5b73b 100644 --- a/src/NSwag.sln +++ b/src/NSwag.sln @@ -144,7 +144,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NSwag.Sample.NETCore11", "N EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NSwag.Integration.NETCore11", "NSwag.Integration.NETCore11\NSwag.Integration.NETCore11.csproj", "{42F44479-032B-493A-87A7-E103275CB26B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NSwag.Sample.NETCore20", "NSwag.Sample.NETCore20\NSwag.Sample.NETCore20.csproj", "{EC94C4C5-3822-46D0-A8B4-B241D34830C0}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NSwag.Sample.NETCore20", "NSwag.Sample.NETCore20\NSwag.Sample.NETCore20.csproj", "{EC94C4C5-3822-46D0-A8B4-B241D34830C0}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NSwag.Core.Tests", "NSwag.Core.Tests\NSwag.Core.Tests.csproj", "{810AF444-D713-4CEE-BC9F-13D7875AE69B}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -890,6 +892,24 @@ Global {EC94C4C5-3822-46D0-A8B4-B241D34830C0}.ReleaseTypeScriptStrict|x64.Build.0 = Release|Any CPU {EC94C4C5-3822-46D0-A8B4-B241D34830C0}.ReleaseTypeScriptStrict|x86.ActiveCfg = Release|Any CPU {EC94C4C5-3822-46D0-A8B4-B241D34830C0}.ReleaseTypeScriptStrict|x86.Build.0 = Release|Any CPU + {810AF444-D713-4CEE-BC9F-13D7875AE69B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {810AF444-D713-4CEE-BC9F-13D7875AE69B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {810AF444-D713-4CEE-BC9F-13D7875AE69B}.Debug|x64.ActiveCfg = Debug|Any CPU + {810AF444-D713-4CEE-BC9F-13D7875AE69B}.Debug|x64.Build.0 = Debug|Any CPU + {810AF444-D713-4CEE-BC9F-13D7875AE69B}.Debug|x86.ActiveCfg = Debug|Any CPU + {810AF444-D713-4CEE-BC9F-13D7875AE69B}.Debug|x86.Build.0 = Debug|Any CPU + {810AF444-D713-4CEE-BC9F-13D7875AE69B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {810AF444-D713-4CEE-BC9F-13D7875AE69B}.Release|Any CPU.Build.0 = Release|Any CPU + {810AF444-D713-4CEE-BC9F-13D7875AE69B}.Release|x64.ActiveCfg = Release|Any CPU + {810AF444-D713-4CEE-BC9F-13D7875AE69B}.Release|x64.Build.0 = Release|Any CPU + {810AF444-D713-4CEE-BC9F-13D7875AE69B}.Release|x86.ActiveCfg = Release|Any CPU + {810AF444-D713-4CEE-BC9F-13D7875AE69B}.Release|x86.Build.0 = Release|Any CPU + {810AF444-D713-4CEE-BC9F-13D7875AE69B}.ReleaseTypeScriptStrict|Any CPU.ActiveCfg = Release|Any CPU + {810AF444-D713-4CEE-BC9F-13D7875AE69B}.ReleaseTypeScriptStrict|Any CPU.Build.0 = Release|Any CPU + {810AF444-D713-4CEE-BC9F-13D7875AE69B}.ReleaseTypeScriptStrict|x64.ActiveCfg = Release|Any CPU + {810AF444-D713-4CEE-BC9F-13D7875AE69B}.ReleaseTypeScriptStrict|x64.Build.0 = Release|Any CPU + {810AF444-D713-4CEE-BC9F-13D7875AE69B}.ReleaseTypeScriptStrict|x86.ActiveCfg = Release|Any CPU + {810AF444-D713-4CEE-BC9F-13D7875AE69B}.ReleaseTypeScriptStrict|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -940,6 +960,7 @@ Global {8522EA49-D7FA-4582-A535-ED28C5AFD746} = {D8CC0D1C-8DAC-49FE-AA78-C028DC124DD5} {42F44479-032B-493A-87A7-E103275CB26B} = {F31829C6-CEE4-4242-A4D9-820C36127B0B} {EC94C4C5-3822-46D0-A8B4-B241D34830C0} = {D8CC0D1C-8DAC-49FE-AA78-C028DC124DD5} + {810AF444-D713-4CEE-BC9F-13D7875AE69B} = {634E4ABD-29EC-4EB2-81EF-7E41D6D6F6E0} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {98FCEEE2-A45C-41E7-B2ED-1B14755E9067} diff --git a/src/NSwagStudio/NSwagStudio.csproj b/src/NSwagStudio/NSwagStudio.csproj index 11d0629a3e..8d830c6da8 100644 --- a/src/NSwagStudio/NSwagStudio.csproj +++ b/src/NSwagStudio/NSwagStudio.csproj @@ -93,17 +93,17 @@ ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll - - ..\packages\NJsonSchema.9.10.30\lib\net45\NJsonSchema.dll + + ..\packages\NJsonSchema.9.10.31\lib\net45\NJsonSchema.dll - - ..\packages\NJsonSchema.CodeGeneration.9.10.30\lib\net451\NJsonSchema.CodeGeneration.dll + + ..\packages\NJsonSchema.CodeGeneration.9.10.31\lib\net451\NJsonSchema.CodeGeneration.dll - - ..\packages\NJsonSchema.CodeGeneration.CSharp.9.10.30\lib\net451\NJsonSchema.CodeGeneration.CSharp.dll + + ..\packages\NJsonSchema.CodeGeneration.CSharp.9.10.31\lib\net451\NJsonSchema.CodeGeneration.CSharp.dll - - ..\packages\NJsonSchema.CodeGeneration.TypeScript.9.10.30\lib\net451\NJsonSchema.CodeGeneration.TypeScript.dll + + ..\packages\NJsonSchema.CodeGeneration.TypeScript.9.10.31\lib\net451\NJsonSchema.CodeGeneration.TypeScript.dll diff --git a/src/NSwagStudio/packages.config b/src/NSwagStudio/packages.config index 61c8803938..214b748b4d 100644 --- a/src/NSwagStudio/packages.config +++ b/src/NSwagStudio/packages.config @@ -10,10 +10,10 @@ - - - - + + + +