Skip to content

Commit a45aaa0

Browse files
authored
Merge pull request #482 from microsoft/release/1.2.0
Release/1.2.0
2 parents 578e587 + 7b0332a commit a45aaa0

File tree

282 files changed

+3039
-1244
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

282 files changed

+3039
-1244
lines changed

.editorconfig

+123
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
# To learn more about .editorconfig see https://aka.ms/editorconfigdocs
2+
###############################
3+
# Core EditorConfig Options #
4+
###############################
5+
# All files
6+
[*]
7+
indent_style = space
8+
# Code files
9+
[*.{cs,csx,vb,vbx}]
10+
indent_size = 4
11+
insert_final_newline = true
12+
charset = utf-8-bom
13+
###############################
14+
# .NET Coding Conventions #
15+
###############################
16+
[*.{cs,vb}]
17+
# Organize usings
18+
dotnet_sort_system_directives_first = true
19+
# this. preferences
20+
dotnet_style_qualification_for_field = false:silent
21+
dotnet_style_qualification_for_property = false:silent
22+
dotnet_style_qualification_for_method = false:silent
23+
dotnet_style_qualification_for_event = false:silent
24+
# Language keywords vs BCL types preferences
25+
dotnet_style_predefined_type_for_locals_parameters_members = true:silent
26+
dotnet_style_predefined_type_for_member_access = true:silent
27+
# Parentheses preferences
28+
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
29+
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent
30+
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
31+
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
32+
# Modifier preferences
33+
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent
34+
dotnet_style_readonly_field = true:suggestion
35+
# Expression-level preferences
36+
dotnet_style_object_initializer = true:suggestion
37+
dotnet_style_collection_initializer = true:suggestion
38+
dotnet_style_explicit_tuple_names = true:suggestion
39+
dotnet_style_null_propagation = true:suggestion
40+
dotnet_style_coalesce_expression = true:suggestion
41+
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:silent
42+
dotnet_style_prefer_inferred_tuple_names = true:suggestion
43+
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
44+
dotnet_style_prefer_auto_properties = true:silent
45+
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
46+
dotnet_style_prefer_conditional_expression_over_return = true:silent
47+
###############################
48+
# Naming Conventions #
49+
###############################
50+
# Style Definitions
51+
dotnet_naming_style.pascal_case_style.capitalization = pascal_case
52+
# Use PascalCase for constant fields
53+
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion
54+
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
55+
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
56+
dotnet_naming_symbols.constant_fields.applicable_kinds = field
57+
dotnet_naming_symbols.constant_fields.applicable_accessibilities = *
58+
dotnet_naming_symbols.constant_fields.required_modifiers = const
59+
###############################
60+
# C# Coding Conventions #
61+
###############################
62+
[*.cs]
63+
# var preferences
64+
csharp_style_var_for_built_in_types = true:silent
65+
csharp_style_var_when_type_is_apparent = true:silent
66+
csharp_style_var_elsewhere = true:silent
67+
# Expression-bodied members
68+
csharp_style_expression_bodied_methods = false:silent
69+
csharp_style_expression_bodied_constructors = false:silent
70+
csharp_style_expression_bodied_operators = false:silent
71+
csharp_style_expression_bodied_properties = true:silent
72+
csharp_style_expression_bodied_indexers = true:silent
73+
csharp_style_expression_bodied_accessors = true:silent
74+
# Pattern matching preferences
75+
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
76+
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
77+
# Null-checking preferences
78+
csharp_style_throw_expression = true:suggestion
79+
csharp_style_conditional_delegate_call = true:suggestion
80+
# Modifier preferences
81+
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion
82+
# Expression-level preferences
83+
csharp_prefer_braces = true:silent
84+
csharp_style_deconstructed_variable_declaration = true:suggestion
85+
csharp_prefer_simple_default_expression = true:suggestion
86+
csharp_style_pattern_local_over_anonymous_function = true:suggestion
87+
csharp_style_inlined_variable_declaration = true:suggestion
88+
###############################
89+
# C# Formatting Rules #
90+
###############################
91+
# New line preferences
92+
csharp_new_line_before_open_brace = all
93+
csharp_new_line_before_else = true
94+
csharp_new_line_before_catch = true
95+
csharp_new_line_before_finally = true
96+
csharp_new_line_before_members_in_object_initializers = true
97+
csharp_new_line_before_members_in_anonymous_types = true
98+
csharp_new_line_between_query_expression_clauses = true
99+
# Indentation preferences
100+
csharp_indent_case_contents = true
101+
csharp_indent_switch_labels = true
102+
csharp_indent_labels = flush_left
103+
# Space preferences
104+
csharp_space_after_cast = false
105+
csharp_space_after_keywords_in_control_flow_statements = true
106+
csharp_space_between_method_call_parameter_list_parentheses = false
107+
csharp_space_between_method_declaration_parameter_list_parentheses = false
108+
csharp_space_between_parentheses = false
109+
csharp_space_before_colon_in_inheritance_clause = true
110+
csharp_space_after_colon_in_inheritance_clause = true
111+
csharp_space_around_binary_operators = before_and_after
112+
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
113+
csharp_space_between_method_call_name_and_opening_parenthesis = false
114+
csharp_space_between_method_call_empty_parameter_list_parentheses = false
115+
# Wrapping preferences
116+
csharp_preserve_single_line_statements = true
117+
csharp_preserve_single_line_blocks = true
118+
###############################
119+
# VB Coding Conventions #
120+
###############################
121+
[*.vb]
122+
# Modifier preferences
123+
visual_basic_preferred_modifier_order = Partial,Default,Private,Protected,Public,Friend,NotOverridable,Overridable,MustOverride,Overloads,Overrides,MustInherit,NotInheritable,Static,Shared,Shadows,ReadOnly,WriteOnly,Dim,Const,WithEvents,Widening,Narrowing,Custom,Async:suggestion

