diff --git a/.editorconfig b/.editorconfig index 5260692..13d0efd 100644 --- a/.editorconfig +++ b/.editorconfig @@ -37,7 +37,7 @@ csharp_style_var_for_built_in_types = true:warning csharp_style_var_when_type_is_apparent = true:warning csharp_style_var_elsewhere = true:suggestion csharp_style_expression_bodied_methods = true:suggestion -csharp_style_expression_bodied_constructors = true:suggestion +csharp_style_expression_bodied_constructors = false:suggestion csharp_style_expression_bodied_operators = true:suggestion csharp_style_expression_bodied_properties = true:suggestion csharp_style_expression_bodied_indexers = true:suggestion diff --git a/.sonarlint/Cake.Transifex.slconfig b/.sonarlint/Cake.Transifex.slconfig new file mode 100644 index 0000000..cce35ed --- /dev/null +++ b/.sonarlint/Cake.Transifex.slconfig @@ -0,0 +1,15 @@ +{ + "ServerUri": "https://sonarcloud.io/", + "Organization": { + "Key": "cake-contrib", + "Name": "Cake Contributions" + }, + "ProjectKey": "Cake.Transifex", + "ProjectName": "Cake.Transifex", + "Profiles": { + "CSharp": { + "ProfileKey": "AW-AWl5fQ1MkeF54Xi90", + "ProfileTimestamp": "2020-01-07T15:13:24+01:00" + } + } +} diff --git a/.sonarlint/cake.transifexcsharp.ruleset b/.sonarlint/cake.transifexcsharp.ruleset new file mode 100644 index 0000000..875bd56 --- /dev/null +++ b/.sonarlint/cake.transifexcsharp.ruleset @@ -0,0 +1,394 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Cake.Transifex.Tests/TransifexInitRunnerTests.cs b/src/Cake.Transifex.Tests/TransifexInitRunnerTests.cs index 15eda2d..70808e3 100644 --- a/src/Cake.Transifex.Tests/TransifexInitRunnerTests.cs +++ b/src/Cake.Transifex.Tests/TransifexInitRunnerTests.cs @@ -9,7 +9,9 @@ public class TransifexInitRunnerTests private readonly TransifexInitFixture fixture; public TransifexInitRunnerTests() - => this.fixture = new TransifexInitFixture(); + { + this.fixture = new TransifexInitFixture(); + } [Theory] [InlineData(null)] diff --git a/src/Cake.Transifex.Tests/TransifexPullRunnerTests.cs b/src/Cake.Transifex.Tests/TransifexPullRunnerTests.cs index 0d88e91..80411ea 100644 --- a/src/Cake.Transifex.Tests/TransifexPullRunnerTests.cs +++ b/src/Cake.Transifex.Tests/TransifexPullRunnerTests.cs @@ -1,4 +1,4 @@ -namespace Cake.Transifex.Tests +namespace Cake.Transifex.Tests { using Shouldly; using Xunit; @@ -8,7 +8,9 @@ public class TransifexPullRunnerTests private readonly TransifexPullFixture fixture; public TransifexPullRunnerTests() - => fixture = new TransifexPullFixture(); + { + fixture = new TransifexPullFixture(); + } [Theory] [InlineData(null)] diff --git a/src/Cake.Transifex.Tests/TransifexPushRunnerTests.cs b/src/Cake.Transifex.Tests/TransifexPushRunnerTests.cs index 4aa26dc..7035770 100644 --- a/src/Cake.Transifex.Tests/TransifexPushRunnerTests.cs +++ b/src/Cake.Transifex.Tests/TransifexPushRunnerTests.cs @@ -1,4 +1,4 @@ -namespace Cake.Transifex.Tests +namespace Cake.Transifex.Tests { using Shouldly; using Xunit; @@ -8,7 +8,9 @@ public class TransifexPushRunnerTests private readonly TransifexPushFixture fixture; public TransifexPushRunnerTests() - => fixture = new TransifexPushFixture(); + { + fixture = new TransifexPushFixture(); + } [Theory] [InlineData(null)] diff --git a/src/Cake.Transifex.Tests/TransifexStatusRunnerTests.cs b/src/Cake.Transifex.Tests/TransifexStatusRunnerTests.cs index bdd7c7b..3b101c3 100644 --- a/src/Cake.Transifex.Tests/TransifexStatusRunnerTests.cs +++ b/src/Cake.Transifex.Tests/TransifexStatusRunnerTests.cs @@ -1,4 +1,4 @@ -namespace Cake.Transifex.Tests +namespace Cake.Transifex.Tests { using Shouldly; using Xunit; @@ -8,7 +8,9 @@ public class TransifexStatusRunnerTests private readonly TransifexStatusFixture fixture; public TransifexStatusRunnerTests() - => fixture = new TransifexStatusFixture(); + { + fixture = new TransifexStatusFixture(); + } [Theory] [InlineData(null)] diff --git a/src/Cake.Transifex/AssemblyInfo.cs b/src/Cake.Transifex/AssemblyInfo.cs index d74e7f7..a3d6b62 100644 --- a/src/Cake.Transifex/AssemblyInfo.cs +++ b/src/Cake.Transifex/AssemblyInfo.cs @@ -1,3 +1,7 @@ -using System.Runtime.CompilerServices; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; [assembly: InternalsVisibleTo("Cake.Transifex.Tests")] +[assembly: CLSCompliant(true)] +[assembly: ComVisible(false)] diff --git a/src/Cake.Transifex/Cake.Transifex.csproj b/src/Cake.Transifex/Cake.Transifex.csproj index 57ebfa6..672e58e 100644 --- a/src/Cake.Transifex/Cake.Transifex.csproj +++ b/src/Cake.Transifex/Cake.Transifex.csproj @@ -1,6 +1,7 @@ - + netstandard2.0 + en-GB bin\$(Configuration)\$(TargetFramework)\Cake.Transifex.xml @@ -28,11 +29,13 @@ To install the transifex client, install python, then run `pip install transifex False True + Cake.Transifex.ruleset True True + Cake.Transifex.ruleset diff --git a/src/Cake.Transifex/Cake.Transifex.ruleset b/src/Cake.Transifex/Cake.Transifex.ruleset new file mode 100644 index 0000000..85937e6 --- /dev/null +++ b/src/Cake.Transifex/Cake.Transifex.ruleset @@ -0,0 +1,4 @@ + + + + diff --git a/src/Cake.Transifex/GlobalSuppressions.cs b/src/Cake.Transifex/GlobalSuppressions.cs new file mode 100644 index 0000000..a575828 --- /dev/null +++ b/src/Cake.Transifex/GlobalSuppressions.cs @@ -0,0 +1,8 @@ +// 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. + +[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Minor Code Smell", "S4018:Generic methods should provide type parameters", Justification = "We have this for convinience", Scope = "member", Target = "~M:Cake.Transifex.TransifexRunnerSettings.GetValue``1(System.String)~``0")] +[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Minor Code Smell", "S4040:Strings should be normalized to uppercase", Justification = "Transifex expects it to be lowercase", Scope = "member", Target = "~M:Cake.Transifex.TransifexRunner.SetArguments(Cake.Core.IO.ProcessArgumentBuilder,Cake.Transifex.TransifexRunnerSettings)")] +[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Blocker Vulnerability", "S2068:Credentials should not be hard-coded", Justification = "Credential is not hard coded in library", Scope = "member", Target = "~F:Cake.Transifex.TransifexInitSettings.PasswordKey")] diff --git a/src/Cake.Transifex/TransifexRunner.cs b/src/Cake.Transifex/TransifexRunner.cs index ca23e37..d61ac4d 100644 --- a/src/Cake.Transifex/TransifexRunner.cs +++ b/src/Cake.Transifex/TransifexRunner.cs @@ -50,7 +50,7 @@ public ITransifexRunnerCommands Push(TransifexPushSettings settings) public ITransifexRunnerCommands Status(string resources) { - var settings = new TransifexStatusSettings() + var settings = new TransifexStatusSettings { Resources = resources }; diff --git a/src/Cake.Transifex/TransifexRunnerAliases.cs b/src/Cake.Transifex/TransifexRunnerAliases.cs index 1583059..91d1d97 100644 --- a/src/Cake.Transifex/TransifexRunnerAliases.cs +++ b/src/Cake.Transifex/TransifexRunnerAliases.cs @@ -28,9 +28,9 @@ public static class TransifexRunnerAliases /// ]]> /// /// - /// - /// Initial creation - /// + /// + /// Initial creation + /// public static void TransifexInit(this ICakeContext context) => TransifexInit(context, null);