Conversation
There was a problem hiding this comment.
Pull request overview
This pull request is Step 2 of the Azure split effort, adding new Abstractions and Azure extension packages to decouple Azure dependencies from the main Microsoft.Data.SqlClient package. The PR introduces two new packages with their source code, tests, documentation, and CI/CD pipeline configurations while standardizing CLS compliance across projects.
Changes:
- Added new Microsoft.Data.SqlClient.Extensions.Abstractions package with base types for authentication and related abstractions
- Added new Microsoft.Data.SqlClient.Extensions.Azure package containing Azure authentication implementations moved from MDS
- Standardized CLS compliance by using AssemblyAttribute declarations instead of embedded assembly attributes
- Added comprehensive CI/CD pipeline support for building and testing both new packages across multiple platforms
Reviewed changes
Copilot reviewed 69 out of 69 changed files in this pull request and generated 13 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/targets/GenerateThisAssemblyCs.targets | Simplified to unconditionally generate ThisAssembly.cs with configurable namespace |
| tools/props/Versions.props | Added imports for Abstractions and Azure version properties |
| src/Microsoft.Data.SqlClient/tests/tools/TDS/**/*.csproj | Removed ClsCompliant property (standardization) |
| src/Microsoft.Data.SqlClient/**/Microsoft.Data.SqlClient.csproj | Added CLS compliance via AssemblyAttribute |
| src/Microsoft.Data.SqlClient.sln | Added folder structure and projects for Abstractions and Azure packages |
| src/Microsoft.Data.SqlClient.Extensions/Abstractions/** | Complete Abstractions package with source, tests, and documentation |
| src/Microsoft.Data.SqlClient.Extensions/Azure/** | Complete Azure package with source, tests, and documentation |
| eng/pipelines/** | New CI/CD stages, jobs, and variables for building/testing new packages |
| build.proj | Added targets for building Abstractions and Azure packages |
| Directory.Packages.props | Added package version management for new packages |
| BUILDGUIDE.md | Updated documentation with new build targets |
src/Microsoft.Data.SqlClient.Extensions/Azure/src/ActiveDirectoryAuthenticationProvider.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Azure/src/ActiveDirectoryAuthenticationProvider.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Azure/src/ActiveDirectoryAuthenticationProvider.cs
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Azure/src/ActiveDirectoryAuthenticationProvider.cs
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/SqlAuthenticationProviderException.cs
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Azure/src/ActiveDirectoryAuthenticationProvider.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Azure/src/ActiveDirectoryAuthenticationProvider.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/SqlAuthenticationProviderInternal.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/SqlAuthenticationProviderInternal.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Azure/src/ActiveDirectoryAuthenticationProvider.cs
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/tests/tools/TDS/TDS.Servers/TDS.Servers.csproj
Show resolved
Hide resolved
Codecov Report✅ All modified and coverable lines are covered by tests.
Additional details and impacted files@@ Coverage Diff @@
## main #3904 +/- ##
==========================================
- Coverage 74.93% 67.52% -7.41%
==========================================
Files 269 263 -6
Lines 43247 66191 +22944
==========================================
+ Hits 32407 44696 +12289
- Misses 10840 21495 +10655
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
src/Microsoft.Data.SqlClient.Extensions/Azure/src/ActiveDirectoryAuthenticationProvider.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Azure/src/ActiveDirectoryAuthenticationProvider.cs
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Azure/test/StringExtensions.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Azure/src/ActiveDirectoryAuthenticationProvider.cs
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/SqlAuthenticationProvider.Internal.cs
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/SqlAuthenticationProviderException.cs
Show resolved
Hide resolved
- Added the new Abstractions and Azure source files and associated pipeline files. - Setup build.proj targets and default version numbers. - Standardized project CLS compliance.
- Added ThisAssembly generation to Abstractions. - Fixed branch wildcards in PR pipeline and CodeQL workflow triggers.
- Fixed paratemer name typo.
- Fixed cyclic dependency.
- Inhibited some Azure tests that won't pass yet. - Addressed Copilot comments in the PR.
- Addressed Copilot suggestions.
30140f6 to
18ac28b
Compare
- Fixed a couple of rebase artifacts.
src/Microsoft.Data.SqlClient.Extensions/Azure/src/ActiveDirectoryAuthenticationProvider.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/SqlAuthenticationProviderException.cs
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Azure/test/StringExtensions.cs
Outdated
Show resolved
Hide resolved
mdaigle
left a comment
There was a problem hiding this comment.
One required change. Others are suggestions for future.
src/Microsoft.Data.SqlClient.Extensions/Azure/src/ActiveDirectoryAuthenticationProvider.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/SqlAuthenticationProvider.cs
Outdated
Show resolved
Hide resolved
benrr101
left a comment
There was a problem hiding this comment.
Most of my comments are probably unactionable today, but I'd at least like to see some todo's added to address them later.
src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/SqlAuthenticationToken.cs
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/SqlAuthenticationProvider.Internal.cs
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/SqlAuthenticationProviderInternal.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Azure/test/DefaultAuthProviderTests.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Azure/test/DefaultAuthProviderTests.cs
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient.Extensions/Azure/test/StringExtensions.cs
Outdated
Show resolved
Hide resolved
- Addressed comments/suggestions in the PR.
- Trying to fix shell argument quoting for --filter.
Description
This PR contains the new Abstractions and Azure package files:
PR series:
Testing