* Add sqlproj property to trace the origin of the project.
As part of the database migration process (schema conversion, in particular) we want to be able to tell when converted schemas are being built/deployed to the actual database server. Given that we rely on the SQL Database Projects ADS extension for the compilation/deployment, we don't have too many options other than updating the said extension.
The suggested approach is to make the following changes:
1) Add new property to the sqlproj file (called `DatabaseSource`), which will maintain the origin(s) of the project. The property can contain multiple values (separated by semicolon), in case same project contains objects produced by multiple sources (extract schema, convert from another database, etc.).
2) During build and deploy actions, send the well-known values from the newly added property to the telemetry. We don't want to send any random value of the property, as it may raise some privacy concerns. Instead we define a list of the well-known values that we know do not carry any personal information and send those, if they are specified.
This change adds all necessary APIs to the SQl Database projects extension which will be consumed by our migration extensions to populate new `DatabaseSource` property.
* Use `undefined` instead of `null`
Co-authored-by: Kim Santiago <kisantia@microsoft.com>
* add more telemetry for sql database projects
* add publishToContainer events
* send target platform when publishing
* add duration for createProjectFromDb and updateProjectFromDb
* add sdk style project template
* update description and order
* add SDK style project option to create project from db dialog
* fix test
* switch to checkbox
* remove not used string
* fix test
* add sdk style project template
* update description and order
* update template
* update template and add link
* remove ToolsVersion and xmlns from project node
* update template name to SQL Database (SDK)
* don't show SSDT update warning for new style projects
* update strings
* add checks for the 2 other ways to specify msbuild sdk
* add link to docs on how to use project sdk
Co-authored-by: Kim Santiago <kisantia@Kims-MacBook-Pro.local>
* Adding prompt for project name
* Updating test
* PR feedback
* Fixing rename logic so that folder is also named according to project
* Updating autorest test to confirm rename
* Giving user option to install autorest globally or run via npx
* Adds message for when no files are generated (no models in spec)
* Adding test
* Reinstating the rest of the test suite
* PR feedback
* Fixing tests to stub new prompt when test runner doesn't have autorest installed
* PR feedback
* fix typo
* fix typo
* 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