Files
sqltoolsservice/sqltoolsservice.sln
Kevin Cunnane ac64ac063b Port Azure code from SSDT to the tools service (#477)
Porting of the vast majority of Azure-related code from SSDT. This is very large, so I want to put this out as one large "lift and shift" PR before I do the tools-service specific JSON-RPC service handlers, connect a new account handler (as the code to get necessary info from accounts and subscriptions isn't fully complete) and add tests over these

**What's in this PR**:

- Created 3 new projects:
  - Microsoft.SqlTools.ResourceProvider will host the executable that accepts requests for Azure-related actions over the JSON-RPC protocol. This must be separate from other DLLs since a direct dependency on the Azure SDK DLLs fails (they're NetStandard 1.4 and you can't reference them if you have RuntimeIdentifiers in your .csproj file)
  - Microsoft.SqlTools.ResourceProvider.Core is where all the main business logic is, including definitions and logic on how to navigate over resources and create firewall rules, etc.
  - Microsoft.SqlTools.ResourceProvider.DefaultImpl is the actual Azure implementation of the resource provider APIs. The reason for separating this is to support eventual integration back into other tools (since their Azure and Identity services will be different).
- Implemented the AzureResourceManager that connects to Azure via ARM APIs and handles creating firewall rule and querying databases. The dependent DLLs have had major breaking changes, so will need additional verification to ensure this works as expected
- Ported the unit tests for all code that was not a viewmodel. Viewmodel test code will be ported in a future update as we plumb through a service-equivalent to these. Also, the DependencyManager code which has overlap with our service provider code is commented out. Will work to uncomment in a future update as it has value to test some scenarios

**What's not in this PR**:
- Identity Services. We currently just have a stub for the interface, and even that will likely change a little
- anything JSON-RPC or registered service related. These will be adapted from the viewmodels and added in a separate PR
2017-10-04 12:37:20 -07:00

198 lines
14 KiB
Plaintext

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26730.16
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{2BBD7364-054F-4693-97CD-1C395E3E84A9}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{AB9CA2B8-6F70-431C-8A1D-67479D8A7BE4}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{32DC973E-9EEA-4694-B1C2-B031167AB945}"
ProjectSection(SolutionItems) = preProject
.gitignore = .gitignore
.mention-bot = .mention-bot
.travis.yml = .travis.yml
appveyor.yml = appveyor.yml
BUILD.md = BUILD.md
global.json = global.json
license.txt = license.txt
nuget.config = nuget.config
README.md = README.md
RefreshDllsForTestRun.cmd = RefreshDllsForTestRun.cmd
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripts", "scripts", "{B7D21727-2926-452B-9610-3ADB0BB6D789}"
ProjectSection(SolutionItems) = preProject
scripts\archiving.cake = scripts\archiving.cake
scripts\artifacts.cake = scripts\artifacts.cake
scripts\cake-bootstrap.ps1 = scripts\cake-bootstrap.ps1
scripts\cake-bootstrap.sh = scripts\cake-bootstrap.sh
scripts\packages.config = scripts\packages.config
scripts\runhelpers.cake = scripts\runhelpers.cake
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{F9978D78-78FE-4E92-A7D6-D436B7683EF6}"
ProjectSection(SolutionItems) = preProject
build.cake = build.cake
build.cmd = build.cmd
build.json = build.json
build.ps1 = build.ps1
build.sh = build.sh
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CodeCoverage", "CodeCoverage", "{87D9C7D9-18F4-4AB9-B20D-66C02B6075E2}"
ProjectSection(SolutionItems) = preProject
test\CodeCoverage\codecoverage.bat = test\CodeCoverage\codecoverage.bat
test\CodeCoverage\gulpfile.js = test\CodeCoverage\gulpfile.js
test\CodeCoverage\nuget.config = test\CodeCoverage\nuget.config
test\CodeCoverage\package.json = test\CodeCoverage\package.json
test\CodeCoverage\packages.config = test\CodeCoverage\packages.config
test\CodeCoverage\ReplaceText.vbs = test\CodeCoverage\ReplaceText.vbs
test\CodeCoverage\runintegration.bat = test\CodeCoverage\runintegration.bat
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.SqlTools.Credentials", "src\Microsoft.SqlTools.Credentials\Microsoft.SqlTools.Credentials.csproj", "{0F761F76-E0F3-472E-B539-1815CE2BC696}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.SqlTools.Hosting", "src\Microsoft.SqlTools.Hosting\Microsoft.SqlTools.Hosting.csproj", "{AAE1F8D1-F7AB-4ABE-A55B-D423393AB352}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.SqlTools.ServiceLayer", "src\Microsoft.SqlTools.ServiceLayer\Microsoft.SqlTools.ServiceLayer.csproj", "{835EDEB4-289B-4D6D-A9A0-609E43A87D6E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.SqlTools.ServiceLayer.UnitTests", "test\Microsoft.SqlTools.ServiceLayer.UnitTests\Microsoft.SqlTools.ServiceLayer.UnitTests.csproj", "{F18471B5-2042-409D-BF2C-E5403C322DC9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.SqlTools.ServiceLayer.TestDriver", "test\Microsoft.SqlTools.ServiceLayer.TestDriver\Microsoft.SqlTools.ServiceLayer.TestDriver.csproj", "{4F250E56-F8B4-4E69-AECC-4D31EDD891E7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.SqlTools.ServiceLayer.Test.Common", "test\Microsoft.SqlTools.ServiceLayer.Test.Common\Microsoft.SqlTools.ServiceLayer.Test.Common.csproj", "{8339991B-6D11-45A4-87D0-DF3322198990}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.SqlTools.ServiceLayer.IntegrationTests", "test\Microsoft.SqlTools.ServiceLayer.IntegrationTests\Microsoft.SqlTools.ServiceLayer.IntegrationTests.csproj", "{16D4C526-A3DD-4B12-84F7-AB42D56C2FA4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.SqlTools.ServiceLayer.PerfTests", "test\Microsoft.SqlTools.ServiceLayer.PerfTests\Microsoft.SqlTools.ServiceLayer.PerfTests.csproj", "{E985A5AA-63E4-48DC-A6D8-D3953A50D7E3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.SqlTools.ServiceLayer.TestDriver.Tests", "test\Microsoft.SqlTools.ServiceLayer.TestDriver.Tests\Microsoft.SqlTools.ServiceLayer.TestDriver.Tests.csproj", "{501DB3B2-AF92-41CF-82F6-780F9C37C219}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.SqlTools.ServiceLayer.TestEnvConfig", "test\Microsoft.SqlTools.ServiceLayer.TestEnvConfig\Microsoft.SqlTools.ServiceLayer.TestEnvConfig.csproj", "{2C290C58-C98D-46B2-BCED-44D9B67F6D31}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.SqlTools.Serialization", "src\Microsoft.SqlTools.Serialization\Microsoft.SqlTools.Serialization.csproj", "{75E1A89F-9DF6-4DA3-9EF1-5FD966331E06}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.SqlTools.ResourceProvider", "src\Microsoft.SqlTools.ResourceProvider\Microsoft.SqlTools.ResourceProvider.csproj", "{6FEE7E14-8A1D-454E-8F7C-B63597801787}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.SqlTools.ResourceProvider.Core", "src\Microsoft.SqlTools.ResourceProvider.Core\Microsoft.SqlTools.ResourceProvider.Core.csproj", "{70E63BC1-2C82-41C0-89D6-272FD3C7B0C9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.SqlTools.ResourceProvider.DefaultImpl", "src\Microsoft.SqlTools.ResourceProvider.DefaultImpl\Microsoft.SqlTools.ResourceProvider.DefaultImpl.csproj", "{EFB39C03-F7D2-4E8D-BE51-09121CD71973}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Integration|Any CPU = Integration|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0F761F76-E0F3-472E-B539-1815CE2BC696}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0F761F76-E0F3-472E-B539-1815CE2BC696}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0F761F76-E0F3-472E-B539-1815CE2BC696}.Integration|Any CPU.ActiveCfg = Debug|Any CPU
{0F761F76-E0F3-472E-B539-1815CE2BC696}.Integration|Any CPU.Build.0 = Debug|Any CPU
{0F761F76-E0F3-472E-B539-1815CE2BC696}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0F761F76-E0F3-472E-B539-1815CE2BC696}.Release|Any CPU.Build.0 = Release|Any CPU
{AAE1F8D1-F7AB-4ABE-A55B-D423393AB352}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AAE1F8D1-F7AB-4ABE-A55B-D423393AB352}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AAE1F8D1-F7AB-4ABE-A55B-D423393AB352}.Integration|Any CPU.ActiveCfg = Debug|Any CPU
{AAE1F8D1-F7AB-4ABE-A55B-D423393AB352}.Integration|Any CPU.Build.0 = Debug|Any CPU
{AAE1F8D1-F7AB-4ABE-A55B-D423393AB352}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AAE1F8D1-F7AB-4ABE-A55B-D423393AB352}.Release|Any CPU.Build.0 = Release|Any CPU
{835EDEB4-289B-4D6D-A9A0-609E43A87D6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{835EDEB4-289B-4D6D-A9A0-609E43A87D6E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{835EDEB4-289B-4D6D-A9A0-609E43A87D6E}.Integration|Any CPU.ActiveCfg = Debug|Any CPU
{835EDEB4-289B-4D6D-A9A0-609E43A87D6E}.Integration|Any CPU.Build.0 = Debug|Any CPU
{835EDEB4-289B-4D6D-A9A0-609E43A87D6E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{835EDEB4-289B-4D6D-A9A0-609E43A87D6E}.Release|Any CPU.Build.0 = Release|Any CPU
{F18471B5-2042-409D-BF2C-E5403C322DC9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F18471B5-2042-409D-BF2C-E5403C322DC9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F18471B5-2042-409D-BF2C-E5403C322DC9}.Integration|Any CPU.ActiveCfg = Debug|Any CPU
{F18471B5-2042-409D-BF2C-E5403C322DC9}.Integration|Any CPU.Build.0 = Debug|Any CPU
{F18471B5-2042-409D-BF2C-E5403C322DC9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F18471B5-2042-409D-BF2C-E5403C322DC9}.Release|Any CPU.Build.0 = Release|Any CPU
{4F250E56-F8B4-4E69-AECC-4D31EDD891E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4F250E56-F8B4-4E69-AECC-4D31EDD891E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4F250E56-F8B4-4E69-AECC-4D31EDD891E7}.Integration|Any CPU.ActiveCfg = Debug|Any CPU
{4F250E56-F8B4-4E69-AECC-4D31EDD891E7}.Integration|Any CPU.Build.0 = Debug|Any CPU
{4F250E56-F8B4-4E69-AECC-4D31EDD891E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4F250E56-F8B4-4E69-AECC-4D31EDD891E7}.Release|Any CPU.Build.0 = Release|Any CPU
{8339991B-6D11-45A4-87D0-DF3322198990}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8339991B-6D11-45A4-87D0-DF3322198990}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8339991B-6D11-45A4-87D0-DF3322198990}.Integration|Any CPU.ActiveCfg = Debug|Any CPU
{8339991B-6D11-45A4-87D0-DF3322198990}.Integration|Any CPU.Build.0 = Debug|Any CPU
{8339991B-6D11-45A4-87D0-DF3322198990}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8339991B-6D11-45A4-87D0-DF3322198990}.Release|Any CPU.Build.0 = Release|Any CPU
{16D4C526-A3DD-4B12-84F7-AB42D56C2FA4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{16D4C526-A3DD-4B12-84F7-AB42D56C2FA4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{16D4C526-A3DD-4B12-84F7-AB42D56C2FA4}.Integration|Any CPU.ActiveCfg = Debug|Any CPU
{16D4C526-A3DD-4B12-84F7-AB42D56C2FA4}.Integration|Any CPU.Build.0 = Debug|Any CPU
{16D4C526-A3DD-4B12-84F7-AB42D56C2FA4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{16D4C526-A3DD-4B12-84F7-AB42D56C2FA4}.Release|Any CPU.Build.0 = Release|Any CPU
{E985A5AA-63E4-48DC-A6D8-D3953A50D7E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E985A5AA-63E4-48DC-A6D8-D3953A50D7E3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E985A5AA-63E4-48DC-A6D8-D3953A50D7E3}.Integration|Any CPU.ActiveCfg = Debug|Any CPU
{E985A5AA-63E4-48DC-A6D8-D3953A50D7E3}.Integration|Any CPU.Build.0 = Debug|Any CPU
{E985A5AA-63E4-48DC-A6D8-D3953A50D7E3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E985A5AA-63E4-48DC-A6D8-D3953A50D7E3}.Release|Any CPU.Build.0 = Release|Any CPU
{501DB3B2-AF92-41CF-82F6-780F9C37C219}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{501DB3B2-AF92-41CF-82F6-780F9C37C219}.Debug|Any CPU.Build.0 = Debug|Any CPU
{501DB3B2-AF92-41CF-82F6-780F9C37C219}.Integration|Any CPU.ActiveCfg = Debug|Any CPU
{501DB3B2-AF92-41CF-82F6-780F9C37C219}.Integration|Any CPU.Build.0 = Debug|Any CPU
{501DB3B2-AF92-41CF-82F6-780F9C37C219}.Release|Any CPU.ActiveCfg = Release|Any CPU
{501DB3B2-AF92-41CF-82F6-780F9C37C219}.Release|Any CPU.Build.0 = Release|Any CPU
{2C290C58-C98D-46B2-BCED-44D9B67F6D31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2C290C58-C98D-46B2-BCED-44D9B67F6D31}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2C290C58-C98D-46B2-BCED-44D9B67F6D31}.Integration|Any CPU.ActiveCfg = Debug|Any CPU
{2C290C58-C98D-46B2-BCED-44D9B67F6D31}.Integration|Any CPU.Build.0 = Debug|Any CPU
{2C290C58-C98D-46B2-BCED-44D9B67F6D31}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2C290C58-C98D-46B2-BCED-44D9B67F6D31}.Release|Any CPU.Build.0 = Release|Any CPU
{75E1A89F-9DF6-4DA3-9EF1-5FD966331E06}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{75E1A89F-9DF6-4DA3-9EF1-5FD966331E06}.Debug|Any CPU.Build.0 = Debug|Any CPU
{75E1A89F-9DF6-4DA3-9EF1-5FD966331E06}.Integration|Any CPU.ActiveCfg = Debug|Any CPU
{75E1A89F-9DF6-4DA3-9EF1-5FD966331E06}.Integration|Any CPU.Build.0 = Debug|Any CPU
{75E1A89F-9DF6-4DA3-9EF1-5FD966331E06}.Release|Any CPU.ActiveCfg = Release|Any CPU
{75E1A89F-9DF6-4DA3-9EF1-5FD966331E06}.Release|Any CPU.Build.0 = Release|Any CPU
{6FEE7E14-8A1D-454E-8F7C-B63597801787}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6FEE7E14-8A1D-454E-8F7C-B63597801787}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6FEE7E14-8A1D-454E-8F7C-B63597801787}.Integration|Any CPU.ActiveCfg = Debug|Any CPU
{6FEE7E14-8A1D-454E-8F7C-B63597801787}.Integration|Any CPU.Build.0 = Debug|Any CPU
{6FEE7E14-8A1D-454E-8F7C-B63597801787}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6FEE7E14-8A1D-454E-8F7C-B63597801787}.Release|Any CPU.Build.0 = Release|Any CPU
{70E63BC1-2C82-41C0-89D6-272FD3C7B0C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{70E63BC1-2C82-41C0-89D6-272FD3C7B0C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{70E63BC1-2C82-41C0-89D6-272FD3C7B0C9}.Integration|Any CPU.ActiveCfg = Debug|Any CPU
{70E63BC1-2C82-41C0-89D6-272FD3C7B0C9}.Integration|Any CPU.Build.0 = Debug|Any CPU
{70E63BC1-2C82-41C0-89D6-272FD3C7B0C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{70E63BC1-2C82-41C0-89D6-272FD3C7B0C9}.Release|Any CPU.Build.0 = Release|Any CPU
{EFB39C03-F7D2-4E8D-BE51-09121CD71973}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EFB39C03-F7D2-4E8D-BE51-09121CD71973}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EFB39C03-F7D2-4E8D-BE51-09121CD71973}.Integration|Any CPU.ActiveCfg = Debug|Any CPU
{EFB39C03-F7D2-4E8D-BE51-09121CD71973}.Integration|Any CPU.Build.0 = Debug|Any CPU
{EFB39C03-F7D2-4E8D-BE51-09121CD71973}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EFB39C03-F7D2-4E8D-BE51-09121CD71973}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{B7D21727-2926-452B-9610-3ADB0BB6D789} = {F9978D78-78FE-4E92-A7D6-D436B7683EF6}
{87D9C7D9-18F4-4AB9-B20D-66C02B6075E2} = {AB9CA2B8-6F70-431C-8A1D-67479D8A7BE4}
{0F761F76-E0F3-472E-B539-1815CE2BC696} = {2BBD7364-054F-4693-97CD-1C395E3E84A9}
{AAE1F8D1-F7AB-4ABE-A55B-D423393AB352} = {2BBD7364-054F-4693-97CD-1C395E3E84A9}
{835EDEB4-289B-4D6D-A9A0-609E43A87D6E} = {2BBD7364-054F-4693-97CD-1C395E3E84A9}
{F18471B5-2042-409D-BF2C-E5403C322DC9} = {AB9CA2B8-6F70-431C-8A1D-67479D8A7BE4}
{4F250E56-F8B4-4E69-AECC-4D31EDD891E7} = {AB9CA2B8-6F70-431C-8A1D-67479D8A7BE4}
{8339991B-6D11-45A4-87D0-DF3322198990} = {AB9CA2B8-6F70-431C-8A1D-67479D8A7BE4}
{16D4C526-A3DD-4B12-84F7-AB42D56C2FA4} = {AB9CA2B8-6F70-431C-8A1D-67479D8A7BE4}
{E985A5AA-63E4-48DC-A6D8-D3953A50D7E3} = {AB9CA2B8-6F70-431C-8A1D-67479D8A7BE4}
{501DB3B2-AF92-41CF-82F6-780F9C37C219} = {AB9CA2B8-6F70-431C-8A1D-67479D8A7BE4}
{2C290C58-C98D-46B2-BCED-44D9B67F6D31} = {AB9CA2B8-6F70-431C-8A1D-67479D8A7BE4}
{75E1A89F-9DF6-4DA3-9EF1-5FD966331E06} = {2BBD7364-054F-4693-97CD-1C395E3E84A9}
{6FEE7E14-8A1D-454E-8F7C-B63597801787} = {2BBD7364-054F-4693-97CD-1C395E3E84A9}
{70E63BC1-2C82-41C0-89D6-272FD3C7B0C9} = {2BBD7364-054F-4693-97CD-1C395E3E84A9}
{EFB39C03-F7D2-4E8D-BE51-09121CD71973} = {2BBD7364-054F-4693-97CD-1C395E3E84A9}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B31CDF4B-2851-45E5-8C5F-BE97125D9DD8}
EndGlobalSection
EndGlobal