From 0ca3e1742462900d63f75d478e68707bf9378fd5 Mon Sep 17 00:00:00 2001 From: Renato Golia Date: Wed, 23 Sep 2020 15:12:14 +0200 Subject: [PATCH 1/5] Added .editorconfig file --- .editorconfig | 203 +++++++++++++++++++++++++++++++++++++++++++ DotNetExtensions.sln | 15 ++-- 2 files changed, 213 insertions(+), 5 deletions(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..38a3f6c --- /dev/null +++ b/.editorconfig @@ -0,0 +1,203 @@ +root = true + +[*] +indent_style = space + +[*.{sln,csproj,config,xml,props}] +indent_size = 2 +indent_style = space + +[*.cs] +indent_size = 4 +insert_final_newline = true + +# New-line options: +csharp_new_line_before_open_brace = accessors, anonymous_methods, anonymous_types, control_blocks, events, indexers, lambdas, local_functions, methods, object_collection_array_initializers, properties, types +csharp_new_line_before_else = true +csharp_new_line_before_catch = true +csharp_new_line_before_finally = true +csharp_new_line_before_members_in_object_initializers = true +csharp_new_line_before_members_in_anonymous_types = true +csharp_new_line_between_query_expression_clauses = true + +# CSharp formatting settings: +csharp_indent_case_contents = true +csharp_indent_switch_labels = true +csharp_indent_labels = flush_left +csharp_indent_block_contents = true +csharp_indent_braces = false +csharp_indent_case_contents_when_block = false + +# CSharp formatting settings: +csharp_space_after_cast = true +csharp_space_after_keywords_in_control_flow_statements = true +csharp_space_before_colon_in_inheritance_clause = true +csharp_space_after_colon_in_inheritance_clause = true +csharp_space_around_binary_operators = before_and_after +csharp_space_between_method_declaration_parameter_list_parentheses = false +csharp_space_between_method_declaration_empty_parameter_list_parentheses = false +csharp_space_between_method_declaration_name_and_open_parenthesis = false +csharp_space_between_method_call_parameter_list_parentheses = false +csharp_space_between_method_call_empty_parameter_list_parentheses = false +csharp_space_between_method_call_name_and_opening_parenthesis = false +csharp_space_after_comma = true +csharp_space_before_comma = false +csharp_space_after_dot = false +csharp_space_before_dot = false +csharp_space_after_semicolon_in_for_statement = true +csharp_space_before_semicolon_in_for_statement = false +csharp_space_around_declaration_statements = do_not_ignore +csharp_space_before_open_square_brackets = false +csharp_space_between_empty_square_brackets = false +csharp_space_between_square_brackets = false + +# CSharp formatting settings: +csharp_preserve_single_line_statements = true +csharp_preserve_single_line_blocks = true + + +# CSharp and Visual Basic code style settings: +[*.cs] +dotnet_style_qualification_for_field = false:warning +dotnet_style_qualification_for_property = false:warning +dotnet_style_qualification_for_method = false:warning +dotnet_style_qualification_for_event = false:warning +dotnet_style_predefined_type_for_locals_parameters_members = true:warning +dotnet_style_predefined_type_for_member_access = false:warning +dotnet_style_require_accessibility_modifiers = always:warning +dotnet_style_readonly_field = true:warning +csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:warning +dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:warning +dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:warning +dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:warning + +dotnet_style_object_initializer = true:suggestion +dotnet_style_collection_initializer = true:suggestion +dotnet_style_explicit_tuple_names = 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:silent +dotnet_style_prefer_conditional_expression_over_assignment = false:suggestion +dotnet_style_prefer_conditional_expression_over_return = false:suggestion +dotnet_style_prefer_compound_assignment = true:suggestion + +dotnet_style_coalesce_expression = true:warning +dotnet_style_null_propagation = true:warning +dotnet_style_prefer_is_null_check_over_reference_equality_method = true:silent + +csharp_style_var_for_built_in_types = true:warning +csharp_style_var_when_type_is_apparent = true:warning +csharp_style_var_elsewhere = true:warning + +csharp_style_expression_bodied_methods = when_on_single_line:suggestion +csharp_style_expression_bodied_constructors = false:silent +csharp_style_expression_bodied_operators = when_on_single_line:suggestion +csharp_style_expression_bodied_properties = when_on_single_line:suggestion +csharp_style_expression_bodied_indexers = when_on_single_line:suggestion +csharp_style_expression_bodied_accessors = false:silent +csharp_style_expression_bodied_lambdas = when_on_single_line:suggestion +csharp_style_expression_bodied_local_functions = false:suggestion + +csharp_style_pattern_matching_over_is_with_cast_check = true:warning +csharp_style_pattern_matching_over_as_with_null_check = true:warning + +csharp_style_inlined_variable_declaration = true:warning + +csharp_prefer_simple_default_expression = true:suggestion + +csharp_style_throw_expression = true:warning +csharp_style_conditional_delegate_call = true:warning + +csharp_prefer_braces = true:warning +csharp_style_unused_value_expression_statement_preference = discard_variable:suggestion +csharp_style_unused_value_assignment_preference = discard_variable:suggestion + +csharp_style_deconstructed_variable_declaration = true:suggestion +csharp_style_pattern_local_over_anonymous_function = true:suggestion +csharp_using_directive_placement = outside_namespace:suggestion +csharp_prefer_static_local_function = true:suggestion +csharp_prefer_simple_using_statement = true:suggestion +csharp_style_prefer_switch_expression = true:suggestion + +dotnet_sort_system_directives_first = true:suggestion +dotnet_separate_import_directive_groups = false:suggestion + +# Non-private static fields are PascalCase +dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.symbols = non_private_static_fields +dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.style = non_private_static_field_style + +dotnet_naming_symbols.non_private_static_fields.applicable_kinds = field +dotnet_naming_symbols.non_private_static_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected +dotnet_naming_symbols.non_private_static_fields.required_modifiers = static + +dotnet_naming_style.non_private_static_field_style.capitalization = pascal_case + +# Non-private readonly fields are PascalCase +dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.symbols = non_private_readonly_fields +dotnet_naming_rule.non_private_readonly_fields_should_be_pascal_case.style = non_private_readonly_field_style + +dotnet_naming_symbols.non_private_readonly_fields.applicable_kinds = field +dotnet_naming_symbols.non_private_readonly_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected +dotnet_naming_symbols.non_private_readonly_fields.required_modifiers = readonly + +dotnet_naming_style.non_private_readonly_field_style.capitalization = pascal_case + +# Constants are PascalCase +dotnet_naming_rule.constants_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.constants_should_be_pascal_case.symbols = constants +dotnet_naming_rule.constants_should_be_pascal_case.style = constant_style + +dotnet_naming_symbols.constants.applicable_kinds = field, local +dotnet_naming_symbols.constants.required_modifiers = const + +dotnet_naming_style.constant_style.capitalization = pascal_case + +# Static fields are camelCase and start with _ +dotnet_naming_rule.static_fields_should_be_camel_case.severity = suggestion +dotnet_naming_rule.static_fields_should_be_camel_case.symbols = static_fields +dotnet_naming_rule.static_fields_should_be_camel_case.style = static_field_style + +dotnet_naming_symbols.static_fields.applicable_kinds = field +dotnet_naming_symbols.static_fields.required_modifiers = static + +dotnet_naming_style.static_field_style.capitalization = camel_case +dotnet_naming_style.static_field_style.required_prefix = _ + +# Instance fields are camelCase and start with _ +dotnet_naming_rule.instance_fields_should_be_camel_case.severity = suggestion +dotnet_naming_rule.instance_fields_should_be_camel_case.symbols = instance_fields +dotnet_naming_rule.instance_fields_should_be_camel_case.style = instance_field_style + +dotnet_naming_symbols.instance_fields.applicable_kinds = field + +dotnet_naming_style.instance_field_style.capitalization = camel_case +dotnet_naming_style.instance_field_style.required_prefix = _ + +# Locals and parameters are camelCase +dotnet_naming_rule.locals_should_be_camel_case.severity = suggestion +dotnet_naming_rule.locals_should_be_camel_case.symbols = locals_and_parameters +dotnet_naming_rule.locals_should_be_camel_case.style = camel_case_style + +dotnet_naming_symbols.locals_and_parameters.applicable_kinds = parameter, local + +dotnet_naming_style.camel_case_style.capitalization = camel_case + +# Local functions are camelCase +dotnet_naming_rule.local_functions_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.local_functions_should_be_pascal_case.symbols = local_functions +dotnet_naming_rule.local_functions_should_be_pascal_case.style = local_function_style + +dotnet_naming_symbols.local_functions.applicable_kinds = local_function + +dotnet_naming_style.local_function_style.capitalization = camel_case + +# By default, name items with PascalCase +dotnet_naming_rule.members_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.members_should_be_pascal_case.symbols = all_members +dotnet_naming_rule.members_should_be_pascal_case.style = pascal_case_style + +dotnet_naming_symbols.all_members.applicable_kinds = * + +dotnet_naming_style.pascal_case_style.capitalization = pascal_case \ No newline at end of file diff --git a/DotNetExtensions.sln b/DotNetExtensions.sln index 4ca16b3..caed64a 100644 --- a/DotNetExtensions.sln +++ b/DotNetExtensions.sln @@ -33,19 +33,24 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{4237 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DependencyInjection", "DependencyInjection", "{A5371690-4702-4E10-A3B4-9E5AC9095339}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiscoveryAdapter", "samples\DependencyInjection\DiscoveryAdapter\DiscoveryAdapter.csproj", "{9334A768-101E-4A53-B9FB-FD55AFE64508}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiscoveryAdapter", "samples\DependencyInjection\DiscoveryAdapter\DiscoveryAdapter.csproj", "{9334A768-101E-4A53-B9FB-FD55AFE64508}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Discovery", "samples\DependencyInjection\Discovery\Discovery.csproj", "{D67A04F8-AC8C-41AB-B02A-0BC975B3B24C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Discovery", "samples\DependencyInjection\Discovery\Discovery.csproj", "{D67A04F8-AC8C-41AB-B02A-0BC975B3B24C}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "helpers", "helpers", "{D16EC4AA-2F8D-411D-95BB-EA64F3202D86}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiscoverableService", "helpers\DiscoverableService\DiscoverableService.csproj", "{6177DC20-2AFB-4C12-876B-4D8116CCEBCE}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiscoverableService", "helpers\DiscoverableService\DiscoverableService.csproj", "{6177DC20-2AFB-4C12-876B-4D8116CCEBCE}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DependencyInjection", "DependencyInjection", "{AEAA04B5-1A1E-4E5D-9B85-AD8AC2B115A8}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests.ServiceModel.Discovery", "tests\DependencyInjection\Tests.ServiceModel.Discovery\Tests.ServiceModel.Discovery.csproj", "{0872058D-355C-49B7-BF07-0C17DE77FBAF}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tests.ServiceModel.Discovery", "tests\DependencyInjection\Tests.ServiceModel.Discovery\Tests.ServiceModel.Discovery.csproj", "{0872058D-355C-49B7-BF07-0C17DE77FBAF}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests.ServiceModel.DiscoveryAdapter", "tests\DependencyInjection\Tests.ServiceModel.DiscoveryAdapter\Tests.ServiceModel.DiscoveryAdapter.csproj", "{0C1CA3C5-668F-481C-BB56-04C1F8F185B5}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tests.ServiceModel.DiscoveryAdapter", "tests\DependencyInjection\Tests.ServiceModel.DiscoveryAdapter\Tests.ServiceModel.DiscoveryAdapter.csproj", "{0C1CA3C5-668F-481C-BB56-04C1F8F185B5}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{36FB83B2-0B1C-42FC-8C32-2ED5FD7A9229}" + ProjectSection(SolutionItems) = preProject + .editorconfig = .editorconfig + EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution From 9151be7178f072f235b33425bdce0584507c3cf2 Mon Sep 17 00:00:00 2001 From: Renato Golia Date: Wed, 23 Sep 2020 22:19:48 +0200 Subject: [PATCH 2/5] Added rulesets to be evaluated on Release --- CodeAnalysis.Empty.ruleset | 845 ++++++++++++++++++++++++++++++++++++ CodeAnalysis.Tests.ruleset | 609 ++++++++++++++++++++++++++ CodeAnalysis.ruleset | 45 ++ src/Directory.Build.props | 20 +- tests/Directory.Build.props | 17 + 5 files changed, 1535 insertions(+), 1 deletion(-) create mode 100644 CodeAnalysis.Empty.ruleset create mode 100644 CodeAnalysis.Tests.ruleset create mode 100644 CodeAnalysis.ruleset diff --git a/CodeAnalysis.Empty.ruleset b/CodeAnalysis.Empty.ruleset new file mode 100644 index 0000000..c9986a3 --- /dev/null +++ b/CodeAnalysis.Empty.ruleset @@ -0,0 +1,845 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CodeAnalysis.Tests.ruleset b/CodeAnalysis.Tests.ruleset new file mode 100644 index 0000000..50d8349 --- /dev/null +++ b/CodeAnalysis.Tests.ruleset @@ -0,0 +1,609 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CodeAnalysis.ruleset b/CodeAnalysis.ruleset new file mode 100644 index 0000000..86ffac6 --- /dev/null +++ b/CodeAnalysis.ruleset @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Directory.Build.props b/src/Directory.Build.props index e330425..3b508ec 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -1,6 +1,7 @@ EMG.Extensions + $(MSBuildThisFileDirectory)\..\CodeAnalysis.Empty.ruleset @@ -24,7 +25,24 @@ - + + + + + + + + + true + true + true + $(MSBuildThisFileDirectory)\..\CodeAnalysis.ruleset + + + + + + \ No newline at end of file diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props index 9afcddd..d01483a 100644 --- a/tests/Directory.Build.props +++ b/tests/Directory.Build.props @@ -1,6 +1,7 @@ Tests + $(MSBuildThisFileDirectory)\..\CodeAnalysis.Empty.ruleset @@ -11,4 +12,20 @@ + + + + + + + true + true + true + $(MSBuildThisFileDirectory)\CodeAnalysis.Tests.ruleset + + + + + + \ No newline at end of file From 267670026777c006dee2a53d359647e454893386 Mon Sep 17 00:00:00 2001 From: Renato Golia Date: Wed, 23 Sep 2020 23:02:43 +0200 Subject: [PATCH 3/5] Added Verify step - Projects now have a new configuration: Verify --- DotNetExtensions.sln | 69 +++++++++++++++++++++++++++++++++++ build.cake | 15 +++++++- samples/Directory.Build.props | 1 + src/Directory.Build.props | 3 +- tests/Directory.Build.props | 3 +- 5 files changed, 88 insertions(+), 3 deletions(-) diff --git a/DotNetExtensions.sln b/DotNetExtensions.sln index caed64a..220aba2 100644 --- a/DotNetExtensions.sln +++ b/DotNetExtensions.sln @@ -60,6 +60,9 @@ Global Release|Any CPU = Release|Any CPU Release|x64 = Release|x64 Release|x86 = Release|x86 + Verify|Any CPU = Verify|Any CPU + Verify|x64 = Verify|x64 + Verify|x86 = Verify|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {753B07D0-1FE6-4EB1-A73A-6F6532590184}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -74,6 +77,12 @@ Global {753B07D0-1FE6-4EB1-A73A-6F6532590184}.Release|x64.Build.0 = Release|Any CPU {753B07D0-1FE6-4EB1-A73A-6F6532590184}.Release|x86.ActiveCfg = Release|Any CPU {753B07D0-1FE6-4EB1-A73A-6F6532590184}.Release|x86.Build.0 = Release|Any CPU + {753B07D0-1FE6-4EB1-A73A-6F6532590184}.Verify|Any CPU.ActiveCfg = Verify|Any CPU + {753B07D0-1FE6-4EB1-A73A-6F6532590184}.Verify|Any CPU.Build.0 = Verify|Any CPU + {753B07D0-1FE6-4EB1-A73A-6F6532590184}.Verify|x64.ActiveCfg = Verify|Any CPU + {753B07D0-1FE6-4EB1-A73A-6F6532590184}.Verify|x64.Build.0 = Verify|Any CPU + {753B07D0-1FE6-4EB1-A73A-6F6532590184}.Verify|x86.ActiveCfg = Verify|Any CPU + {753B07D0-1FE6-4EB1-A73A-6F6532590184}.Verify|x86.Build.0 = Verify|Any CPU {06EF735D-1552-4352-A26D-97FE81BF2701}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {06EF735D-1552-4352-A26D-97FE81BF2701}.Debug|Any CPU.Build.0 = Debug|Any CPU {06EF735D-1552-4352-A26D-97FE81BF2701}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -86,6 +95,12 @@ Global {06EF735D-1552-4352-A26D-97FE81BF2701}.Release|x64.Build.0 = Release|Any CPU {06EF735D-1552-4352-A26D-97FE81BF2701}.Release|x86.ActiveCfg = Release|Any CPU {06EF735D-1552-4352-A26D-97FE81BF2701}.Release|x86.Build.0 = Release|Any CPU + {06EF735D-1552-4352-A26D-97FE81BF2701}.Verify|Any CPU.ActiveCfg = Verify|Any CPU + {06EF735D-1552-4352-A26D-97FE81BF2701}.Verify|Any CPU.Build.0 = Verify|Any CPU + {06EF735D-1552-4352-A26D-97FE81BF2701}.Verify|x64.ActiveCfg = Verify|Any CPU + {06EF735D-1552-4352-A26D-97FE81BF2701}.Verify|x64.Build.0 = Verify|Any CPU + {06EF735D-1552-4352-A26D-97FE81BF2701}.Verify|x86.ActiveCfg = Verify|Any CPU + {06EF735D-1552-4352-A26D-97FE81BF2701}.Verify|x86.Build.0 = Verify|Any CPU {D121278E-2DE1-4FFC-B000-17AA16779EA4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D121278E-2DE1-4FFC-B000-17AA16779EA4}.Debug|Any CPU.Build.0 = Debug|Any CPU {D121278E-2DE1-4FFC-B000-17AA16779EA4}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -98,6 +113,12 @@ Global {D121278E-2DE1-4FFC-B000-17AA16779EA4}.Release|x64.Build.0 = Release|Any CPU {D121278E-2DE1-4FFC-B000-17AA16779EA4}.Release|x86.ActiveCfg = Release|Any CPU {D121278E-2DE1-4FFC-B000-17AA16779EA4}.Release|x86.Build.0 = Release|Any CPU + {D121278E-2DE1-4FFC-B000-17AA16779EA4}.Verify|Any CPU.ActiveCfg = Verify|Any CPU + {D121278E-2DE1-4FFC-B000-17AA16779EA4}.Verify|Any CPU.Build.0 = Verify|Any CPU + {D121278E-2DE1-4FFC-B000-17AA16779EA4}.Verify|x64.ActiveCfg = Verify|Any CPU + {D121278E-2DE1-4FFC-B000-17AA16779EA4}.Verify|x64.Build.0 = Verify|Any CPU + {D121278E-2DE1-4FFC-B000-17AA16779EA4}.Verify|x86.ActiveCfg = Verify|Any CPU + {D121278E-2DE1-4FFC-B000-17AA16779EA4}.Verify|x86.Build.0 = Verify|Any CPU {36D530B2-EE1C-4FE3-8F86-E370CA6C3E05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {36D530B2-EE1C-4FE3-8F86-E370CA6C3E05}.Debug|Any CPU.Build.0 = Debug|Any CPU {36D530B2-EE1C-4FE3-8F86-E370CA6C3E05}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -110,6 +131,12 @@ Global {36D530B2-EE1C-4FE3-8F86-E370CA6C3E05}.Release|x64.Build.0 = Release|Any CPU {36D530B2-EE1C-4FE3-8F86-E370CA6C3E05}.Release|x86.ActiveCfg = Release|Any CPU {36D530B2-EE1C-4FE3-8F86-E370CA6C3E05}.Release|x86.Build.0 = Release|Any CPU + {36D530B2-EE1C-4FE3-8F86-E370CA6C3E05}.Verify|Any CPU.ActiveCfg = Verify|Any CPU + {36D530B2-EE1C-4FE3-8F86-E370CA6C3E05}.Verify|Any CPU.Build.0 = Verify|Any CPU + {36D530B2-EE1C-4FE3-8F86-E370CA6C3E05}.Verify|x64.ActiveCfg = Verify|Any CPU + {36D530B2-EE1C-4FE3-8F86-E370CA6C3E05}.Verify|x64.Build.0 = Verify|Any CPU + {36D530B2-EE1C-4FE3-8F86-E370CA6C3E05}.Verify|x86.ActiveCfg = Verify|Any CPU + {36D530B2-EE1C-4FE3-8F86-E370CA6C3E05}.Verify|x86.Build.0 = Verify|Any CPU {D726EDF4-87D8-4334-94EC-9445A881E8C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D726EDF4-87D8-4334-94EC-9445A881E8C0}.Debug|Any CPU.Build.0 = Debug|Any CPU {D726EDF4-87D8-4334-94EC-9445A881E8C0}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -122,6 +149,12 @@ Global {D726EDF4-87D8-4334-94EC-9445A881E8C0}.Release|x64.Build.0 = Release|Any CPU {D726EDF4-87D8-4334-94EC-9445A881E8C0}.Release|x86.ActiveCfg = Release|Any CPU {D726EDF4-87D8-4334-94EC-9445A881E8C0}.Release|x86.Build.0 = Release|Any CPU + {D726EDF4-87D8-4334-94EC-9445A881E8C0}.Verify|Any CPU.ActiveCfg = Verify|Any CPU + {D726EDF4-87D8-4334-94EC-9445A881E8C0}.Verify|Any CPU.Build.0 = Verify|Any CPU + {D726EDF4-87D8-4334-94EC-9445A881E8C0}.Verify|x64.ActiveCfg = Verify|Any CPU + {D726EDF4-87D8-4334-94EC-9445A881E8C0}.Verify|x64.Build.0 = Verify|Any CPU + {D726EDF4-87D8-4334-94EC-9445A881E8C0}.Verify|x86.ActiveCfg = Verify|Any CPU + {D726EDF4-87D8-4334-94EC-9445A881E8C0}.Verify|x86.Build.0 = Verify|Any CPU {DAD8E877-55D5-4924-94D0-57297396C87C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DAD8E877-55D5-4924-94D0-57297396C87C}.Debug|Any CPU.Build.0 = Debug|Any CPU {DAD8E877-55D5-4924-94D0-57297396C87C}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -134,6 +167,12 @@ Global {DAD8E877-55D5-4924-94D0-57297396C87C}.Release|x64.Build.0 = Release|Any CPU {DAD8E877-55D5-4924-94D0-57297396C87C}.Release|x86.ActiveCfg = Release|Any CPU {DAD8E877-55D5-4924-94D0-57297396C87C}.Release|x86.Build.0 = Release|Any CPU + {DAD8E877-55D5-4924-94D0-57297396C87C}.Verify|Any CPU.ActiveCfg = Verify|Any CPU + {DAD8E877-55D5-4924-94D0-57297396C87C}.Verify|Any CPU.Build.0 = Verify|Any CPU + {DAD8E877-55D5-4924-94D0-57297396C87C}.Verify|x64.ActiveCfg = Verify|Any CPU + {DAD8E877-55D5-4924-94D0-57297396C87C}.Verify|x64.Build.0 = Verify|Any CPU + {DAD8E877-55D5-4924-94D0-57297396C87C}.Verify|x86.ActiveCfg = Verify|Any CPU + {DAD8E877-55D5-4924-94D0-57297396C87C}.Verify|x86.Build.0 = Verify|Any CPU {9334A768-101E-4A53-B9FB-FD55AFE64508}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9334A768-101E-4A53-B9FB-FD55AFE64508}.Debug|Any CPU.Build.0 = Debug|Any CPU {9334A768-101E-4A53-B9FB-FD55AFE64508}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -146,6 +185,12 @@ Global {9334A768-101E-4A53-B9FB-FD55AFE64508}.Release|x64.Build.0 = Release|Any CPU {9334A768-101E-4A53-B9FB-FD55AFE64508}.Release|x86.ActiveCfg = Release|Any CPU {9334A768-101E-4A53-B9FB-FD55AFE64508}.Release|x86.Build.0 = Release|Any CPU + {9334A768-101E-4A53-B9FB-FD55AFE64508}.Verify|Any CPU.ActiveCfg = Verify|Any CPU + {9334A768-101E-4A53-B9FB-FD55AFE64508}.Verify|Any CPU.Build.0 = Verify|Any CPU + {9334A768-101E-4A53-B9FB-FD55AFE64508}.Verify|x64.ActiveCfg = Verify|Any CPU + {9334A768-101E-4A53-B9FB-FD55AFE64508}.Verify|x64.Build.0 = Verify|Any CPU + {9334A768-101E-4A53-B9FB-FD55AFE64508}.Verify|x86.ActiveCfg = Verify|Any CPU + {9334A768-101E-4A53-B9FB-FD55AFE64508}.Verify|x86.Build.0 = Verify|Any CPU {D67A04F8-AC8C-41AB-B02A-0BC975B3B24C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D67A04F8-AC8C-41AB-B02A-0BC975B3B24C}.Debug|Any CPU.Build.0 = Debug|Any CPU {D67A04F8-AC8C-41AB-B02A-0BC975B3B24C}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -158,6 +203,12 @@ Global {D67A04F8-AC8C-41AB-B02A-0BC975B3B24C}.Release|x64.Build.0 = Release|Any CPU {D67A04F8-AC8C-41AB-B02A-0BC975B3B24C}.Release|x86.ActiveCfg = Release|Any CPU {D67A04F8-AC8C-41AB-B02A-0BC975B3B24C}.Release|x86.Build.0 = Release|Any CPU + {D67A04F8-AC8C-41AB-B02A-0BC975B3B24C}.Verify|Any CPU.ActiveCfg = Verify|Any CPU + {D67A04F8-AC8C-41AB-B02A-0BC975B3B24C}.Verify|Any CPU.Build.0 = Verify|Any CPU + {D67A04F8-AC8C-41AB-B02A-0BC975B3B24C}.Verify|x64.ActiveCfg = Verify|Any CPU + {D67A04F8-AC8C-41AB-B02A-0BC975B3B24C}.Verify|x64.Build.0 = Verify|Any CPU + {D67A04F8-AC8C-41AB-B02A-0BC975B3B24C}.Verify|x86.ActiveCfg = Verify|Any CPU + {D67A04F8-AC8C-41AB-B02A-0BC975B3B24C}.Verify|x86.Build.0 = Verify|Any CPU {6177DC20-2AFB-4C12-876B-4D8116CCEBCE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6177DC20-2AFB-4C12-876B-4D8116CCEBCE}.Debug|Any CPU.Build.0 = Debug|Any CPU {6177DC20-2AFB-4C12-876B-4D8116CCEBCE}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -170,6 +221,12 @@ Global {6177DC20-2AFB-4C12-876B-4D8116CCEBCE}.Release|x64.Build.0 = Release|Any CPU {6177DC20-2AFB-4C12-876B-4D8116CCEBCE}.Release|x86.ActiveCfg = Release|Any CPU {6177DC20-2AFB-4C12-876B-4D8116CCEBCE}.Release|x86.Build.0 = Release|Any CPU + {6177DC20-2AFB-4C12-876B-4D8116CCEBCE}.Verify|Any CPU.ActiveCfg = Verify|Any CPU + {6177DC20-2AFB-4C12-876B-4D8116CCEBCE}.Verify|Any CPU.Build.0 = Verify|Any CPU + {6177DC20-2AFB-4C12-876B-4D8116CCEBCE}.Verify|x64.ActiveCfg = Verify|Any CPU + {6177DC20-2AFB-4C12-876B-4D8116CCEBCE}.Verify|x64.Build.0 = Verify|Any CPU + {6177DC20-2AFB-4C12-876B-4D8116CCEBCE}.Verify|x86.ActiveCfg = Verify|Any CPU + {6177DC20-2AFB-4C12-876B-4D8116CCEBCE}.Verify|x86.Build.0 = Verify|Any CPU {0872058D-355C-49B7-BF07-0C17DE77FBAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0872058D-355C-49B7-BF07-0C17DE77FBAF}.Debug|Any CPU.Build.0 = Debug|Any CPU {0872058D-355C-49B7-BF07-0C17DE77FBAF}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -182,6 +239,12 @@ Global {0872058D-355C-49B7-BF07-0C17DE77FBAF}.Release|x64.Build.0 = Release|Any CPU {0872058D-355C-49B7-BF07-0C17DE77FBAF}.Release|x86.ActiveCfg = Release|Any CPU {0872058D-355C-49B7-BF07-0C17DE77FBAF}.Release|x86.Build.0 = Release|Any CPU + {0872058D-355C-49B7-BF07-0C17DE77FBAF}.Verify|Any CPU.ActiveCfg = Verify|Any CPU + {0872058D-355C-49B7-BF07-0C17DE77FBAF}.Verify|Any CPU.Build.0 = Verify|Any CPU + {0872058D-355C-49B7-BF07-0C17DE77FBAF}.Verify|x64.ActiveCfg = Verify|Any CPU + {0872058D-355C-49B7-BF07-0C17DE77FBAF}.Verify|x64.Build.0 = Verify|Any CPU + {0872058D-355C-49B7-BF07-0C17DE77FBAF}.Verify|x86.ActiveCfg = Verify|Any CPU + {0872058D-355C-49B7-BF07-0C17DE77FBAF}.Verify|x86.Build.0 = Verify|Any CPU {0C1CA3C5-668F-481C-BB56-04C1F8F185B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0C1CA3C5-668F-481C-BB56-04C1F8F185B5}.Debug|Any CPU.Build.0 = Debug|Any CPU {0C1CA3C5-668F-481C-BB56-04C1F8F185B5}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -194,6 +257,12 @@ Global {0C1CA3C5-668F-481C-BB56-04C1F8F185B5}.Release|x64.Build.0 = Release|Any CPU {0C1CA3C5-668F-481C-BB56-04C1F8F185B5}.Release|x86.ActiveCfg = Release|Any CPU {0C1CA3C5-668F-481C-BB56-04C1F8F185B5}.Release|x86.Build.0 = Release|Any CPU + {0C1CA3C5-668F-481C-BB56-04C1F8F185B5}.Verify|Any CPU.ActiveCfg = Verify|Any CPU + {0C1CA3C5-668F-481C-BB56-04C1F8F185B5}.Verify|Any CPU.Build.0 = Verify|Any CPU + {0C1CA3C5-668F-481C-BB56-04C1F8F185B5}.Verify|x64.ActiveCfg = Verify|Any CPU + {0C1CA3C5-668F-481C-BB56-04C1F8F185B5}.Verify|x64.Build.0 = Verify|Any CPU + {0C1CA3C5-668F-481C-BB56-04C1F8F185B5}.Verify|x86.ActiveCfg = Verify|Any CPU + {0C1CA3C5-668F-481C-BB56-04C1F8F185B5}.Verify|x86.Build.0 = Verify|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/build.cake b/build.cake index 73c1f30..29a60ea 100644 --- a/build.cake +++ b/build.cake @@ -54,8 +54,21 @@ Task("Restore") DotNetCoreRestore(state.Paths.SolutionFile.ToString(), settings); }); -Task("Build") +Task("Verify") .IsDependentOn("Restore") + .Does(state => +{ + var settings = new DotNetCoreBuildSettings + { + Configuration = "Verify", + NoRestore = true + }; + + DotNetCoreBuild(state.Paths.SolutionFile.ToString(), settings); +}); + +Task("Build") + .IsDependentOn("Verify") .Does(state => { var settings = new DotNetCoreBuildSettings diff --git a/samples/Directory.Build.props b/samples/Directory.Build.props index aac0826..75a2831 100644 --- a/samples/Directory.Build.props +++ b/samples/Directory.Build.props @@ -2,6 +2,7 @@ Samples false + Debug;Release;Verify \ No newline at end of file diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 3b508ec..0013281 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -2,6 +2,7 @@ EMG.Extensions $(MSBuildThisFileDirectory)\..\CodeAnalysis.Empty.ruleset + Debug;Release;Verify @@ -34,7 +35,7 @@ - + true true true diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props index d01483a..f679ee4 100644 --- a/tests/Directory.Build.props +++ b/tests/Directory.Build.props @@ -2,6 +2,7 @@ Tests $(MSBuildThisFileDirectory)\..\CodeAnalysis.Empty.ruleset + Debug;Release;Verify @@ -17,7 +18,7 @@ - + true true true From b9aeb10a3fb1d76cee065b4b3270a5cb7fac9b72 Mon Sep 17 00:00:00 2001 From: Renato Golia Date: Fri, 25 Sep 2020 15:52:40 +0200 Subject: [PATCH 4/5] Renamed CodeAnalysis.ruleset to CodeAnalysis.Libraries.ruleset --- CodeAnalysis.ruleset => CodeAnalysis.Libraries.ruleset | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename CodeAnalysis.ruleset => CodeAnalysis.Libraries.ruleset (100%) diff --git a/CodeAnalysis.ruleset b/CodeAnalysis.Libraries.ruleset similarity index 100% rename from CodeAnalysis.ruleset rename to CodeAnalysis.Libraries.ruleset From d8492f841b84d105d2e87953e4db9a6dc8bec9f4 Mon Sep 17 00:00:00 2001 From: Renato Golia Date: Fri, 25 Sep 2020 16:38:57 +0200 Subject: [PATCH 5/5] Improved setup --- CodeAnalysis.Empty.ruleset | 845 --------------------------------- CodeAnalysis.Libraries.ruleset | 60 +-- CodeAnalysis.Tests.ruleset | 170 ++++++- src/Directory.Build.props | 9 +- tests/Directory.Build.props | 9 +- 5 files changed, 207 insertions(+), 886 deletions(-) delete mode 100644 CodeAnalysis.Empty.ruleset diff --git a/CodeAnalysis.Empty.ruleset b/CodeAnalysis.Empty.ruleset deleted file mode 100644 index c9986a3..0000000 --- a/CodeAnalysis.Empty.ruleset +++ /dev/null @@ -1,845 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/CodeAnalysis.Libraries.ruleset b/CodeAnalysis.Libraries.ruleset index 86ffac6..88787ea 100644 --- a/CodeAnalysis.Libraries.ruleset +++ b/CodeAnalysis.Libraries.ruleset @@ -10,36 +10,36 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CodeAnalysis.Tests.ruleset b/CodeAnalysis.Tests.ruleset index 50d8349..74a5560 100644 --- a/CodeAnalysis.Tests.ruleset +++ b/CodeAnalysis.Tests.ruleset @@ -1,6 +1,6 @@ - + @@ -606,4 +606,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 0013281..992145b 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -1,8 +1,6 @@ EMG.Extensions - $(MSBuildThisFileDirectory)\..\CodeAnalysis.Empty.ruleset - Debug;Release;Verify @@ -35,11 +33,12 @@ - + + $(Configurations);Verify true true - true - $(MSBuildThisFileDirectory)\..\CodeAnalysis.ruleset + true + $(MSBuildThisFileDirectory)\..\CodeAnalysis.Libraries.ruleset diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props index f679ee4..0d355b1 100644 --- a/tests/Directory.Build.props +++ b/tests/Directory.Build.props @@ -1,8 +1,6 @@ Tests - $(MSBuildThisFileDirectory)\..\CodeAnalysis.Empty.ruleset - Debug;Release;Verify @@ -18,11 +16,12 @@ - + + $(Configurations);Verify true true - true - $(MSBuildThisFileDirectory)\CodeAnalysis.Tests.ruleset + true + $(MSBuildThisFileDirectory)\..\CodeAnalysis.Tests.ruleset