Skip to content

Commit

Permalink
Dotnet upgrade (#13)
Browse files Browse the repository at this point in the history
* Updated projects to .NET 6
* xml doc comment modifications
* Create dotnet.yml
* build: ➖ Removed unused dependencies
* refactor: code analysis changes
  • Loading branch information
JeffJacobson authored Oct 2, 2023
1 parent d191c46 commit 72e6cd7
Show file tree
Hide file tree
Showing 20 changed files with 593 additions and 447 deletions.
78 changes: 78 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
[*.cs]

# Default severity for analyzer diagnostics with category 'Globalization'
dotnet_analyzer_diagnostic.category-Globalization.severity = silent
csharp_indent_labels = one_less_than_current
csharp_using_directive_placement = outside_namespace:silent
csharp_prefer_simple_using_statement = true:suggestion
csharp_prefer_braces = true:silent
csharp_style_namespace_declarations = block_scoped:silent
csharp_style_prefer_method_group_conversion = true:silent
csharp_style_prefer_top_level_statements = true:silent
csharp_style_prefer_primary_constructors = true:suggestion
csharp_style_expression_bodied_methods = false:silent
csharp_style_expression_bodied_constructors = false:silent
csharp_style_expression_bodied_operators = false:silent
csharp_style_expression_bodied_properties = true:silent
csharp_style_expression_bodied_indexers = true:silent
csharp_style_expression_bodied_accessors = true:silent
csharp_style_expression_bodied_lambdas = true:silent
csharp_style_expression_bodied_local_functions = false:silent

# CA1310: Specify StringComparison for correctness
dotnet_diagnostic.CA1310.severity = none

# CA1305: Specify IFormatProvider
dotnet_diagnostic.CA1305.severity = none

[*.{cs,vb}]
#### Naming styles ####

# Naming rules

dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i

dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case

dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case

# Symbol specifications

dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.interface.required_modifiers =

dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.types.required_modifiers =

dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.non_field_members.required_modifiers =

# Naming styles

dotnet_naming_style.begins_with_i.required_prefix = I
dotnet_naming_style.begins_with_i.required_suffix =
dotnet_naming_style.begins_with_i.word_separator =
dotnet_naming_style.begins_with_i.capitalization = pascal_case

dotnet_naming_style.pascal_case.required_prefix =
dotnet_naming_style.pascal_case.required_suffix =
dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.capitalization = pascal_case

dotnet_naming_style.pascal_case.required_prefix =
dotnet_naming_style.pascal_case.required_suffix =
dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.capitalization = pascal_case
dotnet_style_operator_placement_when_wrapping = beginning_of_line
tab_width = 4
indent_size = 4
end_of_line = crlf
28 changes: 28 additions & 0 deletions .github/workflows/dotnet.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# This workflow will build a .NET project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net

name: .NET

on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 6.0.x
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --no-restore
- name: Test
run: dotnet test --no-build --verbosity normal
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"dotnet.defaultSolution": "ElcRestSoeWrapper.sln"
}
8 changes: 4 additions & 4 deletions Data Contracts/ElcContracts/CollectionExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ public static void AddRouteLocationData<T>(this IEnumerable<T> dictList,
public static void AddRouteLocationData(this IDict dictionary,
RouteLocation routeLocation)
{
if (dictionary == null) throw new ArgumentNullException("dictionary");
if (routeLocation == null) throw new ArgumentNullException("routeLocation");
if (dictionary == null) throw new ArgumentNullException(nameof(dictionary));
if (routeLocation == null) throw new ArgumentNullException(nameof(routeLocation));

// TODO: do without reflection.
var properties = from p in typeof(RouteLocation).GetRuntimeProperties()
Expand All @@ -74,8 +74,8 @@ public static void AddRouteLocationData(this IDict dictionary,
/// <returns></returns>
public static string CreateUniqueKey<T>(this IDictionary<string, T> dictionary, string keyCandidate)
{
if (dictionary == null) throw new ArgumentNullException("dictionary");
if (keyCandidate == null) throw new ArgumentNullException("keyCandidate");
if (dictionary == null) throw new ArgumentNullException(nameof(dictionary));
if (keyCandidate == null) throw new ArgumentNullException(nameof(keyCandidate));

string output = keyCandidate;
int i = 0;
Expand Down
7 changes: 2 additions & 5 deletions Data Contracts/ElcContracts/ElcContracts.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netstandard1.4</TargetFramework>
<TargetFramework>net6.0</TargetFramework>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<Version>2.1.0</Version>
<Authors>Jeff Jacobson</Authors>
Expand All @@ -18,16 +18,13 @@
<DelaySign>False</DelaySign>
<PackageReleaseNotes></PackageReleaseNotes>
<RepositoryType>git</RepositoryType>
<AnalysisLevel>latest-recommended</AnalysisLevel>
</PropertyGroup>

<ItemGroup>
<None Include="..\..\Wsdot.Elc.Client.snk" Link="Wsdot.Elc.Client.snk" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="System.Runtime.Serialization.Primitives" Version="4.3.0" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\GeometryContracts\GeometryContracts.csproj" />
</ItemGroup>
Expand Down
Loading

0 comments on commit 72e6cd7

Please sign in to comment.