diff --git a/.gitignore b/.gitignore
index 8a55ba924b..041e263d3d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -170,3 +170,4 @@ $RECYCLE.BIN/
/build/DownloadDependencies/tmp
/**/launchSettings.json
/src/Rules/Embedded
+/src/Integration.Vsix/DownloadedJars
\ No newline at end of file
diff --git a/SonarLint.VisualStudio.Integration.sln b/SonarLint.VisualStudio.Integration.sln
index c4497bdef3..dce2d2939c 100644
--- a/SonarLint.VisualStudio.Integration.sln
+++ b/SonarLint.VisualStudio.Integration.sln
@@ -6,6 +6,7 @@ MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Integration.Vsix", "src\Integration.Vsix\Integration.Vsix.csproj", "{FF2AD819-28F4-493A-8E9B-1D3F16BD4689}"
ProjectSection(ProjectDependencies) = postProject
{0E50D9A0-693D-4B4E-81E2-8B8028231CFA} = {0E50D9A0-693D-4B4E-81E2-8B8028231CFA}
+ {2BB16C6F-BF06-4225-99A0-F1CFE70CBE44} = {2BB16C6F-BF06-4225-99A0-F1CFE70CBE44}
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Integration", "src\Integration\Integration.csproj", "{03278C1A-EE78-4FA7-A5B0-1AB0A81EA76F}"
@@ -167,7 +168,14 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SLCore.Listeners", "src\SLC
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SLCore.Listeners.UnitTests", "src\SLCore.Listeners.UnitTests\SLCore.Listeners.UnitTests.csproj", "{23321F44-DE37-4801-96BB-BC8E3CCFC7F1}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SLCore.IntegrationTests", "src\SLCore.IntegrationTests\SLCore.IntegrationTests.csproj", "{1625398B-2343-481E-9B90-57B38EBEE8C5}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SLCore.IntegrationTests", "src\SLCore.IntegrationTests\SLCore.IntegrationTests.csproj", "{1625398B-2343-481E-9B90-57B38EBEE8C5}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CopyDependencies", "CopyDependencies", "{421D8026-2CBF-4444-A886-67428C1813E9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CopyDependencies", "build\CopyDependencies\CopyDependencies.csproj", "{2BB16C6F-BF06-4225-99A0-F1CFE70CBE44}"
+ ProjectSection(ProjectDependencies) = postProject
+ {3ECCAF9D-3B23-4980-83E2-8ACEE0FC6BEB} = {3ECCAF9D-3B23-4980-83E2-8ACEE0FC6BEB}
+ EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -513,6 +521,14 @@ Global
{1625398B-2343-481E-9B90-57B38EBEE8C5}.Release|Any CPU.Build.0 = Release|Any CPU
{1625398B-2343-481E-9B90-57B38EBEE8C5}.Release|x86.ActiveCfg = Release|Any CPU
{1625398B-2343-481E-9B90-57B38EBEE8C5}.Release|x86.Build.0 = Release|Any CPU
+ {2BB16C6F-BF06-4225-99A0-F1CFE70CBE44}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {2BB16C6F-BF06-4225-99A0-F1CFE70CBE44}.Debug|Any CPU.Build.0 = Debug|x86
+ {2BB16C6F-BF06-4225-99A0-F1CFE70CBE44}.Debug|x86.ActiveCfg = Debug|x86
+ {2BB16C6F-BF06-4225-99A0-F1CFE70CBE44}.Debug|x86.Build.0 = Debug|x86
+ {2BB16C6F-BF06-4225-99A0-F1CFE70CBE44}.Release|Any CPU.ActiveCfg = Debug|x86
+ {2BB16C6F-BF06-4225-99A0-F1CFE70CBE44}.Release|Any CPU.Build.0 = Debug|x86
+ {2BB16C6F-BF06-4225-99A0-F1CFE70CBE44}.Release|x86.ActiveCfg = Debug|x86
+ {2BB16C6F-BF06-4225-99A0-F1CFE70CBE44}.Release|x86.Build.0 = Debug|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -565,6 +581,8 @@ Global
{8523D19D-1760-4608-9A4F-3A9353279A16} = {236587E8-62A7-4E4E-815D-A50433859DC7}
{23321F44-DE37-4801-96BB-BC8E3CCFC7F1} = {236587E8-62A7-4E4E-815D-A50433859DC7}
{1625398B-2343-481E-9B90-57B38EBEE8C5} = {236587E8-62A7-4E4E-815D-A50433859DC7}
+ {421D8026-2CBF-4444-A886-67428C1813E9} = {E93C2CF9-69A6-4669-BE8A-6060B18FEDCA}
+ {2BB16C6F-BF06-4225-99A0-F1CFE70CBE44} = {421D8026-2CBF-4444-A886-67428C1813E9}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {DABC27C8-E761-4826-AD2D-056F677EF3C0}
diff --git a/build/CopyDependencies/CommonMSBuild.targets b/build/CopyDependencies/CommonMSBuild.targets
new file mode 100644
index 0000000000..39e4e887d2
--- /dev/null
+++ b/build/CopyDependencies/CommonMSBuild.targets
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/CopyDependencies/CopyDependencies.csproj b/build/CopyDependencies/CopyDependencies.csproj
new file mode 100644
index 0000000000..e59b19f91d
--- /dev/null
+++ b/build/CopyDependencies/CopyDependencies.csproj
@@ -0,0 +1,11 @@
+
+
+ {2BB16C6F-BF06-4225-99A0-F1CFE70CBE44}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build/CopyDependencies/CopyDependencies.targets b/build/CopyDependencies/CopyDependencies.targets
new file mode 100644
index 0000000000..7fff16d973
--- /dev/null
+++ b/build/CopyDependencies/CopyDependencies.targets
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+ $(LOCALAPPDATA)\SLVS_Build_DownloadedJars
+ ..\..\src\Integration.Vsix\DownloadedJars
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Integration.Vsix/Integration.Vsix.csproj b/src/Integration.Vsix/Integration.Vsix.csproj
index f317f4ff83..882fc4be79 100644
--- a/src/Integration.Vsix/Integration.Vsix.csproj
+++ b/src/Integration.Vsix/Integration.Vsix.csproj
@@ -280,7 +280,13 @@
true
THIRD-PARTY-NOTICES
+
+
+
+ True
+ $(JarsFolderName)
+
@@ -388,6 +394,7 @@
https://binaries.sonarsource.com/CommercialDistribution/sonar-cfamily-plugin/sonar-cfamily-plugin-$(EmbeddedSonarCFamilyAnalyzerVersion).jar
lib
+ DownloadedJars
$(MSBuildThisFileDirectory)$(CFamilyFolderName)
@@ -565,5 +572,5 @@
-
+
diff --git a/src/Integration.Vsix/packages.lock.json b/src/Integration.Vsix/packages.lock.json
index 78dc787b20..22c0353ad2 100644
--- a/src/Integration.Vsix/packages.lock.json
+++ b/src/Integration.Vsix/packages.lock.json
@@ -1533,6 +1533,9 @@
"Microsoft.VisualStudio.Interop": "17.0.31902.203"
}
},
+ "copydependencies": {
+ "type": "Project"
+ },
"SonarLint.VisualStudio.CFamily": {
"type": "Project",
"dependencies": {