Microsoft.OpenApi.sln

+10-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio 15
4-
VisualStudioVersion = 15.0.27130.2027
3+
# Visual Studio Version 16
4+
VisualStudioVersion = 16.0.29613.14
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.OpenApi", "src\Microsoft.OpenApi\Microsoft.OpenApi.csproj", "{A8E50143-69B2-472A-9D45-3F9A05D13202}"
77
EndProject
88
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{4AEDAD90-F854-4940-BFEE-6374CC92CAB0}"
99
ProjectSection(SolutionItems) = preProject
10+
.editorconfig = .editorconfig
1011
build.cmd = build.cmd
1112
readme.md = readme.md
1213
EndProjectSection
@@ -25,6 +26,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{6357D7FD-2
2526
EndProject
2627
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.OpenApi.SmokeTests", "test\Microsoft.OpenApi.SmokeTests\Microsoft.OpenApi.SmokeTests.csproj", "{AD79B61D-88CF-497C-9ED5-41AE3867C5AC}"
2728
EndProject
29+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.OpenApi.Tool", "src\Microsoft.OpenApi.Tool\Microsoft.OpenApi.Tool.csproj", "{254841B5-7DAC-4D1D-A9C5-44FE5CE467BE}"
30+
EndProject
2831
Global
2932
GlobalSection(SolutionConfigurationPlatforms) = preSolution
3033
Debug|Any CPU = Debug|Any CPU
@@ -55,6 +58,10 @@ Global
5558
{AD79B61D-88CF-497C-9ED5-41AE3867C5AC}.Debug|Any CPU.Build.0 = Debug|Any CPU
5659
{AD79B61D-88CF-497C-9ED5-41AE3867C5AC}.Release|Any CPU.ActiveCfg = Release|Any CPU
5760
{AD79B61D-88CF-497C-9ED5-41AE3867C5AC}.Release|Any CPU.Build.0 = Release|Any CPU
61+
{254841B5-7DAC-4D1D-A9C5-44FE5CE467BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
62+
{254841B5-7DAC-4D1D-A9C5-44FE5CE467BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
63+
{254841B5-7DAC-4D1D-A9C5-44FE5CE467BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
64+
{254841B5-7DAC-4D1D-A9C5-44FE5CE467BE}.Release|Any CPU.Build.0 = Release|Any CPU
5865
EndGlobalSection
5966
GlobalSection(SolutionProperties) = preSolution
6067
HideSolutionNode = FALSE
@@ -66,6 +73,7 @@ Global
6673
{AD83F991-DBF3-4251-8613-9CC54C826964} = {6357D7FD-2DE4-4900-ADB9-ABC37052040A}
6774
{1ED3C2C1-E1E7-4925-B4E6-2D969C3F5237} = {6357D7FD-2DE4-4900-ADB9-ABC37052040A}
6875
{AD79B61D-88CF-497C-9ED5-41AE3867C5AC} = {6357D7FD-2DE4-4900-ADB9-ABC37052040A}
76+
{254841B5-7DAC-4D1D-A9C5-44FE5CE467BE} = {E546B92F-20A8-49C3-8323-4B25BB78F3E1}
6977
EndGlobalSection
7078
GlobalSection(ExtensibilityGlobals) = postSolution
7179
SolutionGuid = {9F171EFC-0DB5-4B10-ABFA-AF48D52CC565}

README.md

+5
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ Project Objectives
1919
- Provide OpenAPI description writers for both V2 and V3 specification formats.
2020
- Enable developers to create Readers that translate different data formats into OpenAPI descriptions.
2121

22+
# Installation
23+
24+
- Install core Nuget package `Microsoft.OpenApi`
25+
- Install readers Nuget package `Microsoft.OpenApi.Readers`
26+
2227
# Processors
2328
The OpenAPI.NET project holds the base object model for representing OpenAPI documents as .NET objects. Some developers have found the need to write processors that convert other data formats into this OpenAPI.NET object model. We'd like to curate that list of processors in this section of the readme.
2429

build.cmd

+7-11
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,17 @@
11
@echo off
2-
if "%~1"=="" goto :error
3-
4-
SET VERSION=%~1
5-
6-
Echo Building Microsoft.OpenApi
2+
Echo Building Microsoft.OpenApi
73

84
SET PROJ=%~dp0src\Microsoft.OpenApi\Microsoft.OpenApi.csproj
9-
dotnet build %PROJ% /t:restore /p:Configuration=Release
10-
dotnet build %PROJ% /t:build /p:Configuration=Release
11-
dotnet build %PROJ% /t:pack /p:Configuration=Release;PackageOutputPath=%~dp0artifacts;Version=%VERSION%
5+
dotnet msbuild %PROJ% /t:restore /p:Configuration=Release
6+
dotnet msbuild %PROJ% /t:build /p:Configuration=Release
7+
dotnet msbuild %PROJ% /t:pack /p:Configuration=Release;PackageOutputPath=%~dp0artifacts
128

139
Echo Building Microsoft.OpenApi.Readers
1410

1511
SET PROJ=%~dp0src\Microsoft.OpenApi.Readers\Microsoft.OpenApi.Readers.csproj
16-
dotnet build %PROJ% /t:restore /p:Configuration=Release
17-
dotnet build %PROJ% /t:build /p:Configuration=Release
18-
dotnet build %PROJ% /t:pack /p:Configuration=Release;PackageOutputPath=%~dp0artifacts;Version=%VERSION%
12+
dotnet msbuild %PROJ% /t:restore /p:Configuration=Release
13+
dotnet msbuild %PROJ% /t:build /p:Configuration=Release
14+
dotnet msbuild %PROJ% /t:pack /p:Configuration=Release;PackageOutputPath=%~dp0artifacts
1915

2016
goto :end
2117
:error

src/Microsoft.OpenApi.Readers/Exceptions/OpenApiReaderException.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public OpenApiReaderException(string message, YamlNode node) : base(message)
3333
{
3434
// This only includes line because using a char range causes tests to break due to CR/LF & LF differences
3535
// See https://tools.ietf.org/html/rfc5147 for syntax
36-
Pointer = $"#line={node.Start.Line}";
36+
Pointer = $"#line={node.Start.Line}";
3737
}
3838

3939
/// <summary>
@@ -43,4 +43,4 @@ public OpenApiReaderException(string message, YamlNode node) : base(message)
4343
/// <param name="innerException">Inner exception that caused this exception to be thrown.</param>
4444
public OpenApiReaderException(string message, Exception innerException) : base(message, innerException) { }
4545
}
46-
}
46+
}

src/Microsoft.OpenApi.Readers/Exceptions/OpenApiUnsupportedSpecVersionException.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,4 @@ public OpenApiUnsupportedSpecVersionException(string specificationVersion, Excep
4141
/// </summary>
4242
public string SpecificationVersion { get; }
4343
}
44-
}
44+
}

