diff --git a/.editorconfig b/.editorconfig index c42b58804..80caf8e8b 100644 --- a/.editorconfig +++ b/.editorconfig @@ -17,17 +17,6 @@ indent_style = space # New line preferences end_of_line = unset insert_final_newline = false -dotnet_style_prefer_is_null_check_over_reference_equality_method = true:warning -dotnet_style_readonly_field = true:warning -dotnet_style_predefined_type_for_locals_parameters_members = true:warning -dotnet_style_predefined_type_for_member_access = true:warning -dotnet_style_require_accessibility_modifiers = for_non_interface_members:warning -dotnet_style_allow_statement_immediately_after_block_experimental = false:warning -dotnet_style_allow_multiple_blank_lines_experimental = false:warning -dotnet_style_qualification_for_field = true:warning -dotnet_style_qualification_for_property = false:warning -dotnet_style_qualification_for_method = false:warning -dotnet_style_qualification_for_event = false:warning #### Build files #### @@ -58,14 +47,14 @@ insert_final_newline = true #### .NET Coding Conventions #### # this. and Me. preferences -dotnet_style_qualification_for_event = true:silent -dotnet_style_qualification_for_field = true:silent -dotnet_style_qualification_for_method = true:silent -dotnet_style_qualification_for_property = true:silent +dotnet_style_qualification_for_event = false:warning +dotnet_style_qualification_for_field = true:warning +dotnet_style_qualification_for_method = false:warning +dotnet_style_qualification_for_property = false:warning # Language keywords vs BCL types preferences -dotnet_style_predefined_type_for_locals_parameters_members = true:silent -dotnet_style_predefined_type_for_member_access = true:silent +dotnet_style_predefined_type_for_locals_parameters_members = true:warning +dotnet_style_predefined_type_for_member_access = true:warning # Parentheses preferences dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent @@ -74,7 +63,11 @@ dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent # Modifier preferences -dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent +dotnet_style_require_accessibility_modifiers = for_non_interface_members:warning + +# Code block preferences +dotnet_style_allow_multiple_blank_lines_experimental = false:warning +dotnet_style_allow_statement_immediately_after_block_experimental = false:warning # Expression-level preferences csharp_style_deconstructed_variable_declaration = true:suggestion @@ -90,10 +83,10 @@ dotnet_style_prefer_conditional_expression_over_assignment = true:silent dotnet_style_prefer_conditional_expression_over_return = true:silent dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion dotnet_style_prefer_inferred_tuple_names = true:suggestion -dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion +dotnet_style_prefer_is_null_check_over_reference_equality_method = true:warning # Field preferences -dotnet_style_readonly_field = true:suggestion +dotnet_style_readonly_field = true:warning #### C# Coding Conventions #### @@ -112,6 +105,7 @@ csharp_style_expression_bodied_operators = false:silent csharp_style_expression_bodied_properties = false:silent # Pattern matching preferences +csharp_style_prefer_pattern_matching = true:suggestion csharp_style_pattern_matching_over_as_with_null_check = true:suggestion csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion @@ -123,9 +117,15 @@ csharp_preferred_modifier_order = public,private,protected,internal,static,exter # Code-block preferences csharp_prefer_braces = true:suggestion +csharp_using_directive_placement = outside_namespace:warning +csharp_style_namespace_declarations = file_scoped:warning +csharp_style_unused_value_assignment_preference = discard_variable:warning +csharp_style_unused_value_expression_statement_preference = discard_variable:warning +csharp_style_allow_blank_lines_between_consecutive_braces_experimental = false:warning # Expression-level preferences csharp_prefer_simple_default_expression = true:suggestion +csharp_prefer_static_local_function = true:warning csharp_style_pattern_local_over_anonymous_function = true:warning #### C# Formatting Rules #### @@ -381,10 +381,3 @@ dotnet_diagnostic.SA1629.severity = none dotnet_diagnostic.SA1633.severity = none dotnet_diagnostic.SA1634.severity = none dotnet_diagnostic.SA1652.severity = none -csharp_using_directive_placement = outside_namespace:warning -csharp_style_unused_value_assignment_preference = discard_variable:warning -csharp_style_unused_value_expression_statement_preference = discard_variable:warning -csharp_prefer_static_local_function = true:warning -csharp_style_allow_blank_lines_between_consecutive_braces_experimental = false:warning -csharp_style_prefer_pattern_matching = true:suggestion -csharp_style_namespace_declarations = file_scoped:warning diff --git a/.gitattributes b/.gitattributes index 5896c1692..95a92d21c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,63 +1,50 @@ -############################################################################### -# Set default behavior to automatically normalize line endings. -############################################################################### +# Set default file-type attributes + +# All file types * text=auto -############################################################################### -# Set default behavior for command prompt diff. -# -# This is need for earlier builds of msysgit that does not have it on by -# default for csharp files. -# Note: This is only used by command line -############################################################################### -#*.cs diff=csharp - -############################################################################### -# Set the merge driver for project and solution files -# -# Merging from the command prompt will add diff markers to the files if there -# are conflicts (Merging from VS is not affected by the settings below, in VS -# the diff markers are never inserted). Diff markers may cause the following -# file extensions to fail to load in VS. An alternative would be to treat -# these files as binary and thus will always conflict and require user -# intervention with every merge. To do so, just uncomment the entries below -############################################################################### -#*.sln merge=binary -#*.csproj merge=binary -#*.vbproj merge=binary -#*.vcxproj merge=binary -#*.vcproj merge=binary -#*.dbproj merge=binary -#*.fsproj merge=binary -#*.lsproj merge=binary -#*.wixproj merge=binary -#*.modelproj merge=binary -#*.sqlproj merge=binary -#*.wwaproj merge=binary - -############################################################################### -# behavior for image files -# -# image files are treated as binary by default. -############################################################################### -#*.jpg binary -#*.png binary -#*.gif binary - -############################################################################### -# diff behavior for common document formats -# -# Convert binary document formats to text before diffing them. This feature -# is only available from the command line. Turn it on by uncommenting the -# entries below. -############################################################################### -#*.doc diff=astextplain -#*.DOC diff=astextplain -#*.docx diff=astextplain -#*.DOCX diff=astextplain -#*.dot diff=astextplain -#*.DOT diff=astextplain -#*.pdf diff=astextplain -#*.PDF diff=astextplain -#*.rtf diff=astextplain -#*.RTF diff=astextplain +# Markups +*.md text=auto diff=markdown +*.mdx text=auto diff=markdown + +# Solutions +*.sln text=auto eol=crlf +*.slnx text=auto + +# Projects +*.*proj text=auto +*.tasks text=auto +*.props text=auto +*.targets text=auto + +# Sources +*.cs text=auto diff=csharp +*.csx text=auto diff=csharp +*.resx text=auto + +# Scripts +*.in text eol=lf +*.sh text eol=lf +*.bat text eol=crlf +*.cmd text eol=crlf + +# Images +*.png binary +*.jpg binary +*.gif binary + +# Keys +*.snk binary +*.pfx binary +*.cer binary + +# Others + +# Preserve Line endings in diff and patch files +*.diff -text +*.patch -text + +# Exclude git meta files from exporting +.gitattributes export-ignore +.gitignore export-ignore +.gitkeep export-ignore diff --git a/.gitignore b/.gitignore index e1269ff7f..9c893bb37 100644 --- a/.gitignore +++ b/.gitignore @@ -2,65 +2,100 @@ ## files generated by popular Visual Studio add-ons. # User-specific files +*.rsuser *.suo *.user *.userosscache *.sln.docstates -*.filters - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs # Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -build/ -bld/ [Bb]in/ [Oo]bj/ +[Ee]xt/ +[Ll]og/ +[Ll]ogs/ + +# Generated file from .ttinclude +**/Generated/*.g.cs + +# MSBuild Binary and Structured Log +*.binlog + +# MSBuild response files +!MSBuild.rsp +!Directory.Build.rsp -# Visual Studio 2015 cache/options directory +# Visual Studio 14+ cache/options directory .vs/ +# Visual Studio 15+ auto generated files +Generated\ Files/ + +# Local History for Visual Studio +.localhistory/ + +# Visual Studio History (VSHistory) files +.vshistory/ + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + # MSTest test Results [Tt]est[Rr]esult*/ [Bb]uild[Ll]og.* -# NUNIT +# NUnit *.VisualState.xml TestResult.xml +nunit-*.xml -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c +# Benchmark Results +BenchmarkDotNet.Artifacts/ -# DNX +# .NET Core project.lock.json +project.fragment.lock.json artifacts/ +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio *_i.c *_p.c -*_i.h +*_h.h *.ilk *.meta *.obj +*.iobj *.pch *.pdb +*.ipdb *.pgc *.pgd -*.rsp *.sbr *.tlb *.tli *.tlh *.tmp *.tmp_proj +*_wpftmp.csproj *.log +*.tlog *.vspscc *.vssscc .builds @@ -68,111 +103,91 @@ artifacts/ *.svclog *.scc -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opensdf -*.sdf -*.cachefile - # Visual Studio profiler *.psess *.vsp *.vspx +*.sap -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState +# Visual Studio Trace Files +*.e2e # ReSharper is a .NET coding add-in _ReSharper*/ *.[Rr]e[Ss]harper *.DotSettings.user -# JustCode is a .NET coding add-in -.JustCode - # TeamCity is a build add-in _TeamCity* # DotCover is a Code Coverage Tool *.dotCover -# NCrunch -_NCrunch_* -.*crunch*.local.xml - -# MightyMoose -*.mm.* -AutoTest.Net/ +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json -# Web workbench (sass) -.sass-cache/ +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ +# Visual Studio code coverage results +*.coverage +*.coveragexml # Publish Web Output *.[Pp]ublish.xml *.azurePubxml -## TODO: Comment the next line if you want to checkin your -## web deploy settings but do note that will include unencrypted -## passwords -#*.pubxml - +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml *.publishproj +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + # NuGet Packages *.nupkg +# NuGet Symbol Packages +*.snupkg # The packages folder can be ignored because of Package Restore -**/packages/* +**/[Pp]ackages/* # except build/, which is used as an MSBuild target. -!**/packages/build/ +!**/[Pp]ackages/build/ # Uncomment if necessary however generally it will be regenerated when needed -#!**/packages/repositories.config - -# Windows Azure Build Output -csx/ -*.build.csdef +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets -# Windows Store app package directory +# Windows Store app package directories and files AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload # Visual Studio cache files # files ending in .cache can be ignored *.[Cc]ache # but keep track of directories ending in .cache -!*.[Cc]ache/ +!?*.[Cc]ache/ # Others ClientBin/ -[Ss]tyle[Cc]op.* ~$* *~ +*~.* *.dbmdl *.dbproj.schemaview +*.jfm *.pfx *.publishsettings -node_modules/ orleans.codegen.cs # RIA/Silverlight projects @@ -185,50 +200,14 @@ _UpgradeReport_Files/ Backup*/ UpgradeLog*.XML UpgradeLog*.htm - -# SQL Server files -*.mdf -*.ldf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings +ServiceFabricBackup/ +*.rptproj.bak # Microsoft Fakes FakesAssemblies/ -# Node.js Tools for Visual Studio -.ntvs_analysis.dat - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# LightSwitch generated files -GeneratedArtifacts/ -_Pvt_Extensions/ -ModelManifest.xml -BundleArtifacts -!/build -/build/tools/GitVersion.CommandLine -AppPackages - -# NuGet V3 artifacts -*-packages.config -*.nuget.props -*.nuget.targets -project.lock.json -msbuild.binlog -*.project.lock.json -/build/tools/** -!/build/tools/packages.config - -# Generated file from .ttinclude -**/Generated/TypeInfo.g.cs +# CodeRush personal settings +.cr/personal -# TAEF Log output -WexLogFileOutput -*.wtl +# JetBrains Rider +*.sln.iml diff --git a/CommunityToolkit.Diagnostics/Generated/Guard.md b/CommunityToolkit.Diagnostics/Generated/Guard.md index 6b381a62b..b787eda14 100644 --- a/CommunityToolkit.Diagnostics/Generated/Guard.md +++ b/CommunityToolkit.Diagnostics/Generated/Guard.md @@ -1,14 +1,14 @@ # T4 templates and generated APIs -This folder contains a number of template files (with the `.tt` or `.ttinclude` extensions) and the generated `.g.cs` files generated by those templates. The template files use the T4 format, which is natively supported by Visual Studio (more info is available [here](https://docs.microsoft.com/en-us/visualstudio/modeling/code-generation-and-t4-text-templates?view=vs-2019)). +This folder contains a number of template files (with the `.tt` or `.ttinclude` extensions) and the generated `.g.cs` files generated by those templates. The template files use the T4 format, which is natively supported by Visual Studio (more info is available [here](https://docs.microsoft.com/visualstudio/modeling/code-generation-and-t4-text-templates)). ## Why is this needed? There are a few reasons why T4 templates are used for the `Guard` class: - - Especially when a large number of similar overloads are available for the same APIs, using templates makes it much easier to maintain code and spot mistakes, as the actual number of lines of code to review is much smaller: it's just the code in each template! - - Using type-specific overloads instead of generic methods can result in faster code. For instance, T4 templates are used to generate overloads for comparison APIs (eg. `Guard.IsGreaterThan(int, int, string)`). This results in more compact and optimized code as opposed to a generic method using `where T : IComparable` as type constraint. - - In some cases, using generic methods just isn't possible. For instance, types like `Span` and `ReadOnlySpan` can't be used as generic type parameters, and even if that had been possible, they don't implement an interface we could use in the generic type constraint. Using T4 templates solves this issue, as we can just have specialized method for each supported type or collection type. +- Especially when many overloads are available for an API, using templates makes it much easier to maintain code and spot mistakes, as the actual number of lines of code to review is much smaller: it's just the same code from each template! +- Using type-specific overloads instead of generic methods can result in faster code. For instance, T4 templates are used to generate overloads for comparison APIs (eg. `Guard.IsGreaterThan(int, int, string)`). This results in more compact and optimized code as opposed to a generic method using `where T : IComparable` as type constraint. +- In some cases, using generic methods just isn't possible. For instance, types like `Span` and `ReadOnlySpan` can't be used as generic type parameters, and even if that had been possible, they don't implement an interface we could use in the generic type constraint. Using T4 templates solves this issue, as we can just have specialized method for each supported type or collection type. ## How to make changes diff --git a/CommunityToolkit.HighPerformance/CommunityToolkit.HighPerformance.csproj b/CommunityToolkit.HighPerformance/CommunityToolkit.HighPerformance.csproj index 0e1ada6bd..f41d8c86b 100644 --- a/CommunityToolkit.HighPerformance/CommunityToolkit.HighPerformance.csproj +++ b/CommunityToolkit.HighPerformance/CommunityToolkit.HighPerformance.csproj @@ -21,7 +21,7 @@ - Box<T>: a type mapping boxed value types and exposing some utility and high performance methods. - Ref<T>: a stack-only struct that can store a reference to a value of a specified type. - NullableRef<T>: a stack-only struct similar to Ref<T>, which also supports nullable references. - + Parallel;Performance;Unsafe;Span;Memory;String;StringPool;Array;Stream;Buffer;Extensions;Helpers @@ -60,7 +60,7 @@ NETSTANDARD2_1_OR_GREATER - + diff --git a/CommunityToolkit.Mvvm.SourceGenerators/AnalyzerReleases.Shipped.md b/CommunityToolkit.Mvvm.SourceGenerators/AnalyzerReleases.Shipped.md index 310001460..1b7471aab 100644 --- a/CommunityToolkit.Mvvm.SourceGenerators/AnalyzerReleases.Shipped.md +++ b/CommunityToolkit.Mvvm.SourceGenerators/AnalyzerReleases.Shipped.md @@ -1,4 +1,4 @@ -; Shipped analyzer releases +; Shipped analyzer releases ; https://github.com/dotnet/roslyn-analyzers/blob/main/src/Microsoft.CodeAnalysis.Analyzers/ReleaseTrackingAnalyzers.Help.md ## Release 8.0 diff --git a/CommunityToolkit.Mvvm.SourceGenerators/AnalyzerReleases.Unshipped.md b/CommunityToolkit.Mvvm.SourceGenerators/AnalyzerReleases.Unshipped.md index 6eea61900..f2b7fad65 100644 --- a/CommunityToolkit.Mvvm.SourceGenerators/AnalyzerReleases.Unshipped.md +++ b/CommunityToolkit.Mvvm.SourceGenerators/AnalyzerReleases.Unshipped.md @@ -1,2 +1,2 @@ -; Unshipped analyzer release +; Unshipped analyzer release ; https://github.com/dotnet/roslyn-analyzers/blob/main/src/Microsoft.CodeAnalysis.Analyzers/ReleaseTrackingAnalyzers.Help.md diff --git a/CommunityToolkit.Mvvm.SourceGenerators/Attributes/NotNullWhenAttribute.cs b/CommunityToolkit.Mvvm.SourceGenerators/Attributes/NotNullWhenAttribute.cs index f7a1cbc4f..acb9c5850 100644 --- a/CommunityToolkit.Mvvm.SourceGenerators/Attributes/NotNullWhenAttribute.cs +++ b/CommunityToolkit.Mvvm.SourceGenerators/Attributes/NotNullWhenAttribute.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. diff --git a/CommunityToolkit.Mvvm.SourceGenerators/CommunityToolkit.Mvvm.SourceGenerators.csproj b/CommunityToolkit.Mvvm.SourceGenerators/CommunityToolkit.Mvvm.SourceGenerators.csproj index be288e6be..f9e7f71c0 100644 --- a/CommunityToolkit.Mvvm.SourceGenerators/CommunityToolkit.Mvvm.SourceGenerators.csproj +++ b/CommunityToolkit.Mvvm.SourceGenerators/CommunityToolkit.Mvvm.SourceGenerators.csproj @@ -40,4 +40,4 @@ - + \ No newline at end of file diff --git a/CommunityToolkit.Mvvm.SourceGenerators/Diagnostics/DiagnosticDescriptors.cs b/CommunityToolkit.Mvvm.SourceGenerators/Diagnostics/DiagnosticDescriptors.cs index 64bcbe35d..3693079b6 100644 --- a/CommunityToolkit.Mvvm.SourceGenerators/Diagnostics/DiagnosticDescriptors.cs +++ b/CommunityToolkit.Mvvm.SourceGenerators/Diagnostics/DiagnosticDescriptors.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. diff --git a/CommunityToolkit.Mvvm.SourceGenerators/Diagnostics/DiagnosticExtensions.cs b/CommunityToolkit.Mvvm.SourceGenerators/Diagnostics/DiagnosticExtensions.cs index 77e78411b..8da472e57 100644 --- a/CommunityToolkit.Mvvm.SourceGenerators/Diagnostics/DiagnosticExtensions.cs +++ b/CommunityToolkit.Mvvm.SourceGenerators/Diagnostics/DiagnosticExtensions.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. diff --git a/CommunityToolkit.Mvvm.SourceGenerators/Extensions/AttributeDataExtensions.cs b/CommunityToolkit.Mvvm.SourceGenerators/Extensions/AttributeDataExtensions.cs index 82d3de4e5..3956c54a1 100644 --- a/CommunityToolkit.Mvvm.SourceGenerators/Extensions/AttributeDataExtensions.cs +++ b/CommunityToolkit.Mvvm.SourceGenerators/Extensions/AttributeDataExtensions.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. diff --git a/CommunityToolkit.Mvvm.SourceGenerators/Extensions/MemberDeclarationSyntaxExtensions.cs b/CommunityToolkit.Mvvm.SourceGenerators/Extensions/MemberDeclarationSyntaxExtensions.cs index af705393f..a4812a9a1 100644 --- a/CommunityToolkit.Mvvm.SourceGenerators/Extensions/MemberDeclarationSyntaxExtensions.cs +++ b/CommunityToolkit.Mvvm.SourceGenerators/Extensions/MemberDeclarationSyntaxExtensions.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. diff --git a/CommunityToolkit.Mvvm.SourceGenerators/System.Runtime.CompilerServices/IsExternalInit.cs b/CommunityToolkit.Mvvm.SourceGenerators/System.Runtime.CompilerServices/IsExternalInit.cs index 8c84cb001..0160c8ef0 100644 --- a/CommunityToolkit.Mvvm.SourceGenerators/System.Runtime.CompilerServices/IsExternalInit.cs +++ b/CommunityToolkit.Mvvm.SourceGenerators/System.Runtime.CompilerServices/IsExternalInit.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. diff --git a/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.csproj b/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.csproj index 9b3c73eba..2bfe1cdf1 100644 --- a/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.csproj +++ b/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.csproj @@ -39,14 +39,14 @@ true true - + - + diff --git a/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.targets b/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.targets index 7692c2385..911484a3f 100644 --- a/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.targets +++ b/CommunityToolkit.Mvvm/CommunityToolkit.Mvvm.targets @@ -38,9 +38,9 @@ - + - + - + \ No newline at end of file diff --git a/CommunityToolkit.Mvvm/ComponentModel/Attributes/INotifyPropertyChangedAttribute.cs b/CommunityToolkit.Mvvm/ComponentModel/Attributes/INotifyPropertyChangedAttribute.cs index 0628531fb..360643eee 100644 --- a/CommunityToolkit.Mvvm/ComponentModel/Attributes/INotifyPropertyChangedAttribute.cs +++ b/CommunityToolkit.Mvvm/ComponentModel/Attributes/INotifyPropertyChangedAttribute.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. diff --git a/CommunityToolkit.Mvvm/ComponentModel/Attributes/ObservableObjectAttribute.cs b/CommunityToolkit.Mvvm/ComponentModel/Attributes/ObservableObjectAttribute.cs index c9eb64825..51fa73894 100644 --- a/CommunityToolkit.Mvvm/ComponentModel/Attributes/ObservableObjectAttribute.cs +++ b/CommunityToolkit.Mvvm/ComponentModel/Attributes/ObservableObjectAttribute.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. diff --git a/CommunityToolkit.Mvvm/ComponentModel/Attributes/ObservablePropertyAttribute.cs b/CommunityToolkit.Mvvm/ComponentModel/Attributes/ObservablePropertyAttribute.cs index 2020ac29d..0e765267a 100644 --- a/CommunityToolkit.Mvvm/ComponentModel/Attributes/ObservablePropertyAttribute.cs +++ b/CommunityToolkit.Mvvm/ComponentModel/Attributes/ObservablePropertyAttribute.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. diff --git a/CommunityToolkit.Mvvm/ComponentModel/Attributes/ObservableRecipientAttribute.cs b/CommunityToolkit.Mvvm/ComponentModel/Attributes/ObservableRecipientAttribute.cs index 8a6e3eb61..286f55854 100644 --- a/CommunityToolkit.Mvvm/ComponentModel/Attributes/ObservableRecipientAttribute.cs +++ b/CommunityToolkit.Mvvm/ComponentModel/Attributes/ObservableRecipientAttribute.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. diff --git a/build/Community.Toolkit.Common.props b/build/Community.Toolkit.Common.props index 4c836d7c3..557219218 100644 --- a/build/Community.Toolkit.Common.props +++ b/build/Community.Toolkit.Common.props @@ -37,4 +37,4 @@ $(TF_BUILD) - + \ No newline at end of file diff --git a/tests/CommunityToolkit.Common.UnitTests/CommunityToolkit.Common.UnitTests.csproj b/tests/CommunityToolkit.Common.UnitTests/CommunityToolkit.Common.UnitTests.csproj index f38ef3bd1..1069b19a1 100644 --- a/tests/CommunityToolkit.Common.UnitTests/CommunityToolkit.Common.UnitTests.csproj +++ b/tests/CommunityToolkit.Common.UnitTests/CommunityToolkit.Common.UnitTests.csproj @@ -14,4 +14,4 @@ - + \ No newline at end of file diff --git a/tests/CommunityToolkit.Diagnostics.UnitTests/CommunityToolkit.Diagnostics.UnitTests.csproj b/tests/CommunityToolkit.Diagnostics.UnitTests/CommunityToolkit.Diagnostics.UnitTests.csproj index 1889e20e0..b59f45f06 100644 --- a/tests/CommunityToolkit.Diagnostics.UnitTests/CommunityToolkit.Diagnostics.UnitTests.csproj +++ b/tests/CommunityToolkit.Diagnostics.UnitTests/CommunityToolkit.Diagnostics.UnitTests.csproj @@ -14,4 +14,4 @@ - + \ No newline at end of file diff --git a/tests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests.csproj index bc0d1eae6..b75b2df09 100644 --- a/tests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests.csproj +++ b/tests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests/CommunityToolkit.Mvvm.DisableINotifyPropertyChanging.UnitTests.csproj @@ -15,4 +15,4 @@ - + \ No newline at end of file diff --git a/tests/CommunityToolkit.Mvvm.ExternalAssembly/CommunityToolkit.Mvvm.ExternalAssembly.csproj b/tests/CommunityToolkit.Mvvm.ExternalAssembly/CommunityToolkit.Mvvm.ExternalAssembly.csproj index a1528a893..d0d39011b 100644 --- a/tests/CommunityToolkit.Mvvm.ExternalAssembly/CommunityToolkit.Mvvm.ExternalAssembly.csproj +++ b/tests/CommunityToolkit.Mvvm.ExternalAssembly/CommunityToolkit.Mvvm.ExternalAssembly.csproj @@ -17,4 +17,4 @@ - + \ No newline at end of file diff --git a/tests/CommunityToolkit.Mvvm.Internals.UnitTests/CommunityToolkit.Mvvm.Internals.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.Internals.UnitTests/CommunityToolkit.Mvvm.Internals.UnitTests.csproj index 4849bc656..1be705075 100644 --- a/tests/CommunityToolkit.Mvvm.Internals.UnitTests/CommunityToolkit.Mvvm.Internals.UnitTests.csproj +++ b/tests/CommunityToolkit.Mvvm.Internals.UnitTests/CommunityToolkit.Mvvm.Internals.UnitTests.csproj @@ -14,4 +14,4 @@ - + \ No newline at end of file diff --git a/tests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests.csproj index ae3978399..c0e0b2a21 100644 --- a/tests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests.csproj +++ b/tests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests/CommunityToolkit.Mvvm.SourceGenerators.UnitTests.csproj @@ -16,4 +16,4 @@ - + \ No newline at end of file diff --git a/tests/CommunityToolkit.Mvvm.UnitTests/CommunityToolkit.Mvvm.UnitTests.csproj b/tests/CommunityToolkit.Mvvm.UnitTests/CommunityToolkit.Mvvm.UnitTests.csproj index bee92fbc3..fff3b5625 100644 --- a/tests/CommunityToolkit.Mvvm.UnitTests/CommunityToolkit.Mvvm.UnitTests.csproj +++ b/tests/CommunityToolkit.Mvvm.UnitTests/CommunityToolkit.Mvvm.UnitTests.csproj @@ -17,4 +17,4 @@ - + \ No newline at end of file