diff --git a/SonarLint.VisualStudio.Integration.sln b/SonarLint.VisualStudio.Integration.sln index 47444fb35b..4d4efdb998 100644 --- a/SonarLint.VisualStudio.Integration.sln +++ b/SonarLint.VisualStudio.Integration.sln @@ -168,6 +168,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "VsAnalyzerConfig", "VsAnaly src\vs-threading.MainThreadSwitchingMethods.txt = src\vs-threading.MainThreadSwitchingMethods.txt EndProjectSection EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SLCore", "SLCore", "{236587E8-62A7-4E4E-815D-A50433859DC7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SLCore", "src\SLCore\SLCore.csproj", "{4A5A716B-54E7-4F85-9340-2CB0827A6253}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SLCore.UnitTests", "src\SLCore.UnitTests\SLCore.UnitTests.csproj", "{72C861AC-2CAB-46C0-9A9E-06096F589395}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -496,6 +502,22 @@ Global {4F5AE2A8-56DD-44EC-9872-B7884CC1C1DB}.Release|Any CPU.Build.0 = Release|Any CPU {4F5AE2A8-56DD-44EC-9872-B7884CC1C1DB}.Release|x86.ActiveCfg = Release|Any CPU {4F5AE2A8-56DD-44EC-9872-B7884CC1C1DB}.Release|x86.Build.0 = Release|Any CPU + {4A5A716B-54E7-4F85-9340-2CB0827A6253}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4A5A716B-54E7-4F85-9340-2CB0827A6253}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4A5A716B-54E7-4F85-9340-2CB0827A6253}.Debug|x86.ActiveCfg = Debug|Any CPU + {4A5A716B-54E7-4F85-9340-2CB0827A6253}.Debug|x86.Build.0 = Debug|Any CPU + {4A5A716B-54E7-4F85-9340-2CB0827A6253}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4A5A716B-54E7-4F85-9340-2CB0827A6253}.Release|Any CPU.Build.0 = Release|Any CPU + {4A5A716B-54E7-4F85-9340-2CB0827A6253}.Release|x86.ActiveCfg = Release|Any CPU + {4A5A716B-54E7-4F85-9340-2CB0827A6253}.Release|x86.Build.0 = Release|Any CPU + {72C861AC-2CAB-46C0-9A9E-06096F589395}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {72C861AC-2CAB-46C0-9A9E-06096F589395}.Debug|Any CPU.Build.0 = Debug|Any CPU + {72C861AC-2CAB-46C0-9A9E-06096F589395}.Debug|x86.ActiveCfg = Debug|Any CPU + {72C861AC-2CAB-46C0-9A9E-06096F589395}.Debug|x86.Build.0 = Debug|Any CPU + {72C861AC-2CAB-46C0-9A9E-06096F589395}.Release|Any CPU.ActiveCfg = Release|Any CPU + {72C861AC-2CAB-46C0-9A9E-06096F589395}.Release|Any CPU.Build.0 = Release|Any CPU + {72C861AC-2CAB-46C0-9A9E-06096F589395}.Release|x86.ActiveCfg = Release|Any CPU + {72C861AC-2CAB-46C0-9A9E-06096F589395}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -546,6 +568,8 @@ Global {EE7F939B-7127-433C-80CD-5DB278361229} = {32F0945C-72D0-4116-95D5-F9EE2177D51B} {4F5AE2A8-56DD-44EC-9872-B7884CC1C1DB} = {32F0945C-72D0-4116-95D5-F9EE2177D51B} {682C440B-E506-4811-9569-9734D8DF4620} = {A4C88C9A-7C47-47FE-8AB6-8D7588D05EF1} + {4A5A716B-54E7-4F85-9340-2CB0827A6253} = {236587E8-62A7-4E4E-815D-A50433859DC7} + {72C861AC-2CAB-46C0-9A9E-06096F589395} = {236587E8-62A7-4E4E-815D-A50433859DC7} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {DABC27C8-E761-4826-AD2D-056F677EF3C0} diff --git a/src/CFamily.UnitTests/packages.lock.json b/src/CFamily.UnitTests/packages.lock.json index 2de4eac355..cdbd31ded8 100644 --- a/src/CFamily.UnitTests/packages.lock.json +++ b/src/CFamily.UnitTests/packages.lock.json @@ -1554,6 +1554,7 @@ "SonarLint.VisualStudio.ProgressVS": "[1.0.0, )", "SonarLint.VisualStudio.Roslyn.Suppressions": "[1.0.0, )", "SonarLint.VisualStudio.Rules": "[1.0.0, )", + "SonarLint.VisualStudio.SLCore": "[1.0.0, )", "SonarLint.VisualStudio.TypeScript": "[1.0.0, )", "SonarQube.Client": "[1.0.0, )", "System.IO.Abstractions": "[9.0.4, )", @@ -1713,6 +1714,9 @@ "SonarLint.VisualStudio.Core": "[1.0.0, )" } }, + "SonarLint.VisualStudio.SLCore": { + "type": "Project" + }, "SonarLint.VisualStudio.TypeScript": { "type": "Project", "dependencies": { diff --git a/src/Integration.Vsix.UnitTests/packages.lock.json b/src/Integration.Vsix.UnitTests/packages.lock.json index 6785bbf5c5..f1d786148f 100644 --- a/src/Integration.Vsix.UnitTests/packages.lock.json +++ b/src/Integration.Vsix.UnitTests/packages.lock.json @@ -1565,6 +1565,7 @@ "SonarLint.VisualStudio.ProgressVS": "[1.0.0, )", "SonarLint.VisualStudio.Roslyn.Suppressions": "[1.0.0, )", "SonarLint.VisualStudio.Rules": "[1.0.0, )", + "SonarLint.VisualStudio.SLCore": "[1.0.0, )", "SonarLint.VisualStudio.TypeScript": "[1.0.0, )", "SonarQube.Client": "[1.0.0, )", "System.IO.Abstractions": "[9.0.4, )", @@ -1724,6 +1725,9 @@ "SonarLint.VisualStudio.Core": "[1.0.0, )" } }, + "SonarLint.VisualStudio.SLCore": { + "type": "Project" + }, "SonarLint.VisualStudio.TypeScript": { "type": "Project", "dependencies": { diff --git a/src/Integration.Vsix/AsmRef_Integration.Vsix_Baseline_WithStrongNames.txt b/src/Integration.Vsix/AsmRef_Integration.Vsix_Baseline_WithStrongNames.txt index 85c7e60fd1..e9b5c3d134 100644 --- a/src/Integration.Vsix/AsmRef_Integration.Vsix_Baseline_WithStrongNames.txt +++ b/src/Integration.Vsix/AsmRef_Integration.Vsix_Baseline_WithStrongNames.txt @@ -1,7 +1,7 @@ --- ################################ # Assembly references report -# Report date/time: 2023-12-19T13:38:36.4345675Z +# Report date/time: 2023-12-22T12:01:41.1379104Z ################################ # # Generated by Devtility CheckAsmRefs v0.11.0.223 @@ -19,12 +19,12 @@ # ################################ -# Base directory: D:\a\1\s\src\Integration.Vsix\bin\Release\VS2022\net472 +# Base directory: C:\Code\sonarlint-visualstudio\src\Integration.Vsix\bin\Release\VS2022\net472 Include patterns: - 'Sonar*' Exclude patterns: - 'SonarLint.Secrets.DotNet*' -# Number of matches: 21 +# Number of matches: 22 --- Assembly: 'SonarAnalyzer.CFG, Version=9.15.0.0, Culture=neutral, PublicKeyToken=c5b62af9de6d7244' @@ -439,6 +439,14 @@ Referenced assemblies: - 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' # Number of references: 7 +--- +Assembly: 'SonarLint.VisualStudio.SLCore, Version=7.6.0.0, Culture=neutral, PublicKeyToken=c5b62af9de6d7244' +Relative path: 'SonarLint.VisualStudio.SLCore.dll' + +Referenced assemblies: +- 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' +# Number of references: 1 + --- Assembly: 'SonarLint.VisualStudio.TypeScript, Version=7.6.0.0, Culture=neutral, PublicKeyToken=c5b62af9de6d7244' Relative path: 'SonarLint.VisualStudio.TypeScript.dll' diff --git a/src/Integration.Vsix/AsmRef_Integration.Vsix_Baseline_WithoutStrongNames.txt b/src/Integration.Vsix/AsmRef_Integration.Vsix_Baseline_WithoutStrongNames.txt index 218e3d51e3..09405f38df 100644 --- a/src/Integration.Vsix/AsmRef_Integration.Vsix_Baseline_WithoutStrongNames.txt +++ b/src/Integration.Vsix/AsmRef_Integration.Vsix_Baseline_WithoutStrongNames.txt @@ -1,7 +1,7 @@ --- ################################ # Assembly references report -# Report date/time: 2023-12-19T13:38:36.4345675Z +# Report date/time: 2023-12-22T12:01:41.1379104Z ################################ # # Generated by Devtility CheckAsmRefs v0.11.0.223 @@ -19,12 +19,12 @@ # ################################ -# Base directory: D:\a\1\s\src\Integration.Vsix\bin\Release\VS2022\net472 +# Base directory: C:\Code\sonarlint-visualstudio\src\Integration.Vsix\bin\Release\VS2022\net472 Include patterns: - 'Sonar*' Exclude patterns: - 'SonarLint.Secrets.DotNet*' -# Number of matches: 21 +# Number of matches: 22 --- Assembly: 'SonarAnalyzer.CFG, Version=9.15.0.0, Culture=neutral, PublicKeyToken=c5b62af9de6d7244' @@ -439,6 +439,14 @@ Referenced assemblies: - 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' # Number of references: 7 +--- +Assembly: 'SonarLint.VisualStudio.SLCore, Version=7.6.0.0, Culture=neutral, PublicKeyToken=null' +Relative path: 'SonarLint.VisualStudio.SLCore.dll' + +Referenced assemblies: +- 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' +# Number of references: 1 + --- Assembly: 'SonarLint.VisualStudio.TypeScript, Version=7.6.0.0, Culture=neutral, PublicKeyToken=null' Relative path: 'SonarLint.VisualStudio.TypeScript.dll' diff --git a/src/Integration.Vsix/Integration.Vsix.csproj b/src/Integration.Vsix/Integration.Vsix.csproj index 9e93882d5a..4bdc5af474 100644 --- a/src/Integration.Vsix/Integration.Vsix.csproj +++ b/src/Integration.Vsix/Integration.Vsix.csproj @@ -247,6 +247,12 @@ BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b DebugSymbolsProjectOutputGroup%3b + + {61B97D2B-8C79-41CD-AD7F-1F2E4AB6EED1} + SLCore + BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3b + DebugSymbolsProjectOutputGroup%3b + diff --git a/src/Integration.Vsix/packages.lock.json b/src/Integration.Vsix/packages.lock.json index 3bdcbcb7c8..fc3eff6c80 100644 --- a/src/Integration.Vsix/packages.lock.json +++ b/src/Integration.Vsix/packages.lock.json @@ -1665,6 +1665,9 @@ "SonarLint.VisualStudio.Core": "[1.0.0, )" } }, + "SonarLint.VisualStudio.SLCore": { + "type": "Project" + }, "SonarLint.VisualStudio.TypeScript": { "type": "Project", "dependencies": { diff --git a/src/SLCore.UnitTests/SLCore.UnitTests.csproj b/src/SLCore.UnitTests/SLCore.UnitTests.csproj new file mode 100644 index 0000000000..2ed713bcda --- /dev/null +++ b/src/SLCore.UnitTests/SLCore.UnitTests.csproj @@ -0,0 +1,15 @@ + + + + + + {72C861AC-2CAB-46C0-9A9E-06096F589395} + SonarLint.VisualStudio.SLCore.UnitTests + SonarLint.VisualStudio.SLCore.UnitTests + + + + + + + diff --git a/src/SLCore.UnitTests/Usings.cs b/src/SLCore.UnitTests/Usings.cs new file mode 100644 index 0000000000..9e32df6e25 --- /dev/null +++ b/src/SLCore.UnitTests/Usings.cs @@ -0,0 +1,23 @@ +/* + * SonarLint for Visual Studio + * Copyright (C) 2016-2023 SonarSource SA + * mailto:info AT sonarsource DOT com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +global using Microsoft.VisualStudio.TestTools.UnitTesting; +global using Moq; +global using FluentAssertions; diff --git a/src/SLCore.UnitTests/packages.lock.json b/src/SLCore.UnitTests/packages.lock.json new file mode 100644 index 0000000000..f1c5d1acb7 --- /dev/null +++ b/src/SLCore.UnitTests/packages.lock.json @@ -0,0 +1,76 @@ +{ + "version": 1, + "dependencies": { + ".NETFramework,Version=v4.8": { + "FluentAssertions": { + "type": "Direct", + "requested": "[5.9.0, )", + "resolved": "5.9.0", + "contentHash": "JZxb5DuspmuH4A5p9bfj060evQnwIUkxxfFMG9F/pa7gl1Ry2r2nuQbu5G4UWGQQTtpTxPpVowqNDdBkA0G2Mw==" + }, + "FluentAssertions.Analyzers": { + "type": "Direct", + "requested": "[0.11.4, )", + "resolved": "0.11.4", + "contentHash": "zSCkwOgc5OyfMfEeMr9x0K7WCDf8i6VdF2RtCLN/4m6iebTtJQdeoJ9IS4/RyYHuLUYjrm0sd+siWbaSvSzRYQ==" + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[16.6.1, )", + "resolved": "16.6.1", + "contentHash": "zYAjfWzpxKb64P9ntReT1Xr8HdONZnpLVs12HIjXWo+UOCDpevP1UWRoaAgNysaD1/l3teBKvgbSeG9bRssfOQ==", + "dependencies": { + "Microsoft.CodeCoverage": "16.6.1" + } + }, + "Moq": { + "type": "Direct", + "requested": "[4.18.2, )", + "resolved": "4.18.2", + "contentHash": "SjxKYS5nX6prcaT8ZjbkONh3vnh0Rxru09+gQ1a07v4TM530Oe/jq3Q4dOZPfo1wq0LYmTgLOZKrqRfEx4auPw==", + "dependencies": { + "Castle.Core": "5.1.0", + "System.Threading.Tasks.Extensions": "4.5.4" + } + }, + "MSTest.TestAdapter": { + "type": "Direct", + "requested": "[1.4.0, )", + "resolved": "1.4.0", + "contentHash": "t2/rL9DG+cVAgPs98OGm2sbZ4FTgn+MGEan5P9NRAgqMV3+nYRKG7/5R0jY7lBMq9ISms+84MSqTHWs6QnPt4A==" + }, + "MSTest.TestFramework": { + "type": "Direct", + "requested": "[1.4.0, )", + "resolved": "1.4.0", + "contentHash": "kV/yZ0XLiOElsVeLT0GnNrsoKcPvVNOP6Cv2zkAiceJY0rpro0L+3t54bRApLwTg1mxlo4rLziBG7X6X69KcrQ==" + }, + "Castle.Core": { + "type": "Transitive", + "resolved": "5.1.0", + "contentHash": "31UJpTHOiWq95CDOHazE3Ub/hE/PydNWsJMwnEVTqFFP4WhAugwpaVGxzOxKgNeSUUeqS2W6lxV+q7u1pAOfXg==" + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "16.6.1", + "contentHash": "nBYXDgAZCfjsOVzlhMB5olGvX4dTDWB/gWaYS/MhgXBcCz8XJuVGqkfK8LmwlBR/eeUPE9Q/NFZNwlJyMZf0vg==" + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "4.5.3", + "contentHash": "3TIsJhD1EiiT0w2CcDMN/iSSwnNnsrnbzeVHSKkaEgV85txMprmuO+Yq2AdSbeVGcg28pdNDTPK87tJhX7VFHw==" + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.5.4", + "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "4.5.3" + } + }, + "SonarLint.VisualStudio.SLCore": { + "type": "Project" + } + } + } +} \ No newline at end of file diff --git a/src/SLCore/SLCore.csproj b/src/SLCore/SLCore.csproj new file mode 100644 index 0000000000..b892a095f4 --- /dev/null +++ b/src/SLCore/SLCore.csproj @@ -0,0 +1,11 @@ + + + + + + {4A5A716B-54E7-4F85-9340-2CB0827A6253} + SonarLint.VisualStudio.SLCore + SonarLint.VisualStudio.SLCore + + + diff --git a/src/SLCore/packages.lock.json b/src/SLCore/packages.lock.json new file mode 100644 index 0000000000..c3bb9b2bd7 --- /dev/null +++ b/src/SLCore/packages.lock.json @@ -0,0 +1,6 @@ +{ + "version": 1, + "dependencies": { + ".NETFramework,Version=v4.7.2": {} + } +} \ No newline at end of file