src/Microsoft.OpenApi.Readers/Interface/IDiagnostic.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ namespace Microsoft.OpenApi.Readers.Interface
99
public interface IDiagnostic
1010
{
1111
}
12-
}
12+
}

src/Microsoft.OpenApi.Readers/Interface/IOpenApiReader.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ public interface IOpenApiReader<TInput, TDiagnostic> where TDiagnostic : IDiagno
2020
/// <returns>The Open API document.</returns>
2121
OpenApiDocument Read(TInput input, out TDiagnostic diagnostic);
2222
}
23-
}
23+
}

src/Microsoft.OpenApi.Readers/Interface/IOpenApiVersionService.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,4 @@ internal interface IOpenApiVersionService
3737
/// <returns>Instance of OpenApiDocument populated with data from rootNode</returns>
3838
OpenApiDocument LoadDocument(RootNode rootNode);
3939
}
40-
}
40+
}

src/Microsoft.OpenApi.Readers/Microsoft.OpenApi.Readers.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<Company>Microsoft</Company>
1111
<Title>Microsoft.OpenApi.Readers</Title>
1212
<PackageId>Microsoft.OpenApi.Readers</PackageId>
13-
<Version>1.1.4</Version>
13+
<Version>1.2.0</Version>
1414
<Description>OpenAPI.NET Readers for JSON and YAML documents</Description>
1515
<Copyright>© Microsoft Corporation. All rights reserved.</Copyright>
1616
<PackageTags>OpenAPI .NET</PackageTags>
@@ -26,7 +26,7 @@
2626
</PropertyGroup>
2727

