Adds autorest-based SQL Project generation to SQL Database Projects extension (#17078)

* Initial changes

* checkpoint

* Constructing project with post deployment script

* Correcting to intentionally read from cached list of projects

* Adding activation event, fixing fresh workspace bug

* Convert netcoreTool and autorestHelper to share a helper class for streamed command

* Include npm package version to force update

* test checkpoint

* Unit tests

* Added contextual quickpicks for autorest dialogs

* Adding projectController test

* Added projectController test, some refactoring for testability

* Merge branch 'main' into benjin/autorest

* Fixing 'which' import

* PR feedback

* Fixing tests

* Adding additional information for when project provider tests fail

* Hopefully fixing failing tests (unable to repro locally)

* Adding Generate Project item to workspace menu

* PR feedback
This commit is contained in:
Benjin Dubishar
2021-09-16 20:38:40 -07:00
committed by GitHub
parent 0cf1abc7c2
commit 08e15bce99
18 changed files with 586 additions and 85 deletions

View File

@@ -16,6 +16,7 @@
"onCommand:sqlDatabaseProjects.new",
"onCommand:sqlDatabaseProjects.open",
"onCommand:sqlDatabaseProjects.createProjectFromDatabase",
"onCommand:sqlDatabaseProjects.generateProjectFromOpenApiSpec",
"onCommand:sqlDatabaseProjects.addSqlBinding",
"workspaceContains:**/*.sqlproj",
"onView:dataworkspace.views.main"
@@ -44,6 +45,14 @@
"sqlDatabaseProjects.netCoreDoNotAsk": {
"type": "boolean",
"description": "%sqlDatabaseProjects.netCoreDoNotAsk%"
},
"sqlDatabaseProjects.nodejsDoNotAsk": {
"type": "boolean",
"description": "%sqlDatabaseProjects.nodejsDoNotAsk%"
},
"sqlDatabaseProjects.autorestSqlVersion": {
"type": "string",
"description": "%sqlDatabaseProjects.autorestSqlVersion%"
}
}
}
@@ -155,6 +164,11 @@
"title": "%sqlDatabaseProjects.changeTargetPlatform%",
"category": "%sqlDatabaseProjects.displayName%"
},
{
"command": "sqlDatabaseProjects.generateProjectFromOpenApiSpec",
"title": "%sqlDatabaseProjects.generateProjectFromOpenApiSpec%",
"category": "%sqlDatabaseProjects.displayName%"
},
{
"command": "sqlDatabaseProjects.addSqlBinding",
"title": "%sqlDatabaseProjects.addSqlBinding%"
@@ -165,7 +179,12 @@
{
"command": "sqlDatabaseProjects.createProjectFromDatabase",
"when": "view == dataworkspace.views.main",
"group": "1_currentWorkspace"
"group": "1_currentWorkspace@1"
},
{
"command": "sqlDatabaseProjects.generateProjectFromOpenApiSpec",
"when": "view == dataworkspace.views.main",
"group": "1_currentWorkspace@2"
}
],
"commandPalette": [
@@ -382,18 +401,22 @@
}
},
"dependencies": {
"@types/xml-formatter": "^1.1.0",
"@microsoft/ads-extension-telemetry": "^1.1.5",
"@types/which": "^2.0.1",
"@types/xml-formatter": "^1.1.0",
"fast-glob": "^3.1.0",
"fs-extra": "^5.0.0",
"jsonc-parser": "^2.3.1",
"promisify-child-process": "^3.1.1",
"semver": "^7.3.5",
"vscode-languageclient": "^5.3.0-next.1",
"vscode-nls": "^4.1.2",
"which": "^2.0.2",
"xml-formatter": "^2.1.0",
"xmldom": "^0.3.0"
},
"devDependencies": {
"@types/fs-extra": "^5.0.0",
"@types/mocha": "^5.2.5",
"@types/sinon": "^9.0.4",
"@types/xmldom": "^0.1.29",
@@ -405,8 +428,7 @@
"tslint": "^5.8.0",
"typemoq": "^2.1.0",
"typescript": "^2.6.1",
"vscodetestcover": "^1.1.0",
"@types/fs-extra": "^5.0.0"
"vscodetestcover": "^1.1.0"
},
"__metadata": {
"id": "70",