diff --git a/.editorconfig b/.editorconfig index 245cf42..2dd4c77 100644 --- a/.editorconfig +++ b/.editorconfig @@ -10,5 +10,5 @@ trim_trailing_whitespace = true [*.sh] end_of_line = lf -[**/Migrations/*.cs] +[{*.Generated.*.cs,Migrations/*,Scripts/*}] generated_code = true diff --git a/.globalconfig b/.globalconfig new file mode 100644 index 0000000..9faf33b --- /dev/null +++ b/.globalconfig @@ -0,0 +1,157 @@ +is_global = true + +# Ruleset replacement +dotnet_diagnostic.CA2007.severity = none # https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca2007 +dotnet_diagnostic.CA1303.severity = none # https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca1303 + +# Organize usings +dotnet_sort_system_directives_first = true +dotnet_separate_import_directive_groups = true +csharp_using_directive_placement = inside_namespace:suggestion +csharp_prefer_simple_using_statement = true:suggestion +csharp_style_namespace_declarations = file_scoped:warning +# this. preferences +dotnet_style_qualification_for_field = false:none +dotnet_style_qualification_for_property = false:none +dotnet_style_qualification_for_method = false:none +dotnet_style_qualification_for_event = false:none +# Language keywords vs BCL types preferences +dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion +dotnet_style_predefined_type_for_member_access = true:suggestion +# Parentheses preferences +dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent +dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent +dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent +dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent +# Modifier preferences +dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion +dotnet_style_readonly_field = true:suggestion +# Expression-level preferences +dotnet_style_object_initializer = true:suggestion +dotnet_style_collection_initializer = true:suggestion +dotnet_style_explicit_tuple_names = true:suggestion +dotnet_style_null_propagation = true:suggestion +dotnet_style_coalesce_expression = 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:silent +dotnet_style_prefer_conditional_expression_over_assignment = true:suggestion +dotnet_style_prefer_conditional_expression_over_return = true:suggestion +############################### +# Naming Conventions # +############################### +# Style Definitions +dotnet_naming_style.pascal_case_style.capitalization = pascal_case +dotnet_naming_rule.private_instance_fields_rule.style = lower_camel_case_style +dotnet_naming_rule.private_static_fields_rule.style = lower_camel_case_style +# Use PascalCase for constant fields +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.applicable_accessibilities = * +dotnet_naming_symbols.constant_fields.required_modifiers = const +############################### +# C# Coding Conventions # +############################### +# var preferences +csharp_style_var_for_built_in_types = true:suggestion +csharp_style_var_when_type_is_apparent = true:suggestion +csharp_style_var_elsewhere = true:suggestion +# Expression-bodied members +csharp_style_expression_bodied_methods = when_on_single_line :suggestion +csharp_style_expression_bodied_constructors = when_on_single_line :suggestion +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 = when_on_single_line :suggestion +csharp_style_expression_bodied_lambdas = when_on_single_line :suggestion +csharp_style_expression_bodied_local_functions = when_on_single_line :suggestion +# Pattern matching preferences +csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion +csharp_style_pattern_matching_over_as_with_null_check = true:suggestion +# Null-checking preferences +csharp_style_throw_expression = true:suggestion +csharp_style_conditional_delegate_call = true:suggestion +# Modifier preferences +csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion +# Expression-level preferences +csharp_prefer_braces = true:none +csharp_style_deconstructed_variable_declaration = true:suggestion +csharp_prefer_simple_default_expression = true:suggestion +csharp_style_pattern_local_over_anonymous_function = true:suggestion +csharp_style_inlined_variable_declaration = true:suggestion +# Unused value preferences +csharp_style_unused_value_expression_statement_preference = discard_variable:none +csharp_style_unused_value_assignment_preference = discard_variable:suggestion +## Index and Range preferences +csharp_style_prefer_index_operator = true:suggestion +csharp_style_prefer_range_operator = true:suggestion +csharp_prefer_static_local_function = true:suggestion +csharp_style_prefer_switch_expression = true:suggestion +############################### +# C# Formatting Rules # +############################### +# New line preferences +csharp_new_line_before_open_brace = all +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 +# Indentation preferences +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 = true +# Space preferences +csharp_space_after_cast = false +csharp_space_after_keywords_in_control_flow_statements = true +csharp_space_between_method_call_parameter_list_parentheses = false +csharp_space_between_method_declaration_parameter_list_parentheses = false +csharp_space_between_parentheses = false +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_empty_parameter_list_parentheses = false +csharp_space_between_method_call_name_and_opening_parenthesis = false +csharp_space_between_method_call_empty_parameter_list_parentheses = false +csharp_space_between_method_declaration_name_and_open_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 = false +csharp_space_before_open_square_brackets = false +csharp_space_between_empty_square_brackets = false +csharp_space_between_square_brackets = false +# Wrapping preferences +csharp_preserve_single_line_statements = true +csharp_preserve_single_line_blocks = true +############################### +# VB Coding Conventions # +############################### +# Modifier preferences +visual_basic_preferred_modifier_order = Partial,Default,Private,Protected,Public,Friend,NotOverridable,Overridable,MustOverride,Overloads,Overrides,MustInherit,NotInheritable,Static,Shared,Shadows,ReadOnly,WriteOnly,Dim,Const,WithEvents,Widening,Narrowing,Custom,Async:suggestion + + +############################### +# Extra Rules # +############################### + +# dotnet_naming_rule.private_constants_rule.severity = warning +# dotnet_naming_rule.private_constants_rule.style = upper_camel_case_style +# dotnet_naming_rule.private_constants_rule.symbols = private_constants_symbols +# dotnet_naming_rule.private_instance_fields_rule.severity = warning +dotnet_naming_rule.private_instance_fields_rule.style = lower_camel_case_style +# dotnet_naming_rule.private_instance_fields_rule.symbols = private_instance_fields_symbols +# dotnet_naming_rule.private_static_fields_rule.severity = warning +dotnet_naming_rule.private_static_fields_rule.style = lower_camel_case_style +# dotnet_naming_rule.private_static_fields_rule.symbols = private_static_fields_symbols +# dotnet_naming_style.prefix_private_field_with_underscore.required_prefix = _ diff --git a/.runsettings b/.runsettings new file mode 100644 index 0000000..a3c9930 --- /dev/null +++ b/.runsettings @@ -0,0 +1,28 @@ + + + + .\TestResults + true + + + invariant + 5 + + + + + + cobertura + coverage.xml + ObsoleteAttribute,GeneratedCodeAttribute,CompilerGeneratedAttribute + **/tests/**.cs,**/samples/**.cs + false + true + false + true + true + + + + + diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 120000 index 1e08111..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1 +0,0 @@ -../.config/.vscode/settings.json \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 120000 index a46957e..0000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1 +0,0 @@ -../.config/.vscode/tasks-dotnet.json \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..d99b4df --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,190 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "restore", + "command": "dotnet", + "type": "shell", + "args": [ + "restore", + "--verbosity", + "minimal", + "-bl:logs\\restore.binlog" + ], + "group": { + "kind": "build", + "isDefault": true + }, + "presentation": { + "reveal": "never", + "panel": "shared" + }, + "problemMatcher": "$msCompile" + }, + { + "label": "build", + "command": "dotnet", + "type": "shell", + "args": [ + "build", + "--configuration", + "Release", + "--no-restore", + "--nologo", + "--verbosity", + "minimal", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary", + "/p:TF_BUILD=true", + "-bl:logs\\build.binlog" + ], + "dependsOrder": "sequence", + "dependsOn": [ + "restore" + ], + "group": "build", + "presentation": { + "reveal": "silent", + "panel": "shared", + "clear": true + }, + "problemMatcher": "$msCompile" + }, + { + "label": "test", + "command": "dotnet", + "type": "shell", + "args": [ + "test", + "--configuration", + "Release", + "--no-build", + "--verbosity", + "normal", + "--collect:'Code Coverage'", + "-bl:logs\\test.binlog" + ], + "group": { + "kind": "test", + "isDefault": true + }, + "dependsOrder": "sequence", + "dependsOn": [ + "build" + ], + "presentation": { + "echo": true, + "reveal": "always", + "focus": false, + "panel": "shared", + "showReuseMessage": true, + "clear": true + }, + "problemMatcher": "$msCompile" + }, + { + "label": "pack", + "command": "dotnet", + "type": "shell", + "args": [ + "pack", + "--configuration", + "Release", + "--no-restore", + "--nologo", + "--verbosity", + "minimal", + "--output", + "packages", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary", + "/p:TF_BUILD=true", + "-bl:logs\\pack.binlog" + ], + "dependsOrder": "sequence", + "dependsOn": [ + "publish" + ], + "group": { + "kind": "build", + "isDefault": true + }, + "presentation": { + "echo": true, + "reveal": "always", + "focus": false, + "panel": "shared", + "showReuseMessage": true, + "clear": true + }, + "problemMatcher": "$msCompile" + }, + { + "label": "publish", + "command": "dotnet", + "type": "shell", + "args": [ + "publish", + "--configuration", + "Release", + "--no-restore", + "--no-build", + "--nologo", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary", + "/p:TF_BUILD=true", + "-bl:logs\\publish.binlog" + ], + "dependsOrder": "sequence", + "dependsOn": [ + "test" + ], + "group": { + "kind": "build", + "isDefault": true + }, + "presentation": { + "echo": true, + "reveal": "never", + "focus": false, + "panel": "shared", + "showReuseMessage": true, + "clear": true + }, + "problemMatcher": "$msCompile" + }, + { + "label": "clean", + "command": "dotnet", + "type": "shell", + "args": [ + "clean", + "--configuration", + "Release", + "--verbosity", + "minimal" + ], + "group": { + "kind": "build", + "isDefault": true + }, + "presentation": { + "reveal": "never", + "panel": "shared" + }, + "problemMatcher": "$msCompile" + }, + { + "label": "cleanPublished", + "type": "process", + "command": "del", + "args": [ + "-rf", + "upload/*" + ], + "group": "build", + "presentation": {}, + "problemMatcher": "$msCompile" + } + ] +} diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 0000000..593a71e --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,204 @@ + + + + + + + true + + true + + Kritikos.$(MSBuildProjectName) + + enable + + true + true + $(NoWarn);1591;1701;1702;NU1507 + + false + + true + + true + + true + + enable + + True + + preview + All + true + + true + + true + false + + preview + false + + true + PerMonitorV2 + true + true + False + $(DefaultItemExcludes);*.log;*.binlog + + + + $(MSBuildThisFileDirectory)artifacts + + + + + true + + true + + + + + $(MSBuildThisFileDirectory)\icon.png + + + $(MSBuildProjectDirectory)\icon.png + + true + + + $(MSBuildThisFileDirectory)\README.md + + + $(MSBuildProjectDirectory)\README.md + + true + + + + false + false + + + + true + + + + true + $(MSBuildProjectDirectory)/OpenApi + + + + Full + true + true + + + + true + publish + + + + + + true + + + true + + + true + + + true + + + + + true + + + + <_Parameter1>$(ClsCompliant) + <_Parameter1_TypeName>System.Boolean + + + + + + + + + + + + + + + + + + + + + + + + + + $(RootNamespace) + Kritikos IO + Alexandros Kritikos + $([System.DateTime]::Now.ToString(yyyy)) + Copyright © 2017-$(CurrentYear) Kritikos IO. All rights reserved. + false + $(MSBuildThisFileDirectory)/packages + $(MSBuildThisFileDirectory)/upload/$(ProjectName) + icon.png + README.md + true + git + + + true + + true + true + snupkg + Apache-2.0 + true + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + diff --git a/Directory.Build.targets b/Directory.Build.targets new file mode 100644 index 0000000..1d85767 --- /dev/null +++ b/Directory.Build.targets @@ -0,0 +1,68 @@ + + + + + + + false + false + true + true + true + $(MSBuildThisFileDirectory)\.runsettings + + + + + + + + + + + + + + + + + + + + <_Parameter1>%(InternalsVisibleTo.Identity) + + + + + + + <_Parameter1>$(AssemblyName)%(InternalsVisibleToSuffix.Identity) + + + + + + + + + + @(ReleaseNoteLines, '%0a') + + + diff --git a/Directory.Packages.props b/Directory.Packages.props index 6d82169..2a09ac7 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -1,25 +1,11 @@ - - - - - - - - - - + + + + - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - + + + diff --git a/Directory.Solution.targets b/Directory.Solution.targets new file mode 100644 index 0000000..ce73dec --- /dev/null +++ b/Directory.Solution.targets @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + git log --no-merges + $(GitBaseCommand) + --pretty=format:"- %25%25s" + $(GitBaseCommand) + --pretty=format:"- %25s" + + + + + + + + diff --git a/GitVersion.yml b/GitVersion.yml new file mode 100644 index 0000000..9ce984f --- /dev/null +++ b/GitVersion.yml @@ -0,0 +1,32 @@ +workflow: GitFlow/v1 +mode: ContinuousDelivery +branches: + main: + mode: ContinuousDelivery + label: rc + develop: + label: alpha + source-branches: + - main + - feature + feature: + mode: ContinuousDelivery + label: '{BranchName}' + source-branches: + - develop + release: + mode: ContinuousDelivery + label: '' + source-branches: + - main + - hotfix + hotfix: + mode: ContinuousDelivery + label: '{BranchName}' + source-branches: + - release + +prevent-increment: + of-merged-branch: true + when-branch-merged: true + when-current-commit-tagged: true diff --git a/Solution.code-workspace b/Solution.code-workspace new file mode 100644 index 0000000..53ee6f4 --- /dev/null +++ b/Solution.code-workspace @@ -0,0 +1,17 @@ +{ + "folders": [ + { + "path": ".", + "name": "Source" + } + ], + "extensions": { + "recommendations": [ + "EditorConfig.EditorConfig", + "mhutchie.git-graph", + "ms-dotnettools.csdevkit", + "ms-vscode-remote.remote-containers", + "seatonjiang.gitmoji-vscode", + ] + } +} diff --git a/Solution.sln.DotSettings b/Solution.sln.DotSettings new file mode 100644 index 0000000..7fb19a2 --- /dev/null +++ b/Solution.sln.DotSettings @@ -0,0 +1,115 @@ + + True + Inherit + True + + True + False + True + True + True + True + True + False + False + False + + 20 + *ModelSnapshot.cs + Migrations/* + True + False + DO_NOT_SHOW + DO_NOT_SHOW + DO_NOT_SHOW + + True + True + True + ShowAndRun + None + None + True + USE_TABS_ONLY + 0 + 1 + 1 + + NEVER + NEVER + NEVER + True + False + True + True + CHOP_IF_LONG + CHOP_ALWAYS + CHOP_ALWAYS + True + True + True + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" Prefix="I" Suffix="" Style="AaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" Prefix="T" Suffix="" Style="AaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> + + + LIVE_MONITOR + LIVE_MONITOR + DO_NOTHING + LIVE_MONITOR + LIVE_MONITOR + LIVE_MONITOR + LIVE_MONITOR + LIVE_MONITOR + LIVE_MONITOR + LIVE_MONITOR + LIVE_MONITOR + DO_NOTHING + LIVE_MONITOR + True + True + True + True + True + False + diff --git a/Solution.slnx b/Solution.slnx index 394921a..15a1632 100644 --- a/Solution.slnx +++ b/Solution.slnx @@ -14,7 +14,6 @@ - diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..94f635a Binary files /dev/null and b/icon.png differ diff --git a/packages/.gitkeep b/packages/.gitkeep deleted file mode 120000 index 98ae275..0000000 --- a/packages/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -../.config/.gitkeep \ No newline at end of file diff --git a/packages/.gitkeep b/packages/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/samples/Directory.Build.props b/samples/Directory.Build.props deleted file mode 120000 index dac8906..0000000 --- a/samples/Directory.Build.props +++ /dev/null @@ -1 +0,0 @@ -../.config/Extras.Directory.Build.props \ No newline at end of file diff --git a/samples/Directory.Build.props b/samples/Directory.Build.props new file mode 100644 index 0000000..5926a6e --- /dev/null +++ b/samples/Directory.Build.props @@ -0,0 +1,17 @@ + + + + + + + false + false + false + + + + + + diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 08b5757..f23084e 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -1,6 +1,8 @@ - - + + diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props deleted file mode 120000 index 92b9d7a..0000000 --- a/tests/Directory.Build.props +++ /dev/null @@ -1 +0,0 @@ -../.config/Tests.Directory.Build.props \ No newline at end of file diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props new file mode 100644 index 0000000..8621b71 --- /dev/null +++ b/tests/Directory.Build.props @@ -0,0 +1,28 @@ + + + + + + + false + true + + + + + + + + + + + + + @(VSTestLogger) + + + diff --git a/upload/.gitkeep b/upload/.gitkeep deleted file mode 120000 index 98ae275..0000000 --- a/upload/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -../.config/.gitkeep \ No newline at end of file diff --git a/upload/.gitkeep b/upload/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/xunit.runner.json b/xunit.runner.json new file mode 100644 index 0000000..fa78053 --- /dev/null +++ b/xunit.runner.json @@ -0,0 +1,9 @@ +{ + "$schema": "https://xunit.net/schema/current/xunit.runner.schema.json", + "methodDisplay": "classAndMethod", + "methodDisplayOptions": "all", + "parallelAlgorithm": "aggressive", + "parallelizeAssembly": true, + "longRunningTestSeconds": 5, + "showLiveOutput": true +}