Add .editorconfig and StyleCop rules, cleanup project files (#250)
This commit is contained in:
Родитель
a52ca2adfe
Коммит
3f994ab4fb
|
@ -0,0 +1,185 @@
|
|||
# editorconfig.org
|
||||
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
# Default settings:
|
||||
# A newline ending every file
|
||||
# Use 4 spaces as indentation
|
||||
[**]
|
||||
insert_final_newline = true
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
# C# files
|
||||
[**.cs]
|
||||
# New line preferences
|
||||
csharp_new_line_before_open_brace = all # vs-default: any
|
||||
csharp_new_line_before_else = true # vs-default: true
|
||||
csharp_new_line_before_catch = true # vs-default: true
|
||||
csharp_new_line_before_finally = true # vs-default: true
|
||||
csharp_new_line_before_members_in_object_initializers = true # vs-default: true
|
||||
csharp_new_line_before_members_in_anonymous_types = true # vs-default: true
|
||||
csharp_new_line_between_query_expression_clauses = true # vs-default: true
|
||||
|
||||
# Indentation preferences
|
||||
csharp_indent_block_contents = true # vs-default: true
|
||||
csharp_indent_braces = false # vs-default: false
|
||||
csharp_indent_case_contents = true # vs-default: true
|
||||
csharp_indent_case_contents_when_block = true
|
||||
csharp_indent_switch_labels = true # vs-default: true
|
||||
csharp_indent_labels = one_less_than_current # vs-default: one_less_than_current
|
||||
|
||||
# Modifier preferences
|
||||
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion
|
||||
|
||||
# avoid this. unless absolutely necessary
|
||||
dotnet_style_qualification_for_field = false:suggestion # vs-default: false:none
|
||||
dotnet_style_qualification_for_property = false:suggestion # vs-default: false:none
|
||||
dotnet_style_qualification_for_method = false:suggestion # vs-default: false:none
|
||||
dotnet_style_qualification_for_event = false:suggestion # vs-default: false:none
|
||||
|
||||
# only use var when it's obvious what the variable type is
|
||||
csharp_style_var_for_built_in_types = false:none # vs-default: true:none
|
||||
csharp_style_var_when_type_is_apparent = false:none # vs-default: true:none
|
||||
csharp_style_var_elsewhere = false:suggestion # vs-default: true:none
|
||||
|
||||
# use language keywords instead of BCL types
|
||||
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion # vs-default: true:none
|
||||
dotnet_style_predefined_type_for_member_access = true:suggestion # vs-default: true:none
|
||||
|
||||
# name all constant fields using PascalCase
|
||||
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion
|
||||
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
|
||||
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
|
||||
|
||||
dotnet_naming_symbols.constant_fields.applicable_kinds = field
|
||||
dotnet_naming_symbols.constant_fields.required_modifiers = const
|
||||
|
||||
dotnet_naming_style.pascal_case_style.capitalization = pascal_case
|
||||
|
||||
# static fields should have s_ prefix
|
||||
dotnet_naming_rule.static_fields_should_have_prefix.severity = suggestion
|
||||
dotnet_naming_rule.static_fields_should_have_prefix.symbols = static_fields
|
||||
dotnet_naming_rule.static_fields_should_have_prefix.style = static_prefix_style
|
||||
|
||||
dotnet_naming_symbols.static_fields.applicable_kinds = field
|
||||
dotnet_naming_symbols.static_fields.required_modifiers = static
|
||||
dotnet_naming_symbols.static_fields.applicable_accessibilities = private, internal, private_protected
|
||||
dotnet_naming_style.static_prefix_style.required_prefix = s_
|
||||
dotnet_naming_style.static_prefix_style.capitalization = camel_case
|
||||
|
||||
# internal and private fields should be _camelCase
|
||||
dotnet_naming_rule.camel_case_for_private_internal_fields.severity = suggestion
|
||||
dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields
|
||||
dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style
|
||||
|
||||
dotnet_naming_symbols.private_internal_fields.applicable_kinds = field
|
||||
dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal
|
||||
|
||||
dotnet_naming_style.camel_case_underscore_style.required_prefix = _
|
||||
dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case
|
||||
|
||||
# Code style defaults
|
||||
csharp_using_directive_placement = outside_namespace:suggestion
|
||||
dotnet_sort_system_directives_first = true # vs-default: true
|
||||
csharp_prefer_braces = true:refactoring
|
||||
csharp_preserve_single_line_blocks = true # vs-default: true
|
||||
csharp_preserve_single_line_statements = false # vs-default: true
|
||||
csharp_prefer_static_local_function = true:suggestion
|
||||
csharp_prefer_simple_using_statement = false:none
|
||||
csharp_style_prefer_switch_expression = true:suggestion
|
||||
|
||||
# Code quality
|
||||
dotnet_style_readonly_field = true:suggestion
|
||||
dotnet_code_quality_unused_parameters = non_public:suggestion
|
||||
|
||||
# Expression-level preferences
|
||||
dotnet_style_object_initializer = true:suggestion # vs-default: true:suggestion
|
||||
dotnet_style_collection_initializer = true:suggestion # vs-default: true:suggestion
|
||||
dotnet_style_explicit_tuple_names = true:suggestion # vs-default: true:suggestion
|
||||
dotnet_style_coalesce_expression = true:suggestion # vs-default: true:suggestion
|
||||
dotnet_style_null_propagation = true:suggestion # vs-default: true:suggestion
|
||||
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
|
||||
dotnet_style_prefer_inferred_tuple_names = true:suggestion
|
||||
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
|
||||
dotnet_style_prefer_auto_properties = true:suggestion
|
||||
dotnet_style_prefer_conditional_expression_over_assignment = true:refactoring
|
||||
dotnet_style_prefer_conditional_expression_over_return = true:refactoring
|
||||
csharp_prefer_simple_default_expression = true:suggestion
|
||||
|
||||
# Expression-bodied members
|
||||
csharp_style_expression_bodied_methods = false:none # vs-default: false:none
|
||||
csharp_style_expression_bodied_constructors = false:none # vs-default: false:none
|
||||
csharp_style_expression_bodied_operators = false:none # vs-default: false:none
|
||||
csharp_style_expression_bodied_properties = true:none # vs-default: true:none
|
||||
csharp_style_expression_bodied_indexers = true:none # vs-default: true:none
|
||||
csharp_style_expression_bodied_accessors = true:none # vs-default: true:none
|
||||
csharp_style_expression_bodied_lambdas = true:refactoring
|
||||
csharp_style_expression_bodied_local_functions = true:refactoring
|
||||
|
||||
# Pattern matching
|
||||
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion # vs-default: true:suggestion
|
||||
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion # vs-default: true:suggestion
|
||||
csharp_style_inlined_variable_declaration = true:suggestion # vs-default: true:suggestion
|
||||
|
||||
# Null checking preferences
|
||||
csharp_style_throw_expression = true:suggestion # vs-default: true:suggestion
|
||||
csharp_style_conditional_delegate_call = true:suggestion # vs-default: true:suggestion
|
||||
|
||||
# Other features
|
||||
csharp_style_prefer_index_operator = false:none
|
||||
csharp_style_prefer_range_operator = false:none
|
||||
csharp_style_pattern_local_over_anonymous_function = false:none
|
||||
|
||||
# Space preferences
|
||||
csharp_space_after_cast = false # vs-default: false
|
||||
csharp_space_after_colon_in_inheritance_clause = true # vs-default: true
|
||||
csharp_space_after_comma = true # vs-default: true
|
||||
csharp_space_after_dot = false # vs-default: false
|
||||
csharp_space_after_keywords_in_control_flow_statements = true # vs-default: true
|
||||
csharp_space_after_semicolon_in_for_statement = true # vs-default: true
|
||||
csharp_space_around_binary_operators = before_and_after # vs-default: before_and_after
|
||||
csharp_space_around_declaration_statements = do_not_ignore # vs-default: false
|
||||
csharp_space_before_colon_in_inheritance_clause = true # vs-default: true
|
||||
csharp_space_before_comma = false # vs-default: false
|
||||
csharp_space_before_dot = false # vs-default: false
|
||||
csharp_space_before_open_square_brackets = false # vs-default: false
|
||||
csharp_space_before_semicolon_in_for_statement = false # vs-default: false
|
||||
csharp_space_between_empty_square_brackets = false # vs-default: false
|
||||
csharp_space_between_method_call_empty_parameter_list_parentheses = false # vs-default: false
|
||||
csharp_space_between_method_call_name_and_opening_parenthesis = false # vs-default: false
|
||||
csharp_space_between_method_call_parameter_list_parentheses = false # vs-default: false
|
||||
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false # vs-default: false
|
||||
csharp_space_between_method_declaration_name_and_open_parenthesis = false # vs-default: false
|
||||
csharp_space_between_method_declaration_parameter_list_parentheses = false # vs-default: false
|
||||
csharp_space_between_parentheses = false # vs-default: false
|
||||
csharp_space_between_square_brackets = false # vs-default: false
|
||||
|
||||
# Require accessibility modifiers
|
||||
dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion # vs-default: for_non_interface_members:none
|
||||
|
||||
# Analyzers
|
||||
dotnet_code_quality.ca1802.api_surface = private, internal
|
||||
|
||||
# Xml project files
|
||||
[*.{csproj,vcxproj,vcxproj.filters,proj,nativeproj,locproj}]
|
||||
indent_size = 2
|
||||
|
||||
# Xml build files
|
||||
[*.builds]
|
||||
indent_size = 2
|
||||
|
||||
# Xml files
|
||||
[*.{xml,stylecop,resx,ruleset}]
|
||||
indent_size = 2
|
||||
|
||||
# Xml config files
|
||||
[*.{props,targets,config,nuspec}]
|
||||
indent_size = 2
|
||||
|
||||
# Shell scripts
|
||||
[*.sh]
|
||||
end_of_line = lf
|
||||
[*.{cmd, bat}]
|
||||
end_of_line = crlf
|
|
@ -7,7 +7,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AutoRest.CSharp.V3", "src\A
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AutoRest.CodeModel", "src\AutoRest.CodeModel\AutoRest.CodeModel.csproj", "{FD9339E6-A987-4506-977F-C294A31D0D53}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AutoRest.TestServer.Tests", "test\AutoRest.TestServer.Tests\AutoRest.TestServer.Tests.csproj", "{C0EC4E09-EB17-4C6B-AB31-F14E5C834D7D}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AutoRest.TestServer.Tests", "test\AutoRest.TestServer.Tests\AutoRest.TestServer.Tests.csproj", "{C0EC4E09-EB17-4C6B-AB31-F14E5C834D7D}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{37E859E7-8CCE-426B-8232-35B2C1503230}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.editorconfig = .editorconfig
|
||||
EndProjectSection
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AutoRest.CoreShared", "src\AutoRest.CoreShared\AutoRest.CoreShared.csproj", "{9DB44A43-CFD6-4868-844F-70A25834AE3D}"
|
||||
EndProject
|
||||
Global
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<RepoRoot>$(MSBuildThisFileDirectory)</RepoRoot>
|
||||
<RepoEngPath>$(MSBuildThisFileDirectory)eng</RepoEngPath>
|
||||
<RepoSrcPath>$(RepoRoot)src</RepoSrcPath>
|
||||
<IsTestProject Condition="$(MSBuildProjectName.EndsWith('.Tests'))">true</IsTestProject>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Setup default project properties -->
|
||||
<PropertyGroup>
|
||||
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
|
||||
<Platform Condition="'$(Platform)' == ''">AnyCPU</Platform>
|
||||
<PlatformName Condition="'$(PlatformName)' == ''">$(Platform)</PlatformName>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Setup common output paths -->
|
||||
<PropertyGroup>
|
||||
<ArtifactsDir Condition="'$(ArtifactsDir)' == ''">$(RepoRoot)artifacts\</ArtifactsDir>
|
||||
<ArtifactsObjDir>$(ArtifactsDir)obj\</ArtifactsObjDir>
|
||||
<ArtifactsBinDir>$(ArtifactsDir)bin\</ArtifactsBinDir>
|
||||
<ArtifactsPackagesDir>$(ArtifactsDir)packages\$(Configuration)\</ArtifactsPackagesDir>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
<OutDirName Condition="'$(OutDirName)' == ''">$(MSBuildProjectName)</OutDirName>
|
||||
|
||||
<BaseOutputPath Condition="'$(BaseOutputPath)' == ''">$([System.IO.Path]::GetFullPath('$(ArtifactsBinDir)$(OutDirName)\'))</BaseOutputPath>
|
||||
<OutputPath Condition="'$(PlatformName)' == 'AnyCPU'">$(BaseOutputPath)$(Configuration)\</OutputPath>
|
||||
<OutputPath Condition="'$(PlatformName)' != 'AnyCPU'">$(BaseOutputPath)$(PlatformName)\$(Configuration)\</OutputPath>
|
||||
|
||||
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' == ''">$([System.IO.Path]::GetFullPath('$(ArtifactsObjDir)$(OutDirName)\'))</BaseIntermediateOutputPath>
|
||||
<IntermediateOutputPath Condition="'$(PlatformName)' == 'AnyCPU'">$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath>
|
||||
<IntermediateOutputPath Condition="'$(PlatformName)' != 'AnyCPU'">$(BaseIntermediateOutputPath)$(PlatformName)\$(Configuration)\</IntermediateOutputPath>
|
||||
|
||||
<PackageOutputPath>$(ArtifactsPackagesDir)</PackageOutputPath>
|
||||
|
||||
<CodeAnalysisRuleSet>$(RepoEngPath)\CodeAnalysis.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)AzureSDKClient.snk</AssemblyOriginatorKeyFile>
|
||||
<DelaySign>false</DelaySign>
|
||||
<PublicSign>false</PublicSign>
|
||||
<ImportDefaultReferences>false</ImportDefaultReferences>
|
||||
<LangVersion>preview</LangVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,11 @@
|
|||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<PackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.113">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
|
||||
</PackageReference>
|
||||
<AdditionalFiles Include="$(RepoEngPath)\stylecop.json">
|
||||
<Visible>false</Visible>
|
||||
</AdditionalFiles>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,217 @@
|
|||
<?xml version="1.0"?>
|
||||
<RuleSet Name="StyleCop.Analyzers rules with selected rules set to warning." Description="StyleCop.Analyzers with selected rules enabled. Rules with IsEnabledByDefault = false are disabled." ToolsVersion="14.0">
|
||||
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers.SpecialRules">
|
||||
<Rule Id="SA0001" Action="None" /> <!-- XML comment analysis disabled -->
|
||||
<Rule Id="SA0002" Action="None" /> <!-- Invalid settings file -->
|
||||
</Rules>
|
||||
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers.SpacingRules">
|
||||
<Rule Id="SA1000" Action="Warning" /> <!-- Keywords should be spaced correctly -->
|
||||
<Rule Id="SA1001" Action="None" /> <!-- Commas should be spaced correctly -->
|
||||
<Rule Id="SA1002" Action="None" /> <!-- Semicolons should be spaced correctly -->
|
||||
<Rule Id="SA1003" Action="None" /> <!-- Symbols should be spaced correctly -->
|
||||
<Rule Id="SA1004" Action="None" /> <!-- Documentation lines should begin with single space -->
|
||||
<Rule Id="SA1005" Action="None" /> <!-- Single line comments should begin with single space -->
|
||||
<Rule Id="SA1006" Action="None" /> <!-- Preprocessor keywords should not be preceded by space -->
|
||||
<Rule Id="SA1007" Action="None" /> <!-- Operator keyword should be followed by space -->
|
||||
<Rule Id="SA1008" Action="None" /> <!-- Opening parenthesis should be spaced correctly -->
|
||||
<Rule Id="SA1009" Action="None" /> <!-- Closing parenthesis should be spaced correctly -->
|
||||
<Rule Id="SA1010" Action="None" /> <!-- Opening square brackets should be spaced correctly -->
|
||||
<Rule Id="SA1011" Action="None" /> <!-- Closing square brackets should be spaced correctly -->
|
||||
<Rule Id="SA1012" Action="None" /> <!-- Opening braces should be spaced correctly -->
|
||||
<Rule Id="SA1013" Action="None" /> <!-- Closing braces should be spaced correctly -->
|
||||
<Rule Id="SA1014" Action="None" /> <!-- Opening generic brackets should be spaced correctly -->
|
||||
<Rule Id="SA1015" Action="None" /> <!-- Closing generic brackets should be spaced correctly -->
|
||||
<Rule Id="SA1016" Action="None" /> <!-- Opening attribute brackets should be spaced correctly -->
|
||||
<Rule Id="SA1017" Action="None" /> <!-- Closing attribute brackets should be spaced correctly -->
|
||||
<Rule Id="SA1018" Action="None" /> <!-- Nullable type symbols should be spaced correctly -->
|
||||
<Rule Id="SA1019" Action="Warning" /> <!-- Member access symbols should be spaced correctly -->
|
||||
<Rule Id="SA1020" Action="Warning" /> <!-- Increment decrement symbols should be spaced correctly -->
|
||||
<Rule Id="SA1021" Action="None" /> <!-- Negative signs should be spaced correctly -->
|
||||
<Rule Id="SA1022" Action="None" /> <!-- Positive signs should be spaced correctly -->
|
||||
<Rule Id="SA1023" Action="None" /> <!-- Dereference and access of symbols should be spaced correctly -->
|
||||
<Rule Id="SA1024" Action="None" /> <!-- Colons should be spaced correctly -->
|
||||
<Rule Id="SA1025" Action="None" /> <!-- Code should not contain multiple whitespace in a row -->
|
||||
<Rule Id="SA1026" Action="Warning" /> <!-- Code should not contain space after new or stackalloc keyword in implicitly typed array allocation -->
|
||||
<Rule Id="SA1027" Action="None" /> <!-- Use tabs correctly -->
|
||||
<Rule Id="SA1028" Action="Warning" /> <!-- Code should not contain trailing whitespace -->
|
||||
</Rules>
|
||||
|
||||
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers.ReadabilityRules">
|
||||
<Rule Id="SA1100" Action="None" /> <!-- Do not prefix calls with base unless local implementation exists -->
|
||||
<Rule Id="SA1101" Action="None" /> <!-- Prefix local calls with this -->
|
||||
<Rule Id="SA1102" Action="None" /> <!-- Query clause should follow previous clause -->
|
||||
<Rule Id="SA1103" Action="None" /> <!-- Query clauses should be on separate lines or all on one line -->
|
||||
<Rule Id="SA1104" Action="None" /> <!-- Query clause should begin on new line when previous clause spans multiple lines -->
|
||||
<Rule Id="SA1105" Action="None" /> <!-- Query clauses spanning multiple lines should begin on own line -->
|
||||
<Rule Id="SA1106" Action="None" /> <!-- Code should not contain empty statements -->
|
||||
<Rule Id="SA1107" Action="None" /> <!-- Code should not contain multiple statements on one line -->
|
||||
<Rule Id="SA1108" Action="None" /> <!-- Block statements should not contain embedded comments -->
|
||||
<Rule Id="SA1109" Action="None" /> <!-- Block statements should not contain embedded regions -->
|
||||
<Rule Id="SA1110" Action="None" /> <!-- Opening parenthesis or bracket should be on declaration line -->
|
||||
<Rule Id="SA1111" Action="None" /> <!-- Closing parenthesis should be on line of last parameter -->
|
||||
<Rule Id="SA1112" Action="None" /> <!-- Closing parenthesis should be on line of opening parenthesis -->
|
||||
<Rule Id="SA1113" Action="None" /> <!-- Comma should be on the same line as previous parameter -->
|
||||
<Rule Id="SA1114" Action="None" /> <!-- Parameter list should follow declaration -->
|
||||
<Rule Id="SA1115" Action="None" /> <!-- Parameter should follow comma -->
|
||||
<Rule Id="SA1116" Action="None" /> <!-- Split parameters should start on line after declaration -->
|
||||
<Rule Id="SA1117" Action="None" /> <!-- Parameters should be on same line or separate lines -->
|
||||
<Rule Id="SA1118" Action="None" /> <!-- Parameter should not span multiple lines -->
|
||||
<Rule Id="SA1120" Action="None" /> <!-- Comments should contain text -->
|
||||
<Rule Id="SA1121" Action="None" /> <!-- Use built-in type alias -->
|
||||
<Rule Id="SA1122" Action="None" /> <!-- Use string.Empty for empty strings -->
|
||||
<Rule Id="SA1123" Action="None" /> <!-- Do not place regions within elements -->
|
||||
<Rule Id="SA1124" Action="None" /> <!-- Do not use regions -->
|
||||
<Rule Id="SA1125" Action="None" /> <!-- Use shorthand for nullable types -->
|
||||
<Rule Id="SA1126" Action="None" /> <!-- Prefix calls correctly -->
|
||||
<Rule Id="SA1127" Action="None" /> <!-- Generic type constraints should be on their own line -->
|
||||
<Rule Id="SA1128" Action="None" /> <!-- Put constructor initializers on their own line -->
|
||||
<Rule Id="SA1129" Action="None" /> <!-- Do not use default value type constructor -->
|
||||
<Rule Id="SA1130" Action="None" /> <!-- Use lambda syntax -->
|
||||
<Rule Id="SA1131" Action="None" /> <!-- Use readable conditions -->
|
||||
<Rule Id="SA1132" Action="None" /> <!-- Do not combine fields -->
|
||||
<Rule Id="SA1133" Action="None" /> <!-- Do not combine attributes -->
|
||||
<Rule Id="SA1134" Action="None" /> <!-- Attributes should not share line -->
|
||||
<Rule Id="SA1135" Action="None" /> <!-- Using directives should be qualified -->
|
||||
<Rule Id="SA1136" Action="None" /> <!-- Enum values should be on separate lines -->
|
||||
<Rule Id="SA1137" Action="None" /> <!-- Elements should have the same indentation -->
|
||||
<Rule Id="SA1139" Action="None" /> <!-- Use literal suffix notation instead of casting -->
|
||||
<Rule Id="SX1101" Action="None" /> <!-- Do not prefix local calls with 'this.' -->
|
||||
</Rules>
|
||||
|
||||
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers.OrderingRules">
|
||||
<Rule Id="SA1200" Action="None" /> <!-- Using directives should be placed correctly -->
|
||||
<Rule Id="SA1201" Action="None" /> <!-- Elements should appear in the correct order -->
|
||||
<Rule Id="SA1202" Action="None" /> <!-- Elements should be ordered by access -->
|
||||
<Rule Id="SA1203" Action="None" /> <!-- Constants should appear before fields -->
|
||||
<Rule Id="SA1204" Action="None" /> <!-- Static elements should appear before instance elements -->
|
||||
<Rule Id="SA1205" Action="None" /> <!-- Partial elements should declare access -->
|
||||
<Rule Id="SA1206" Action="None" /> <!-- Declaration keywords should follow order -->
|
||||
<Rule Id="SA1207" Action="None" /> <!-- Protected should come before internal -->
|
||||
<Rule Id="SA1208" Action="None" /> <!-- System using directives should be placed before other using directives -->
|
||||
<Rule Id="SA1209" Action="None" /> <!-- Using alias directives should be placed after other using directives -->
|
||||
<Rule Id="SA1210" Action="None" /> <!-- Using directives should be ordered alphabetically by namespace -->
|
||||
<Rule Id="SA1211" Action="None" /> <!-- Using alias directives should be ordered alphabetically by alias name -->
|
||||
<Rule Id="SA1212" Action="None" /> <!-- Property accessors should follow order -->
|
||||
<Rule Id="SA1213" Action="None" /> <!-- Event accessors should follow order -->
|
||||
<Rule Id="SA1214" Action="None" /> <!-- Readonly fields should appear before non-readonly fields -->
|
||||
<Rule Id="SA1216" Action="None" /> <!-- Using static directives should be placed at the correct location -->
|
||||
<Rule Id="SA1217" Action="None" /> <!-- Using static directives should be ordered alphabetically -->
|
||||
</Rules>
|
||||
|
||||
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers.NamingRules">
|
||||
<Rule Id="SA1300" Action="None" /> <!-- Element should begin with upper-case letter -->
|
||||
<Rule Id="SA1301" Action="None" /> <!-- Element should begin with lower-case letter -->
|
||||
<Rule Id="SA1302" Action="Warning" /> <!-- Interface names should begin with I -->
|
||||
<Rule Id="SA1303" Action="None" /> <!-- Const field names should begin with upper-case letter -->
|
||||
<Rule Id="SA1304" Action="None" /> <!-- Non-private readonly fields should begin with upper-case letter -->
|
||||
<Rule Id="SA1305" Action="None" /> <!-- Field names should not use Hungarian notation -->
|
||||
<Rule Id="SA1306" Action="None" /> <!-- Field names should begin with lower-case letter -->
|
||||
<Rule Id="SA1307" Action="None" /> <!-- Accessible fields should begin with upper-case letter -->
|
||||
<Rule Id="SA1308" Action="None" /> <!-- Variable names should not be prefixed -->
|
||||
<Rule Id="SA1309" Action="None" /> <!-- Field names should not begin with underscore -->
|
||||
<Rule Id="SA1310" Action="None" /> <!-- Field names should not contain underscore -->
|
||||
<Rule Id="SA1311" Action="None" /> <!-- Static readonly fields should begin with upper-case letter -->
|
||||
<Rule Id="SA1312" Action="None" /> <!-- Variable names should begin with lower-case letter -->
|
||||
<Rule Id="SA1313" Action="None" /> <!-- Parameter names should begin with lower-case letter -->
|
||||
<Rule Id="SA1314" Action="None" /> <!-- Type parameter names should begin with T -->
|
||||
<Rule Id="SX1309" Action="None" /> <!-- Field names should begin with underscore -->
|
||||
<Rule Id="SX1309S" Action="None" /> <!-- Static field names should begin with underscore -->
|
||||
</Rules>
|
||||
|
||||
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers.MaintainabilityRules">
|
||||
<Rule Id="SA1119" Action="None" /> <!-- Statement should not use unnecessary parenthesis -->
|
||||
<Rule Id="SA1400" Action="Warning" /> <!-- Access modifier should be declared -->
|
||||
<Rule Id="SA1401" Action="None" /> <!-- Fields should be private -->
|
||||
<Rule Id="SA1402" Action="Warning" /> <!-- File may only contain a single type -->
|
||||
<Rule Id="SA1403" Action="None" /> <!-- File may only contain a single namespace -->
|
||||
<Rule Id="SA1404" Action="None" /> <!-- Code analysis suppression should have justification -->
|
||||
<Rule Id="SA1405" Action="None" /> <!-- Debug.Assert should provide message text -->
|
||||
<Rule Id="SA1406" Action="None" /> <!-- Debug.Fail should provide message text -->
|
||||
<Rule Id="SA1407" Action="None" /> <!-- Arithmetic expressions should declare precedence -->
|
||||
<Rule Id="SA1408" Action="None" /> <!-- Conditional expressions should declare precedence -->
|
||||
<Rule Id="SA1409" Action="None" /> <!-- Remove unnecessary code -->
|
||||
<Rule Id="SA1410" Action="None" /> <!-- Remove delegate parenthesis when possible -->
|
||||
<Rule Id="SA1411" Action="Warning" /> <!-- Attribute constructor should not use unnecessary parenthesis -->
|
||||
<Rule Id="SA1412" Action="None" /> <!-- Store files as UTF-8 with byte order mark -->
|
||||
<Rule Id="SA1413" Action="None" /> <!-- Use trailing comma in multi-line initializers -->
|
||||
</Rules>
|
||||
|
||||
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers.LayoutRules">
|
||||
<Rule Id="SA1500" Action="None" /> <!-- Braces for multi-line statements should not share line -->
|
||||
<Rule Id="SA1501" Action="None" /> <!-- Statement should not be on a single line -->
|
||||
<Rule Id="SA1502" Action="None" /> <!-- Element should not be on a single line -->
|
||||
<Rule Id="SA1503" Action="None" /> <!-- Braces should not be omitted -->
|
||||
<Rule Id="SA1504" Action="None" /> <!-- All accessors should be single-line or multi-line -->
|
||||
<Rule Id="SA1505" Action="None" /> <!-- Opening braces should not be followed by blank line -->
|
||||
<Rule Id="SA1506" Action="None" /> <!-- Element documentation headers should not be followed by blank line -->
|
||||
<Rule Id="SA1507" Action="None" /> <!-- Code should not contain multiple blank lines in a row -->
|
||||
<Rule Id="SA1508" Action="None" /> <!-- Closing braces should not be preceded by blank line -->
|
||||
<Rule Id="SA1509" Action="None" /> <!-- Opening braces should not be preceded by blank line -->
|
||||
<Rule Id="SA1510" Action="None" /> <!-- Chained statement blocks should not be preceded by blank line -->
|
||||
<Rule Id="SA1511" Action="None" /> <!-- While-do footer should not be preceded by blank line -->
|
||||
<Rule Id="SA1512" Action="None" /> <!-- Single-line comments should not be followed by blank line -->
|
||||
<Rule Id="SA1513" Action="None" /> <!-- Closing brace should be followed by blank line -->
|
||||
<Rule Id="SA1514" Action="None" /> <!-- Element documentation header should be preceded by blank line -->
|
||||
<Rule Id="SA1515" Action="None" /> <!-- Single-line comment should be preceded by blank line -->
|
||||
<Rule Id="SA1516" Action="None" /> <!-- Elements should be separated by blank line -->
|
||||
<Rule Id="SA1517" Action="Warning" /> <!-- Code should not contain blank lines at start of file -->
|
||||
<Rule Id="SA1518" Action="Warning" /> <!-- Use line endings correctly at end of file -->
|
||||
<Rule Id="SA1519" Action="None" /> <!-- Braces should not be omitted from multi-line child statement -->
|
||||
<Rule Id="SA1520" Action="None" /> <!-- Use braces consistently -->
|
||||
</Rules>
|
||||
|
||||
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers.DocumentationRules">
|
||||
<Rule Id="SA1600" Action="None" /> <!-- Elements should be documented -->
|
||||
<Rule Id="SA1601" Action="None" /> <!-- Partial elements should be documented -->
|
||||
<Rule Id="SA1602" Action="None" /> <!-- Enumeration items should be documented -->
|
||||
<Rule Id="SA1603" Action="None" /> <!-- Documentation should contain valid XML -->
|
||||
<Rule Id="SA1604" Action="None" /> <!-- Element documentation should have summary -->
|
||||
<Rule Id="SA1605" Action="None" /> <!-- Partial element documentation should have summary -->
|
||||
<Rule Id="SA1606" Action="None" /> <!-- Element documentation should have summary text -->
|
||||
<Rule Id="SA1607" Action="None" /> <!-- Partial element documentation should have summary text -->
|
||||
<Rule Id="SA1608" Action="None" /> <!-- Element documentation should not have default summary -->
|
||||
<Rule Id="SA1609" Action="None" /> <!-- Property documentation should have value -->
|
||||
<Rule Id="SA1610" Action="None" /> <!-- Property documentation should have value text -->
|
||||
<Rule Id="SA1611" Action="None" /> <!-- Element parameters should be documented -->
|
||||
<Rule Id="SA1612" Action="None" /> <!-- Element parameter documentation should match element parameters -->
|
||||
<Rule Id="SA1613" Action="None" /> <!-- Element parameter documentation should declare parameter name -->
|
||||
<Rule Id="SA1614" Action="None" /> <!-- Element parameter documentation should have text -->
|
||||
<Rule Id="SA1615" Action="None" /> <!-- Element return value should be documented -->
|
||||
<Rule Id="SA1616" Action="None" /> <!-- Element return value documentation should have text -->
|
||||
<Rule Id="SA1617" Action="None" /> <!-- Void return value should not be documented -->
|
||||
<Rule Id="SA1618" Action="None" /> <!-- Generic type parameters should be documented -->
|
||||
<Rule Id="SA1619" Action="None" /> <!-- Generic type parameters should be documented partial class -->
|
||||
<Rule Id="SA1620" Action="None" /> <!-- Generic type parameter documentation should match type parameters -->
|
||||
<Rule Id="SA1621" Action="None" /> <!-- Generic type parameter documentation should declare parameter name -->
|
||||
<Rule Id="SA1622" Action="None" /> <!-- Generic type parameter documentation should have text -->
|
||||
<Rule Id="SA1623" Action="None" /> <!-- Property summary documentation should match accessors -->
|
||||
<Rule Id="SA1624" Action="None" /> <!-- Property summary documentation should omit accessor with restricted access -->
|
||||
<Rule Id="SA1625" Action="None" /> <!-- Element documentation should not be copied and pasted -->
|
||||
<Rule Id="SA1626" Action="None" /> <!-- Single-line comments should not use documentation style slashes -->
|
||||
<Rule Id="SA1627" Action="None" /> <!-- Documentation text should not be empty -->
|
||||
<Rule Id="SA1628" Action="None" /> <!-- Documentation text should begin with a capital letter -->
|
||||
<Rule Id="SA1629" Action="Info" /> <!-- Documentation text should end with a period -->
|
||||
<Rule Id="SA1630" Action="None" /> <!-- Documentation text should contain whitespace -->
|
||||
<Rule Id="SA1631" Action="None" /> <!-- Documentation should meet character percentage -->
|
||||
<Rule Id="SA1632" Action="None" /> <!-- Documentation text should meet minimum character length -->
|
||||
<Rule Id="SA1633" Action="Warning" /> <!-- File should have header -->
|
||||
<Rule Id="SA1634" Action="Warning" /> <!-- File header should show copyright -->
|
||||
<Rule Id="SA1635" Action="Warning" /> <!-- File header should have copyright text -->
|
||||
<Rule Id="SA1636" Action="None" /> <!-- File header copyright text should match -->
|
||||
<Rule Id="SA1637" Action="None" /> <!-- File header should contain file name -->
|
||||
<Rule Id="SA1638" Action="None" /> <!-- File header file name documentation should match file name -->
|
||||
<Rule Id="SA1639" Action="None" /> <!-- File header should have summary -->
|
||||
<Rule Id="SA1640" Action="None" /> <!-- File header should have valid company text -->
|
||||
<Rule Id="SA1641" Action="None" /> <!-- File header company name text should match -->
|
||||
<Rule Id="SA1642" Action="None" /> <!-- Constructor summary documentation should begin with standard text -->
|
||||
<Rule Id="SA1643" Action="None" /> <!-- Destructor summary documentation should begin with standard text -->
|
||||
<Rule Id="SA1644" Action="None" /> <!-- Documentation headers should not contain blank lines -->
|
||||
<Rule Id="SA1645" Action="None" /> <!-- Included documentation file does not exist -->
|
||||
<Rule Id="SA1646" Action="None" /> <!-- Included documentation XPath does not exist -->
|
||||
<Rule Id="SA1647" Action="None" /> <!-- Include node does not contain valid file and path -->
|
||||
<Rule Id="SA1648" Action="None" /> <!-- Inheritdoc should be used with inheriting class -->
|
||||
<Rule Id="SA1649" Action="Warning" /> <!-- File name should match first type name -->
|
||||
<Rule Id="SA1650" Action="None" /> <!-- Element documentation should be spelled correctly -->
|
||||
<Rule Id="SA1651" Action="None" /> <!-- Do not use placeholder elements -->
|
||||
</Rules>
|
||||
</RuleSet>
|
|
@ -0,0 +1,25 @@
|
|||
$ErrorActionPreference = "Stop"
|
||||
|
||||
function Invoke-Block([scriptblock]$cmd) {
|
||||
$cmd | Out-String | Write-Verbose
|
||||
& $cmd
|
||||
|
||||
# Need to check both of these cases for errors as they represent different items
|
||||
# - $?: did the powershell script block throw an error
|
||||
# - $lastexitcode: did a windows command executed by the script block end in error
|
||||
if ((-not $?) -or ($lastexitcode -ne 0)) {
|
||||
if ($error -ne $null)
|
||||
{
|
||||
Write-Warning $error[0]
|
||||
}
|
||||
throw "Command failed to execute: $cmd"
|
||||
}
|
||||
}
|
||||
|
||||
$repoRoot = "$PSScriptRoot\..\"
|
||||
$paths = "$repoRoot\samples\Xkcd\readme.md", "$repoRoot\samples\Dns\readme.md"
|
||||
|
||||
foreach ($path in $paths)
|
||||
{
|
||||
Invoke-Block { npx autorest-beta --debug --verbose $path }
|
||||
}
|
Двоичный файл не отображается.
|
@ -23,8 +23,15 @@ jobs:
|
|||
npm install
|
||||
displayName: "Install packages"
|
||||
- script: |
|
||||
dotnet test AutoRest.CSharp.V3.sln -warnaserror
|
||||
dotnet build AutoRest.CSharp.V3.sln
|
||||
displayName: "Build"
|
||||
env:
|
||||
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
|
||||
DOTNET_CLI_TELEMETRY_OPTOUT: 1
|
||||
DOTNET_MULTILEVEL_LOOKUP: 0
|
||||
- script: |
|
||||
dotnet test AutoRest.CSharp.V3.sln
|
||||
displayName: "Test"
|
||||
env:
|
||||
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
|
||||
DOTNET_CLI_TELEMETRY_OPTOUT: 1
|
||||
|
@ -32,6 +39,5 @@ jobs:
|
|||
- script: |
|
||||
npm install -g @autorest/autorest
|
||||
displayName: "Install autorest-beta"
|
||||
- script: |
|
||||
autorest-beta --debug --verbose --use:$(Build.SourcesDirectory) --input-file:$(Build.SourcesDirectory)\samples\xkcd\xkcd.yaml
|
||||
displayName: "Run autorest on xkcd"
|
||||
- pwsh: eng\Generate.ps1
|
||||
displayName: "Run autorest"
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
|
||||
"settings": {
|
||||
"documentationRules": {
|
||||
"copyrightText": "Copyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the MIT License.",
|
||||
"companyName": "Microsoft Corporation",
|
||||
"xmlHeader": false
|
||||
}
|
||||
}
|
||||
}
|
|
@ -3,6 +3,12 @@
|
|||
"requires": true,
|
||||
"lockfileVersion": 1,
|
||||
"dependencies": {
|
||||
"@autorest/autorest": {
|
||||
"version": "3.0.6122",
|
||||
"resolved": "https://registry.npmjs.org/@autorest/autorest/-/autorest-3.0.6122.tgz",
|
||||
"integrity": "sha512-A7eapUdRG/HRDAV6rVFHD/CyK4sAshaQjaAJBZJk9jBFxjUGSPMk1PjCFpP50pvZs5iL/EktBW1/ncFaw4SiTA==",
|
||||
"dev": true
|
||||
},
|
||||
"@autorest/test-server": {
|
||||
"version": "3.0.26",
|
||||
"resolved": "https://registry.npmjs.org/@autorest/test-server/-/test-server-3.0.26.tgz",
|
||||
|
|
|
@ -4,10 +4,11 @@
|
|||
"name": "@autorest/csharp-v3",
|
||||
"description": "See readme.md for instructions",
|
||||
"scripts": {
|
||||
"start": "dotnet ./bin/AutoRest.CSharp.V3.dll --server",
|
||||
"debug": "dotnet ./bin/AutoRest.CSharp.V3.dll --server --launch-debugger"
|
||||
"start": "dotnet ./artifacts/bin/AutoRest.CSharp.V3/Debug/netcoreapp3.0/AutoRest.CSharp.V3.dll --server",
|
||||
"debug": "dotnet ./artifacts/bin/AutoRest.CSharp.V3/Debug/netcoreapp3.0/AutoRest.CSharp.V3.dll --server --launch-debugger"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@autorest/test-server": "^3.0.26"
|
||||
"@autorest/autorest": "^3.0.6122",
|
||||
"@autorest/test-server": "3.0.26"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
```yaml
|
||||
use-extension:
|
||||
"@autorest/modelerfour": "4.1.58"
|
||||
include-csproj: true
|
||||
|
||||
pipeline:
|
||||
# serialize-tester:
|
||||
|
|
|
@ -3,32 +3,11 @@
|
|||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<AssemblyName>AutoRest.CSharp.V3</AssemblyName>
|
||||
<RootNamespace>AutoRest.CSharp.V3</RootNamespace>
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
<OutputPath>../../bin</OutputPath>
|
||||
<PublishDir>$(OutputPath)</PublishDir>
|
||||
<!-- Some methods are marked async and don't have an await in them -->
|
||||
<NoWarn>1998</NoWarn>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
<WarningsAsErrors />
|
||||
<Nullable>enable</Nullable>
|
||||
<RunAnalyzersDuringBuild>true</RunAnalyzersDuringBuild>
|
||||
<RunAnalyzersDuringLiveAnalysis>false</RunAnalyzersDuringLiveAnalysis>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<DelaySign>false</DelaySign>
|
||||
<DefineConstants>TRACE;DEBUG;NETSTANDARD</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<DelaySign>true</DelaySign>
|
||||
<AssemblyOriginatorKeyFile>MSSharedLibKey.snk</AssemblyOriginatorKeyFile>
|
||||
<DefineConstants>TRACE;RELEASE;NETSTANDARD;SIGN</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Azure.Core" Version="1.0.0" />
|
||||
<PackageReference Include="Azure.Identity" Version="1.0.0" />
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
namespace AutoRest.CSharp.V3.CodeGen
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
namespace AutoRest.CSharp.V3.CodeGen
|
||||
{
|
||||
internal class CsProjWriter : StringWriter
|
||||
{
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using AutoRest.CSharp.V3.Utilities;
|
||||
|
||||
namespace AutoRest.CSharp.V3.CodeGen
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text.Json;
|
||||
|
@ -245,7 +248,7 @@ namespace AutoRest.CSharp.V3.CodeGen
|
|||
}
|
||||
}
|
||||
|
||||
if(includeBlankLine) Line();
|
||||
if (includeBlankLine) Line();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using AutoRest.CSharp.V3.Pipeline;
|
||||
|
@ -132,12 +135,12 @@ namespace AutoRest.CSharp.V3.CodeGen
|
|||
var leftRightParams = new[] {Pair(csTypeText, "left"), Pair(csTypeText, "right")};
|
||||
MethodExpression("public static", boolText, "operator ==", leftRightParams, "left.Equals(right)");
|
||||
MethodExpression("public static", boolText, "operator !=", leftRightParams, "!left.Equals(right)");
|
||||
MethodExpression("public static implicit", null, $"operator {csTypeText}", new []{Pair(stringText, "value")}, $"new {csTypeText}(value)");
|
||||
MethodExpression("public static implicit", null, $"operator {csTypeText}", new[]{Pair(stringText, "value")}, $"new {csTypeText}(value)");
|
||||
Line();
|
||||
|
||||
var editorBrowsableNever = $"[{AttributeType(typeof(EditorBrowsableAttribute))}({Type(typeof(EditorBrowsableState))}.Never)]";
|
||||
Line(editorBrowsableNever);
|
||||
MethodExpression("public override", boolText, "Equals", new []{Pair(typeof(object), "obj", true)}, $"obj is {csTypeText} other && Equals(other)");
|
||||
MethodExpression("public override", boolText, "Equals", new[]{Pair(typeof(object), "obj", true)}, $"obj is {csTypeText} other && Equals(other)");
|
||||
MethodExpression("public", boolText, "Equals", new[] { Pair(csTypeText, "other") }, $"{stringText}.Equals(_value, other._value, {Type(typeof(StringComparison))}.Ordinal)");
|
||||
Line();
|
||||
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using AutoRest.CSharp.V3.Pipeline.Generated;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using AutoRest.CSharp.V3.Pipeline.Generated;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Text.Json;
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using System.Text;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System.Text;
|
||||
using Microsoft.CodeAnalysis;
|
||||
using Microsoft.CodeAnalysis.CSharp;
|
||||
using Microsoft.CodeAnalysis.Formatting;
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
using AutoRest.CSharp.V3.JsonRpc;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using AutoRest.CSharp.V3.JsonRpc;
|
||||
using AutoRest.CSharp.V3.JsonRpc.MessageModels;
|
||||
|
||||
namespace AutoRest.CSharp.V3
|
||||
{
|
||||
|
|
|
@ -1,131 +0,0 @@
|
|||
using AutoRest.CSharp.V3.Utilities;
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc
|
||||
{
|
||||
internal interface IMessage { }
|
||||
internal class Message : IMessage
|
||||
{
|
||||
public Channel Channel { get; set; }
|
||||
public string[]? Key { get; set; } = null;
|
||||
public object? Details { get; set; } = null;
|
||||
public string? Text { get; set; }
|
||||
public SourceLocation[]? Source { get; set; } = null;
|
||||
|
||||
public override string ToString() =>
|
||||
$@"{{""Channel"":""{Channel.ToString().ToLowerInvariant()}""{Key.TextOrEmpty($@",""Key"":{Key.ToJsonArray()}")}{Details.TextOrEmpty($@",""Details"":{Details}")},""Text"":""{Text.ToStringLiteral()}""{Source.TextOrEmpty($@",""Source"":{Source.ToJsonArray()}")}}}";
|
||||
}
|
||||
|
||||
internal class ArtifactMessage : IMessage
|
||||
{
|
||||
public Channel Channel { get; set; }
|
||||
public string[]? Key { get; set; } = null;
|
||||
public IArtifact? Details { get; set; }
|
||||
public string? Text { get; set; }
|
||||
public SourceLocation[]? Source { get; set; } = null;
|
||||
|
||||
public override string ToString() =>
|
||||
$@"{{""Channel"":""{Channel.ToString().ToLowerInvariant()}""{Key.TextOrEmpty($@",""Key"":{Key.ToJsonArray()}")},""Details"":{Details},""Text"":""{Text.ToStringLiteral()}""{Source.TextOrEmpty($@",""Source"":{Source.ToJsonArray()}")}}}";
|
||||
}
|
||||
|
||||
internal interface IPosition { }
|
||||
internal class Position : IPosition
|
||||
{
|
||||
// 1-based
|
||||
public int Line { get; set; }
|
||||
// 0-based
|
||||
public int Column { get; set; }
|
||||
|
||||
public override string ToString() => $@"{{""line"":{Line},""column"":{Column}}}";
|
||||
}
|
||||
|
||||
internal class PositionStringPath : IPosition
|
||||
{
|
||||
public string[]? Path { get; set; } = null;
|
||||
|
||||
public override string ToString() => $@"{{{Path.TextOrEmpty($@"""path"":{Path.ToJsonArray()}")}}}";
|
||||
}
|
||||
|
||||
internal class PositionIntPath : IPosition
|
||||
{
|
||||
public int[]? Path { get; set; } = null;
|
||||
|
||||
public override string ToString() => $@"{{{Path.TextOrEmpty($@"""path"":{Path.ToJsonArray()}")}}}";
|
||||
}
|
||||
|
||||
internal class SourceLocation
|
||||
{
|
||||
public string? Document { get; set; }
|
||||
public IPosition? Position { get; set; }
|
||||
|
||||
public override string ToString() => $@"{{""document"":""{Document}"",""Position"":{Position}}}";
|
||||
}
|
||||
|
||||
internal interface IArtifact { }
|
||||
internal class ArtifactRaw : IArtifact
|
||||
{
|
||||
public string? Uri { get; set; }
|
||||
public string? Type { get; set; }
|
||||
public string? Content { get; set; }
|
||||
public RawSourceMap? SourceMap { get; set; } = null;
|
||||
|
||||
public override string ToString() => $@"{{""uri"":""{Uri}"",""type"":""{Type}"",""content"":""{Content.ToStringLiteral()}""{SourceMap.TextOrEmpty($@",""sourceMap"":{SourceMap}")}}}";
|
||||
}
|
||||
|
||||
internal class ArtifactMapping : IArtifact
|
||||
{
|
||||
public string? Uri { get; set; }
|
||||
public string? Type { get; set; }
|
||||
public string? Content { get; set; }
|
||||
public Mapping[]? SourceMap { get; set; } = null;
|
||||
|
||||
public override string ToString() => $@"{{""uri"":""{Uri}"",""type"":""{Type}"",""content"":""{Content.ToStringLiteral()}""{SourceMap.TextOrEmpty($@",""sourceMap"":{SourceMap.ToJsonArray()}")}}}";
|
||||
}
|
||||
|
||||
internal class RawSourceMap
|
||||
{
|
||||
public string? File { get; set; } = null;
|
||||
public string? SourceRoot { get; set; } = null;
|
||||
public string? Version { get; set; }
|
||||
public string[]? Sources { get; set; }
|
||||
public string[]? Names { get; set; }
|
||||
public string[]? SourcesContent { get; set; } = null;
|
||||
public string? Mappings { get; set; }
|
||||
|
||||
public override string ToString() => $@"{{""version"":""{Version}"",""sources"":{Sources.ToJsonArray()},""names"":{Names.ToJsonArray()},""mappings"":""{Mappings}""{File.TextOrEmpty($@",""file"":""{File}""")}{SourceRoot.TextOrEmpty($@",""sourceRoot"":""{SourceRoot}""")}{SourcesContent.TextOrEmpty($@",""sourcesContent"":{SourcesContent.ToJsonArray()}")}}}";
|
||||
}
|
||||
|
||||
internal class Mapping
|
||||
{
|
||||
public Position? Generated { get; set; }
|
||||
public Position? Original { get; set; }
|
||||
public string? Source { get; set; }
|
||||
public string? Name { get; set; } = null;
|
||||
|
||||
public override string ToString() => $@"{{""generated"":{Generated},""original"":{Original},""source"":""{Source}""{Name.TextOrEmpty($@",""name"":""{Name}""")}}}";
|
||||
}
|
||||
|
||||
// The Channel that a message is registered with.
|
||||
internal enum Channel
|
||||
{
|
||||
// Information is considered the mildest of responses; not necessarily actionable.
|
||||
Information,
|
||||
// Warnings are considered important for best practices, but not catastrophic in nature.
|
||||
Warning,
|
||||
// Errors are considered blocking issues that block a successful operation.
|
||||
Error,
|
||||
// Debug messages are designed for the developer to communicate internal AutoRest implementation details.
|
||||
Debug,
|
||||
// Verbose messages give the user additional clarity on the process.
|
||||
Verbose,
|
||||
// Catastrophic failure, likely aborting the process.
|
||||
Fatal,
|
||||
// Hint messages offer guidance or support without forcing action.
|
||||
Hint,
|
||||
// File represents a file output from an extension. Details are a Artifact and are required.
|
||||
File,
|
||||
// Content represents an update/creation of a configuration file. The final URI will be in the same folder as the primary config file.
|
||||
Configuration,
|
||||
// Protect is a path to not remove during a clear-output-folder.
|
||||
Protect
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using AutoRest.CSharp.V3.Utilities;
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.MessageModels
|
||||
{
|
||||
internal class ArtifactMapping : IArtifact
|
||||
{
|
||||
public string? Uri { get; set; }
|
||||
public string? Type { get; set; }
|
||||
public string? Content { get; set; }
|
||||
public Mapping[]? SourceMap { get; set; } = null;
|
||||
|
||||
public override string ToString() => $@"{{""uri"":""{Uri}"",""type"":""{Type}"",""content"":""{Content.ToStringLiteral()}""{SourceMap.TextOrEmpty($@",""sourceMap"":{SourceMap.ToJsonArray()}")}}}";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using AutoRest.CSharp.V3.Utilities;
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.MessageModels
|
||||
{
|
||||
internal class ArtifactMessage : IMessage
|
||||
{
|
||||
public Channel Channel { get; set; }
|
||||
public string[]? Key { get; set; } = null;
|
||||
public IArtifact? Details { get; set; }
|
||||
public string? Text { get; set; }
|
||||
public SourceLocation[]? Source { get; set; } = null;
|
||||
|
||||
public override string ToString() =>
|
||||
$@"{{""Channel"":""{Channel.ToString().ToLowerInvariant()}""{Key.TextOrEmpty($@",""Key"":{Key.ToJsonArray()}")},""Details"":{Details},""Text"":""{Text.ToStringLiteral()}""{Source.TextOrEmpty($@",""Source"":{Source.ToJsonArray()}")}}}";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using AutoRest.CSharp.V3.Utilities;
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.MessageModels
|
||||
{
|
||||
internal class ArtifactRaw : IArtifact
|
||||
{
|
||||
public string? Uri { get; set; }
|
||||
public string? Type { get; set; }
|
||||
public string? Content { get; set; }
|
||||
public RawSourceMap? SourceMap { get; set; } = null;
|
||||
|
||||
public override string ToString() => $@"{{""uri"":""{Uri}"",""type"":""{Type}"",""content"":""{Content.ToStringLiteral()}""{SourceMap.TextOrEmpty($@",""sourceMap"":{SourceMap}")}}}";
|
||||
}
|
||||
}
|
|
@ -1,8 +1,11 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using AutoRest.CSharp.V3.JsonRpc.Messaging;
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.MessageModels
|
||||
{
|
||||
internal class AutoRestInterface
|
||||
{
|
|
@ -0,0 +1,30 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.MessageModels
|
||||
{
|
||||
// The Channel that a message is registered with.
|
||||
internal enum Channel
|
||||
{
|
||||
// Information is considered the mildest of responses; not necessarily actionable.
|
||||
Information,
|
||||
// Warnings are considered important for best practices, but not catastrophic in nature.
|
||||
Warning,
|
||||
// Errors are considered blocking issues that block a successful operation.
|
||||
Error,
|
||||
// Debug messages are designed for the developer to communicate internal AutoRest implementation details.
|
||||
Debug,
|
||||
// Verbose messages give the user additional clarity on the process.
|
||||
Verbose,
|
||||
// Catastrophic failure, likely aborting the process.
|
||||
Fatal,
|
||||
// Hint messages offer guidance or support without forcing action.
|
||||
Hint,
|
||||
// File represents a file output from an extension. Details are a Artifact and are required.
|
||||
File,
|
||||
// Content represents an update/creation of a configuration file. The final URI will be in the same folder as the primary config file.
|
||||
Configuration,
|
||||
// Protect is a path to not remove during a clear-output-folder.
|
||||
Protect
|
||||
}
|
||||
}
|
|
@ -1,3 +1,6 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
|
@ -7,7 +10,7 @@ using System.Threading.Tasks;
|
|||
using AutoRest.CSharp.V3.JsonRpc.Messaging;
|
||||
using AutoRest.CSharp.V3.Utilities;
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.MessageModels
|
||||
{
|
||||
internal delegate string IncomingRequestAction(Connection connection, IncomingRequest request);
|
||||
|
||||
|
@ -41,11 +44,11 @@ namespace AutoRest.CSharp.V3.JsonRpc
|
|||
|
||||
public void Start() => _listener.GetAwaiter().GetResult();
|
||||
|
||||
private async Task<bool> Listen()
|
||||
private Task<bool> Listen()
|
||||
{
|
||||
bool IsAlive() => !_cancellationToken.IsCancellationRequested;
|
||||
while (IsAlive() && _incomingMessageProcessor.ProcessStream()) { }
|
||||
return false;
|
||||
return Task.FromResult(false);
|
||||
}
|
||||
|
||||
private void HandleIncomingRequest(IncomingRequest request)
|
||||
|
@ -97,4 +100,4 @@ namespace AutoRest.CSharp.V3.JsonRpc
|
|||
}
|
||||
}
|
||||
#pragma warning restore IDE0069 // Disposable fields should be disposed
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.MessageModels
|
||||
{
|
||||
internal interface IArtifact { }
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.MessageModels
|
||||
{
|
||||
internal interface IMessage { }
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.MessageModels
|
||||
{
|
||||
internal interface IPosition { }
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using AutoRest.CSharp.V3.Utilities;
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.MessageModels
|
||||
{
|
||||
internal class Mapping
|
||||
{
|
||||
public Position? Generated { get; set; }
|
||||
public Position? Original { get; set; }
|
||||
public string? Source { get; set; }
|
||||
public string? Name { get; set; } = null;
|
||||
|
||||
public override string ToString() => $@"{{""generated"":{Generated},""original"":{Original},""source"":""{Source}""{Name.TextOrEmpty($@",""name"":""{Name}""")}}}";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using AutoRest.CSharp.V3.Utilities;
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.MessageModels
|
||||
{
|
||||
internal class Message : IMessage
|
||||
{
|
||||
public Channel Channel { get; set; }
|
||||
public string[]? Key { get; set; } = null;
|
||||
public object? Details { get; set; } = null;
|
||||
public string? Text { get; set; }
|
||||
public SourceLocation[]? Source { get; set; } = null;
|
||||
|
||||
public override string ToString() =>
|
||||
$@"{{""Channel"":""{Channel.ToString().ToLowerInvariant()}""{Key.TextOrEmpty($@",""Key"":{Key.ToJsonArray()}")}{Details.TextOrEmpty($@",""Details"":{Details}")},""Text"":""{Text.ToStringLiteral()}""{Source.TextOrEmpty($@",""Source"":{Source.ToJsonArray()}")}}}";
|
||||
}
|
||||
}
|
|
@ -1,11 +1,14 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using AutoRest.CSharp.V3.Utilities;
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.MessageModels
|
||||
{
|
||||
[SuppressMessage("ReSharper", "IdentifierTypo")]
|
||||
internal class PeekableBinaryStream : IDisposable
|
|
@ -0,0 +1,15 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.MessageModels
|
||||
{
|
||||
internal class Position : IPosition
|
||||
{
|
||||
// 1-based
|
||||
public int Line { get; set; }
|
||||
// 0-based
|
||||
public int Column { get; set; }
|
||||
|
||||
public override string ToString() => $@"{{""line"":{Line},""column"":{Column}}}";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using AutoRest.CSharp.V3.Utilities;
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.MessageModels
|
||||
{
|
||||
internal class PositionIntPath : IPosition
|
||||
{
|
||||
public int[]? Path { get; set; } = null;
|
||||
|
||||
public override string ToString() => $@"{{{Path.TextOrEmpty($@"""path"":{Path.ToJsonArray()}")}}}";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using AutoRest.CSharp.V3.Utilities;
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.MessageModels
|
||||
{
|
||||
internal class PositionStringPath : IPosition
|
||||
{
|
||||
public string[]? Path { get; set; } = null;
|
||||
|
||||
public override string ToString() => $@"{{{Path.TextOrEmpty($@"""path"":{Path.ToJsonArray()}")}}}";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using AutoRest.CSharp.V3.Utilities;
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.MessageModels
|
||||
{
|
||||
internal class RawSourceMap
|
||||
{
|
||||
public string? File { get; set; } = null;
|
||||
public string? SourceRoot { get; set; } = null;
|
||||
public string? Version { get; set; }
|
||||
public string[]? Sources { get; set; }
|
||||
public string[]? Names { get; set; }
|
||||
public string[]? SourcesContent { get; set; } = null;
|
||||
public string? Mappings { get; set; }
|
||||
|
||||
public override string ToString() => $@"{{""version"":""{Version}"",""sources"":{Sources.ToJsonArray()},""names"":{Names.ToJsonArray()},""mappings"":""{Mappings}""{File.TextOrEmpty($@",""file"":""{File}""")}{SourceRoot.TextOrEmpty($@",""sourceRoot"":""{SourceRoot}""")}{SourcesContent.TextOrEmpty($@",""sourcesContent"":{SourcesContent.ToJsonArray()}")}}}";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.MessageModels
|
||||
{
|
||||
internal class SourceLocation
|
||||
{
|
||||
public string? Document { get; set; }
|
||||
public IPosition? Position { get; set; }
|
||||
|
||||
public override string ToString() => $@"{{""document"":""{Document}"",""Position"":{Position}}}";
|
||||
}
|
||||
}
|
|
@ -1,7 +1,10 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
using AutoRest.CSharp.V3.JsonRpc.MessageModels;
|
||||
using AutoRest.CSharp.V3.Utilities;
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.Messaging
|
||||
|
@ -77,18 +80,4 @@ namespace AutoRest.CSharp.V3.JsonRpc.Messaging
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal static class PeekingBinaryReaderExtensions
|
||||
{
|
||||
public static bool IsJsonBlock(this byte? value) => '{' == value || '[' == value;
|
||||
|
||||
public static JsonElement? ReadJson(this PeekableBinaryStream stream, int contentLength) => Encoding.UTF8.GetString(stream.ReadBytes(contentLength)).Parse();
|
||||
public static JsonElement? ReadJson(this PeekableBinaryStream stream)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
// ReSharper disable once IteratorMethodResultIsIgnored
|
||||
stream.ReadAllAsciiLines(l => sb.Append(l).ToString().Parse() != null);
|
||||
return sb.ToString().Parse();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
using System;
|
||||
using System.Text.Json;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using AutoRest.CSharp.V3.JsonRpc.MessageModels;
|
||||
using AutoRest.CSharp.V3.Utilities;
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.Messaging
|
||||
|
@ -24,19 +27,4 @@ namespace AutoRest.CSharp.V3.JsonRpc.Messaging
|
|||
return String.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
internal class IncomingRequest
|
||||
{
|
||||
public string JsonRpc { get; } = "2.0";
|
||||
public string? Method { get; set; }
|
||||
public JsonElement? Params { get; set; }
|
||||
public string? Id { get; set; }
|
||||
}
|
||||
|
||||
internal class IncomingResponse
|
||||
{
|
||||
public string JsonRpc { get; } = "2.0";
|
||||
public string? Result { get; set; }
|
||||
public string? Id { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System.Text.Json;
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.Messaging
|
||||
{
|
||||
internal class IncomingRequest
|
||||
{
|
||||
public string JsonRpc { get; } = "2.0";
|
||||
public string? Method { get; set; }
|
||||
public JsonElement? Params { get; set; }
|
||||
public string? Id { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.Messaging
|
||||
{
|
||||
internal class IncomingResponse
|
||||
{
|
||||
public string JsonRpc { get; } = "2.0";
|
||||
public string? Result { get; set; }
|
||||
public string? Id { get; set; }
|
||||
}
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using AutoRest.CSharp.V3.JsonRpc.MessageModels;
|
||||
using AutoRest.CSharp.V3.Utilities;
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.Messaging
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
using AutoRest.CSharp.V3.JsonRpc.MessageModels;
|
||||
using AutoRest.CSharp.V3.Utilities;
|
||||
|
||||
namespace AutoRest.CSharp.V3.JsonRpc.Messaging
|
||||
{
|
||||
internal static class PeekingBinaryReaderExtensions
|
||||
{
|
||||
public static bool IsJsonBlock(this byte? value) => '{' == value || '[' == value;
|
||||
|
||||
public static JsonElement? ReadJson(this PeekableBinaryStream stream, int contentLength) => Encoding.UTF8.GetString(stream.ReadBytes(contentLength)).Parse();
|
||||
public static JsonElement? ReadJson(this PeekableBinaryStream stream)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
// ReSharper disable once IteratorMethodResultIsIgnored
|
||||
stream.ReadAllAsciiLines(l => sb.Append(l).ToString().Parse() != null);
|
||||
return sb.ToString().Parse();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
|
@ -6,6 +9,7 @@ using AutoRest.CSharp.V3.Utilities;
|
|||
using YamlDotNet.Core;
|
||||
using YamlDotNet.Serialization;
|
||||
|
||||
#pragma warning disable SA1402
|
||||
#pragma warning disable CS8618 // Non-nullable field is uninitialized. Consider declaring as nullable.
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace AutoRest.CSharp.V3.Pipeline.Generated
|
||||
|
@ -56,7 +60,7 @@ namespace AutoRest.CSharp.V3.Pipeline.Generated
|
|||
public string? ApiVersion { get; set; }
|
||||
|
||||
[YamlIgnore]
|
||||
public string FullName => new [] { Base, Category, ApiVersion }.JoinIgnoreEmpty(".");
|
||||
public string FullName => new[]{ Base, Category, ApiVersion }.JoinIgnoreEmpty(".");
|
||||
}
|
||||
|
||||
internal class CSharpType
|
||||
|
@ -140,7 +144,7 @@ namespace AutoRest.CSharp.V3.Pipeline.Generated
|
|||
var keyword = GetKeywordMapping(frameworkType);
|
||||
return keyword != null ? $"{keyword}{squareBrackets}" : null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/built-in-types-table
|
||||
private static string? GetKeywordMapping(Type? type) =>
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
using AutoRest.CSharp.V3.JsonRpc;
|
||||
using AutoRest.CSharp.V3.JsonRpc.MessageModels;
|
||||
using AutoRest.CSharp.V3.Pipeline;
|
||||
using AutoRest.CSharp.V3.Pipeline.Generated;
|
||||
using AutoRest.CSharp.V3.Plugins;
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using AutoRest.CSharp.V3.CodeGen;
|
||||
using AutoRest.CSharp.V3.JsonRpc;
|
||||
using AutoRest.CSharp.V3.JsonRpc.MessageModels;
|
||||
using AutoRest.CSharp.V3.Pipeline.Generated;
|
||||
|
||||
namespace AutoRest.CSharp.V3.Plugins
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using AutoRest.CSharp.V3.JsonRpc;
|
||||
using AutoRest.CSharp.V3.JsonRpc.MessageModels;
|
||||
using AutoRest.CSharp.V3.Pipeline.Generated;
|
||||
|
||||
namespace AutoRest.CSharp.V3.Plugins
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
using System.Linq;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using AutoRest.CSharp.V3.CodeGen;
|
||||
using AutoRest.CSharp.V3.JsonRpc;
|
||||
using AutoRest.CSharp.V3.JsonRpc.MessageModels;
|
||||
using AutoRest.CSharp.V3.Pipeline;
|
||||
using AutoRest.CSharp.V3.Pipeline.Generated;
|
||||
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
using System.Linq;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using AutoRest.CSharp.V3.JsonRpc;
|
||||
using AutoRest.CSharp.V3.JsonRpc.MessageModels;
|
||||
using AutoRest.CSharp.V3.Pipeline;
|
||||
using AutoRest.CSharp.V3.Pipeline.Generated;
|
||||
using AutoRest.CSharp.V3.Utilities;
|
||||
|
@ -12,7 +16,7 @@ namespace AutoRest.CSharp.V3.Plugins
|
|||
// ReSharper disable once IdentifierTypo
|
||||
internal class Namer : IPlugin
|
||||
{
|
||||
public async Task<bool> Execute(AutoRestInterface autoRest, CodeModel codeModel, Configuration configuration)
|
||||
public Task<bool> Execute(AutoRestInterface autoRest, CodeModel codeModel, Configuration configuration)
|
||||
{
|
||||
var schemaNodes = codeModel.Schemas.GetAllSchemaNodes();
|
||||
foreach (var schema in schemaNodes)
|
||||
|
@ -31,7 +35,7 @@ namespace AutoRest.CSharp.V3.Plugins
|
|||
cs.Name = property.Language.Default.Name == "null" ? "NullProperty" : property.Language.Default.Name.ToCleanName();
|
||||
cs.Description = property.Language.Default.Description;
|
||||
cs.IsNullable = !(property.Required ?? false);
|
||||
if(property.Required ?? false)
|
||||
if (property.Required ?? false)
|
||||
{
|
||||
var objectCs = objectSchema.Language.CSharp ??= new CSharpLanguage();
|
||||
objectCs.HasRequired = true;
|
||||
|
@ -71,7 +75,7 @@ namespace AutoRest.CSharp.V3.Plugins
|
|||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
return Task.FromResult(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
using System.Threading.Tasks;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System.Threading.Tasks;
|
||||
using AutoRest.CSharp.V3.CodeGen;
|
||||
using AutoRest.CSharp.V3.JsonRpc;
|
||||
using AutoRest.CSharp.V3.JsonRpc.MessageModels;
|
||||
using AutoRest.CSharp.V3.Pipeline.Generated;
|
||||
|
||||
namespace AutoRest.CSharp.V3.Plugins
|
||||
|
|
|
@ -29,4 +29,4 @@ namespace AutoRest.CSharp.V3.Plugins.PostGen
|
|||
return base.VisitQualifiedName(node);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using Microsoft.CodeAnalysis;
|
||||
using Microsoft.CodeAnalysis.Simplification;
|
||||
|
||||
namespace AutoRest.CSharp.V3.Plugins.PostGen
|
||||
{
|
||||
internal static class RoslynExtensions
|
||||
{
|
||||
public static T AddSimplifierAnnotation<T>(this T node) where T : SyntaxNode => node.WithAdditionalAnnotations(Simplifier.Annotation);
|
||||
}
|
||||
}
|
|
@ -4,7 +4,6 @@
|
|||
using Microsoft.CodeAnalysis;
|
||||
using Microsoft.CodeAnalysis.CSharp;
|
||||
using Microsoft.CodeAnalysis.CSharp.Syntax;
|
||||
using Microsoft.CodeAnalysis.Simplification;
|
||||
|
||||
namespace AutoRest.CSharp.V3.Plugins.PostGen
|
||||
{
|
||||
|
@ -24,9 +23,4 @@ namespace AutoRest.CSharp.V3.Plugins.PostGen
|
|||
public override SyntaxNode VisitIdentifierName(IdentifierNameSyntax node) => base.VisitIdentifierName(node.AddSimplifierAnnotation());
|
||||
public override SyntaxNode VisitGenericName(GenericNameSyntax node) => base.VisitGenericName(node.AddSimplifierAnnotation());
|
||||
}
|
||||
|
||||
internal static class RoslynExtensions
|
||||
{
|
||||
public static T AddSimplifierAnnotation<T>(this T node) where T : SyntaxNode => node.WithAdditionalAnnotations(Simplifier.Annotation);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ using System.Net;
|
|||
using AutoRest.CSharp.V3.JsonRpc;
|
||||
using AutoRest.CSharp.V3.Pipeline.Generated;
|
||||
using System.Net.Http;
|
||||
using AutoRest.CSharp.V3.JsonRpc.MessageModels;
|
||||
|
||||
namespace AutoRest.CSharp.V3.Plugins.PostGen
|
||||
{
|
||||
|
@ -49,7 +50,7 @@ namespace AutoRest.CSharp.V3.Plugins.PostGen
|
|||
// solution = solution.AddDocument(DocumentId.CreateNewId(projectId), file, SourceText.From(await files[file]));
|
||||
//}
|
||||
|
||||
// Simplify docs and add to
|
||||
// Simplify docs and add to
|
||||
foreach (var document in solution.Projects.SelectMany(p => p.Documents))
|
||||
{
|
||||
var newRoot = await document.GetSyntaxRootAsync();
|
||||
|
@ -64,11 +65,11 @@ namespace AutoRest.CSharp.V3.Plugins.PostGen
|
|||
newRoot = new SimplifyNamesRewriter().Visit(newRoot);
|
||||
var doc = document.WithSyntaxRoot(newRoot);
|
||||
|
||||
// reduce the code
|
||||
// reduce the code
|
||||
var text = Simplifier.ReduceAsync(doc)
|
||||
.Result.GetTextAsync()
|
||||
.Result.ToString()
|
||||
// get rid of any BOMs
|
||||
// get rid of any BOMs
|
||||
.Trim('\x00EF', '\x00BB', '\x00BF', '\uFEFF', '\u200B');
|
||||
|
||||
|
||||
|
@ -90,4 +91,4 @@ namespace AutoRest.CSharp.V3.Plugins.PostGen
|
|||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using AutoRest.CSharp.V3.JsonRpc;
|
||||
using AutoRest.CSharp.V3.JsonRpc.MessageModels;
|
||||
using AutoRest.CSharp.V3.Pipeline;
|
||||
using AutoRest.CSharp.V3.Pipeline.Generated;
|
||||
using AutoRest.CSharp.V3.Utilities;
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using AutoRest.CSharp.V3.JsonRpc;
|
||||
using AutoRest.CSharp.V3.JsonRpc.MessageModels;
|
||||
using AutoRest.CSharp.V3.Pipeline;
|
||||
using AutoRest.CSharp.V3.Pipeline.Generated;
|
||||
using AutoRest.CSharp.V3.Utilities;
|
||||
|
@ -15,7 +19,7 @@ namespace AutoRest.CSharp.V3.Plugins
|
|||
[PluginName("cs-typer")]
|
||||
internal class Typer : IPlugin
|
||||
{
|
||||
public async Task<bool> Execute(AutoRestInterface autoRest, CodeModel codeModel, Configuration configuration)
|
||||
public Task<bool> Execute(AutoRestInterface autoRest, CodeModel codeModel, Configuration configuration)
|
||||
{
|
||||
//TODO: Redo this entire processing logic. It is quite complex.
|
||||
var allSchemas = codeModel.Schemas.GetAllSchemaNodes();
|
||||
|
@ -60,7 +64,7 @@ namespace AutoRest.CSharp.V3.Plugins
|
|||
};
|
||||
}
|
||||
|
||||
return true;
|
||||
return Task.FromResult(true);
|
||||
}
|
||||
|
||||
// This unique identifier to objectively compare schemas for processing.
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using AutoRest.CSharp.V3.JsonRpc;
|
||||
using AutoRest.CSharp.V3.JsonRpc.MessageModels;
|
||||
using AutoRest.CSharp.V3.JsonRpc.Messaging;
|
||||
|
||||
namespace AutoRest.CSharp.V3
|
||||
|
|
|
@ -2,9 +2,8 @@
|
|||
"profiles": {
|
||||
"AutoRest.CSharp.V3": {
|
||||
"commandName": "Executable",
|
||||
"executablePath": "node",
|
||||
"commandLineArgs": "%appdata%/npm/node_modules/@autorest/autorest/entrypoints/app.js --debug --verbose --use:$(ProjectDir)../.. --required:$(ProjectDir)../../samples/Xkcd/readme.md --model-creator.debugger",
|
||||
"workingDirectory": "$(ProjectDir)../.."
|
||||
"executablePath": "$(APPDATA)\\npm\\npx.cmd",
|
||||
"commandLineArgs": "autorest-beta --cs-modeler.attach $(ProjectDir)../../samples/Xkcd/readme.md"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using Azure.Core;
|
||||
|
||||
namespace AutoRest.CSharp.V3.Utilities
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
|
||||
namespace AutoRest.CSharp.V3.Utilities
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Runtime.Serialization;
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace AutoRest.CSharp.V3.Utilities
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text.Json;
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.IO;
|
||||
|
|
|
@ -3,14 +3,6 @@
|
|||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<RootNamespace>AutoRest.CodeModel</RootNamespace>
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
<OutputPath>bin</OutputPath>
|
||||
<PublishDir>$(OutputPath)</PublishDir>
|
||||
<!-- Some methods are marked async and don't have an await in them -->
|
||||
<NoWarn>1998</NoWarn>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
<WarningsAsErrors />
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using System;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
||||
|
@ -13,7 +16,8 @@ namespace AutoRest.CodeModel
|
|||
string? line;
|
||||
while ((line = sr.ReadLine()) != null)
|
||||
{
|
||||
if (removeEmptyLines && String.IsNullOrWhiteSpace(line)) continue;
|
||||
if (removeEmptyLines && String.IsNullOrWhiteSpace(line))
|
||||
continue;
|
||||
yield return line;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
using System.IO;
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
|
||||
namespace AutoRest.CodeModel
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<IsPackable>false</IsPackable>
|
||||
<Nullable>annotations</Nullable>
|
||||
<NoWarn>SA1649;SA1633</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
|
@ -12,7 +15,7 @@ using NUnit.Framework;
|
|||
|
||||
namespace AutoRest.TestServer.Tests
|
||||
{
|
||||
public class TestServer: IDisposable
|
||||
public class TestServer : IDisposable
|
||||
{
|
||||
private Process _process;
|
||||
|
||||
|
@ -41,7 +44,7 @@ namespace AutoRest.TestServer.Tests
|
|||
if (s?.StartsWith(portPhrase) == true)
|
||||
{
|
||||
Client = new HttpClient()
|
||||
{
|
||||
{
|
||||
BaseAddress = new Uri($"http://localhost:{s.Substring(portPhrase.Length).Trim()}")
|
||||
};
|
||||
return;
|
||||
|
@ -59,7 +62,7 @@ namespace AutoRest.TestServer.Tests
|
|||
{
|
||||
var assemblyFile = new DirectoryInfo(typeof(TestServer).Assembly.Location);
|
||||
var directory = assemblyFile.Parent;
|
||||
|
||||
|
||||
do
|
||||
{
|
||||
var testServerDirectory = Path.Combine(directory.FullName, "node_modules");
|
||||
|
@ -174,14 +177,14 @@ namespace AutoRest.TestServer.Tests
|
|||
}
|
||||
|
||||
[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
|
||||
static extern IntPtr CreateJobObject(IntPtr lpJobAttributes, string name);
|
||||
private static extern IntPtr CreateJobObject(IntPtr lpJobAttributes, string name);
|
||||
|
||||
[DllImport("kernel32.dll")]
|
||||
static extern bool SetInformationJobObject(IntPtr job, JobObjectInfoType infoType,
|
||||
private static extern bool SetInformationJobObject(IntPtr job, JobObjectInfoType infoType,
|
||||
IntPtr lpJobObjectInfo, uint cbJobObjectInfoLength);
|
||||
|
||||
[DllImport("kernel32.dll", SetLastError = true)]
|
||||
static extern bool AssignProcessToJobObject(IntPtr job, IntPtr process);
|
||||
private static extern bool AssignProcessToJobObject(IntPtr job, IntPtr process);
|
||||
|
||||
private enum JobObjectInfoType
|
||||
{
|
||||
|
@ -237,4 +240,4 @@ namespace AutoRest.TestServer.Tests
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Net.Http;
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// Licensed under the MIT License.
|
||||
|
||||
using System;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
|
|
Загрузка…
Ссылка в новой задаче