diff --git a/FileRepository/FileRepository.csproj b/FileRepository/FileRepository.csproj index 9f5c4f4..b6358f5 100644 --- a/FileRepository/FileRepository.csproj +++ b/FileRepository/FileRepository.csproj @@ -4,4 +4,19 @@ netstandard2.0 + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + diff --git a/FileRepository/GlobalSuppressions.cs b/FileRepository/GlobalSuppressions.cs new file mode 100644 index 0000000..de9f0d4 --- /dev/null +++ b/FileRepository/GlobalSuppressions.cs @@ -0,0 +1,10 @@ +// This file is used by Code Analysis to maintain SuppressMessage +// attributes that are applied to this project. +// Project-level suppressions either have no target or are given +// a specific target and scoped to a namespace, type, member, etc. + +using System.Diagnostics.CodeAnalysis; + +[assembly: SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1633:File should have header", Justification = "Not something we need at this stage - jcreek")] +[assembly: SuppressMessage("StyleCop.CSharp.OrderingRules", "SA1208:System using directives should be placed before other using directives", Justification = "I'd prefer to have the using directives in alphabetical order - jcreek")] +[assembly: SuppressMessage("StyleCop.CSharp.ReadabilityRules", "SA1124:Do not use regions", Justification = "They are really useful, especially when used appropriately - jcreek")] diff --git a/FileRepository/stylecop.json b/FileRepository/stylecop.json new file mode 100644 index 0000000..4f70b31 --- /dev/null +++ b/FileRepository/stylecop.json @@ -0,0 +1,52 @@ +{ + // ACTION REQUIRED: This file was automatically added to your project, but it + // will not take effect until additional steps are taken to enable it. See the + // following page for additional information: + // + // https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/EnableConfiguration.md + "​": null, + "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json", + "settings": { + "documentationRules": { + "companyName": "Creek", + "documentationCulture": "en-GB", + "documentInterfaces": true, + "documentExposedElements": true, + "documentInternalElements": true, + "documentPrivateElements": true, + "documentPrivateFields": false, + "headerDecoration": "-----------------------------------------------------------------------", + "xmlHeader": true + }, + "layoutRules": { + "allowConsecutiveUsings": true, + "newlineAtEndOfFile": "require" + }, + "maintainabilityRules": { + "topLevelTypes": [ + "class", + "interface" + ] + }, + "namingRules": { + "allowCommonHungarianPrefixes": true, + "includeInferredTupleElementNames": true, + "tupleElementNameCasing": "PascalCase" + }, + "orderingRules": { + "elementOrder": [ + "kind", + "constant", + "accessibility", + "static", + "readonly" + ], + "blankLinesBetweenUsingGroups": "omit", + "usingDirectivesPlacement": "outsideNamespace", + "systemUsingDirectivesFirst": true + }, + "readabilityRules": { + "allowBuiltInTypeAliases": true + } + } +}