2828
<ItemGroup>
29-
<PackageReference Include="SharpYaml" Version="1.6.1" />
29+
<PackageReference Include="SharpYaml" Version="1.6.5" />
3030
</ItemGroup>
3131

3232
<ItemGroup>

src/Microsoft.OpenApi.Readers/OpenApiDiagnostic.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,4 @@ public class OpenApiDiagnostic : IDiagnostic
2222
/// </summary>
2323
public OpenApiSpecVersion SpecificationVersion { get; set; }
2424
}
25-
}
25+
}

src/Microsoft.OpenApi.Readers/OpenApiReaderSettings.cs

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
using Microsoft.OpenApi.Any;
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT license.
3+
4+
using Microsoft.OpenApi.Any;
25
using Microsoft.OpenApi.Interfaces;
36
using Microsoft.OpenApi.Readers.ParseNodes;
47
using Microsoft.OpenApi.Validations;
@@ -42,7 +45,7 @@ public class OpenApiReaderSettings
4245
/// <summary>
4346
/// Dictionary of parsers for converting extensions into strongly typed classes
4447
/// </summary>
45-
public Dictionary<string, Func<IOpenApiAny , OpenApiSpecVersion, IOpenApiExtension>> ExtensionParsers { get; set; } = new Dictionary<string, Func<IOpenApiAny, OpenApiSpecVersion, IOpenApiExtension>>();
48+
public Dictionary<string, Func<IOpenApiAny, OpenApiSpecVersion, IOpenApiExtension>> ExtensionParsers { get; set; } = new Dictionary<string, Func<IOpenApiAny, OpenApiSpecVersion, IOpenApiExtension>>();
4649

4750
/// <summary>
4851
/// Rules to use for validating OpenAPI specification. If none are provided a default set of rules are applied.
@@ -52,6 +55,6 @@ public class OpenApiReaderSettings
5255
/// <summary>
5356
/// URL where relative references should be resolved from if the description does not contain Server definitions
5457
/// </summary>
55-
public Uri BaseUrl { get; set; }
58+
public Uri BaseUrl { get; set; }
5659
}
5760
}

0 commit comments

Comments
 (0)