diff --git a/.gitignore b/.gitignore index 0d8dfed6d5..da143d57ac 100644 --- a/.gitignore +++ b/.gitignore @@ -376,3 +376,6 @@ MigrationBackup/ # MDS "Not Supported" GenAPI code **/notsupported/*.cs + +# C# language server cache +*.lscache diff --git a/Directory.Packages.props b/Directory.Packages.props index 62918f7d65..37b72ca205 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -1,4 +1,33 @@ + + + + + + + + + + + + true - - - - - - - - + + - + diff --git a/build.proj b/build.proj index 971cfb12fa..b8ac7d44ed 100644 --- a/build.proj +++ b/build.proj @@ -1,5 +1,6 @@ + @@ -208,12 +209,15 @@ ReferenceType Applies to: BuildSqlClient, BuildSqlClientUnix, BuildSqlClientWindows Description: Determines how to build SqlClient. If set to "Project", any cross-project - references (eg, Abstractions from SqlClient) will be made as project references. If - set to "Package", package references will be made instead. When running in - package mode, target versions can be specified via PackageVersion* build - parameters. If these are not provided, the central feed version will be used - instead (see Directory.Packages.props). When running in project mode, the - dependencies will be built automatically. + references (eg, Abstractions from SqlClient) will be made as project + references. If set to "Package", package references will be made instead. When + running in package mode, target versions can be specified via PackageVersion* + build parameters. If these are not provided, the central feed version will be + used instead (see Directory.Packages.props). In package mode, all Pack* + targets also mirror their .nupkg/.snupkg output into the local NuGet feed + directory (packages/) so that downstream builds in the same invocation can + restore them without a separate feed publish step. When running in project + mode, the dependencies will be built automatically. Applies to: TestSqlClientFunctional, TestSqlClientManual Description: Determines whether to test against a project reference or a package version @@ -227,6 +231,19 @@ -p:ReferenceType=Package + + false + category!=failing&category!=flaky&category!=interactive + + $(TestFilters)&category!=signed --filter "$(TestFilters)" @@ -370,6 +393,7 @@ $(SqlClientSrcRoot)src/Microsoft.Data.SqlClient.csproj $(SqlClientSrcRoot)ref/Microsoft.Data.SqlClient.csproj $(SqlClientSrcRoot)notsupported/Microsoft.Data.SqlClient.csproj + $(SqlClientArtifactRoot)$(ReferenceType)-$(Configuration)/ $(SqlClientSrcRoot)tests/FunctionalTests/Microsoft.Data.SqlClient.FunctionalTests.csproj @@ -390,7 +414,10 @@ PlatformNotSupportedException. It generates the source for this using GenAPI which is built as the first step of this target. --> - + + PackLogging;PackAbstractions;PackSqlServer + + "$(DotnetPath)dotnet" build "$(GenApiProjectPath)" @@ -424,6 +451,7 @@ $(ReferenceTypeArgument) $(PackageVersionAbstractionsArgument) $(PackageVersionLoggingArgument) + $(PackageVersionSqlServerArgument) $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) @@ -434,7 +462,10 @@ - + + PackLogging;PackAbstractions;PackSqlServer + + "$(DotnetPath)dotnet" build $(SqlClientRefProjectPath) @@ -449,6 +480,7 @@ $(ReferenceTypeArgument) $(PackageVersionAbstractionsArgument) + $(PackageVersionSqlServerArgument) $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) @@ -459,7 +491,10 @@ - + + PackLogging;PackAbstractions;PackSqlServer + + "$(DotnetPath)dotnet" build $(SqlClientProjectPath) @@ -476,6 +511,7 @@ $(ReferenceTypeArgument) $(PackageVersionAbstractionsArgument) $(PackageVersionLoggingArgument) + $(PackageVersionSqlServerArgument) $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) @@ -486,7 +522,10 @@ - + + PackLogging;PackAbstractions;PackSqlServer + + "$(DotnetPath)dotnet" build $(SqlClientProjectPath) @@ -503,6 +542,7 @@ $(ReferenceTypeArgument) $(PackageVersionAbstractionsArgument) $(PackageVersionLoggingArgument) + $(PackageVersionSqlServerArgument) $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) @@ -545,15 +585,27 @@ $(ReferenceTypeArgument) $(PackageVersionAbstractionsArgument) $(PackageVersionLoggingArgument) + $(PackageVersionSqlServerArgument) - -p:PackageOutputPath="$(SqlClientArtifactRoot)/$(ReferenceType)-$(Configuration)" + -p:PackageOutputPath="$(SqlClientPackageArtifactRoot)" $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) + + + + + + + @@ -582,6 +634,7 @@ $(PackageVersionAbstractionsArgument) $(PackageVersionLoggingArgument) $(PackageVersionSqlClientArgument) + $(PackageVersionSqlServerArgument) $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) @@ -613,6 +666,7 @@ $(PackageVersionAbstractionsArgument) $(PackageVersionLoggingArgument) $(PackageVersionSqlClientArgument) + $(PackageVersionSqlServerArgument) $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) @@ -650,14 +704,18 @@ - + $(RepoRoot)src/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider/ $(AkvProviderSrcRoot)src/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj + $(RepoRoot)artifacts/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider/$(Configuration)/ - - + + + PackSqlClient;PackLogging + + "$(DotnetPath)dotnet" build "$(AkvProviderProjectPath)" @@ -674,12 +732,13 @@ $(PackageVersionAbstractionsArgument) $(PackageVersionLoggingArgument) $(PackageVersionSqlClientArgument) + $(PackageVersionSqlServerArgument) $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) - + @@ -687,7 +746,7 @@ - "$(DotnetPath)dotnet" pack "$(AkvProviderProjectpath)" + "$(DotnetPath)dotnet" pack "$(AkvProviderProjectPath)" -p:Configuration=$(Configuration) $(PackBuildArgument) $(SigningKeyPathArgument) @@ -702,25 +761,42 @@ $(PackageVersionAbstractionsArgument) $(PackageVersionLoggingArgument) $(PackageVersionSqlClientArgument) + $(PackageVersionSqlServerArgument) $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) - + + + + + + + + + $(RepoRoot)src/Microsoft.Data.SqlClient.Extensions/Abstractions/ $(AbstractionsSrcRoot)src/Abstractions.csproj $(AbstractionsSrcRoot)test/Abstractions.Test.csproj + $(RepoRoot)artifacts/Microsoft.Data.SqlClient.Extensions.Abstractions/$(Configuration)/ - + + PackLogging + + "$(DotnetPath)dotnet" build "$(AbstractionsProjectPath)" @@ -768,6 +844,17 @@ + + + + + + + @@ -804,10 +891,14 @@ $(RepoRoot)src/Microsoft.Data.SqlClient.Extensions/Azure/ $(AzureSrcRoot)src/Azure.csproj $(AzureSrcRoot)test/Azure.Test.csproj + $(RepoRoot)artifacts/Microsoft.Data.SqlClient.Extensions.Azure/$(Configuration)/ - + + PackLogging;PackAbstractions + + "$(DotnetPath)dotnet" build "$(AzureProjectPath)" @@ -855,6 +946,17 @@ + + + + + + + @@ -875,14 +977,16 @@ $(ReferenceTypeArgument) - + $(PackageVersionAbstractionsArgument) + $(PackageVersionLoggingArgument) $(PackageVersionSqlClientArgument) + $(PackageVersionSqlServerArgument) $([System.Text.RegularExpressions.Regex]::Replace($(DotnetCommand), "\s+", " ")) - + @@ -891,6 +995,7 @@ $(RepoRoot)src/Microsoft.Data.SqlClient.Internal/Logging/src/ $(LoggingSrcRoot)Logging.csproj + $(RepoRoot)artifacts/Microsoft.Data.SqlClient.Internal.Logging/$(Configuration)/ @@ -934,6 +1039,17 @@ + + + + + + + @@ -941,6 +1057,7 @@ $(RepoRoot)src/Microsoft.SqlServer.Server/ $(SqlServerSrcRoot)Microsoft.SqlServer.Server.csproj + $(RepoRoot)artifacts/Microsoft.SqlServer.Server/$(Configuration)/ @@ -984,5 +1101,16 @@ + + + + + + + diff --git a/doc/Directory.Packages.props b/doc/Directory.Packages.props index 2ead6c1757..d47f7e01b9 100644 --- a/doc/Directory.Packages.props +++ b/doc/Directory.Packages.props @@ -6,5 +6,6 @@ + diff --git a/doc/samples/Microsoft.Data.SqlClient.Samples.csproj b/doc/samples/Microsoft.Data.SqlClient.Samples.csproj index c194fac4d0..44a153f6f2 100644 --- a/doc/samples/Microsoft.Data.SqlClient.Samples.csproj +++ b/doc/samples/Microsoft.Data.SqlClient.Samples.csproj @@ -10,14 +10,19 @@ False + - - - - + + + + + + + + diff --git a/eng/pipelines/common/templates/jobs/ci-build-nugets-job.yml b/eng/pipelines/common/templates/jobs/ci-build-nugets-job.yml index 8d051e5167..e9c3ad7c64 100644 --- a/eng/pipelines/common/templates/jobs/ci-build-nugets-job.yml +++ b/eng/pipelines/common/templates/jobs/ci-build-nugets-job.yml @@ -77,6 +77,16 @@ parameters: - name: akvPackageVersion type: string + # The version of the SqlServer package to depend on when referenceType is 'Package'. + - name: sqlServerPackageVersion + type: string + default: $(sqlServerPackageVersion) + + # The name of the SqlServer pipeline artifact to download when referenceType is 'Package'. + - name: sqlServerArtifactsName + type: string + default: SqlServer.Artifacts + jobs: - job: build_mds_akv_packages_job displayName: Build MDS & AKV Packages @@ -115,6 +125,12 @@ jobs: artifactName: ${{ parameters.loggingArtifactsName }} targetPath: $(localFeedPath) + - task: DownloadPipelineArtifact@2 + displayName: Download SqlServer Package Artifacts + inputs: + artifactName: ${{ parameters.sqlServerArtifactsName }} + targetPath: $(localFeedPath) + # Install the .NET SDK. - template: /eng/pipelines/steps/install-dotnet.yml@self @@ -139,6 +155,7 @@ jobs: build: MDS abstractionsPackageVersion: ${{parameters.abstractionsPackageVersion}} loggingPackageVersion: ${{ parameters.loggingPackageVersion }} + sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }} - task: DotNetCoreCLI@2 displayName: 'Create MDS NuGet Package' @@ -153,6 +170,7 @@ jobs: -p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }} -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} + -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }} # PackSqlClient outputs to artifacts/Microsoft.Data.SqlClient/-/. # Downstream steps (local feed copy, AKV pack, artifact publish) all expect packages at @@ -184,6 +202,7 @@ jobs: loggingPackageVersion: ${{ parameters.loggingPackageVersion }} mdsPackageVersion: ${{ parameters.mdsPackageVersion }} akvPackageVersion: ${{ parameters.akvPackageVersion }} + sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }} - task: DotNetCoreCLI@2 displayName: 'Create AKV Provider NuGet Package' @@ -199,6 +218,7 @@ jobs: -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }} + -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }} -p:PackageVersionAkvProvider=${{ parameters.akvPackageVersion }} - task: CopyFiles@2 diff --git a/eng/pipelines/common/templates/jobs/ci-run-tests-job.yml b/eng/pipelines/common/templates/jobs/ci-run-tests-job.yml index 5c593e11e3..8b79bf7274 100644 --- a/eng/pipelines/common/templates/jobs/ci-run-tests-job.yml +++ b/eng/pipelines/common/templates/jobs/ci-run-tests-job.yml @@ -88,6 +88,16 @@ parameters: - name: mdsPackageVersion type: string + # The name of the SqlServer pipeline artifact to download when referenceType is 'Package'. + - name: sqlServerArtifactsName + type: string + default: SqlServer.Artifacts + + # The version of the SqlServer package to depend on when referenceType is 'Package'. + - name: sqlServerPackageVersion + type: string + default: $(sqlServerPackageVersion) + # TODO: What is this for? - name: netcoreVersionTestUtils type: string @@ -194,6 +204,12 @@ jobs: artifactName: ${{ parameters.mdsArtifactsName }} targetPath: $(Build.SourcesDirectory)/packages + - task: DownloadPipelineArtifact@2 + displayName: Download SqlServer Package Artifacts + inputs: + artifactName: ${{ parameters.sqlServerArtifactsName }} + targetPath: $(Build.SourcesDirectory)/packages + # Install the .NET SDK and Runtimes. - template: /eng/pipelines/steps/install-dotnet.yml@self parameters: @@ -364,6 +380,7 @@ jobs: abstractionsPackageVersion: ${{ parameters.abstractionsPackageVersion }} loggingPackageVersion: ${{ parameters.loggingPackageVersion }} mdsPackageVersion: ${{ parameters.mdsPackageVersion }} + sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }} - ${{ if and(eq(parameters.enableX86Test, true), eq(parameters.operatingSystem, 'Windows')) }}: - template: /eng/pipelines/common/templates/steps/run-all-tests-step.yml@self @@ -379,6 +396,7 @@ jobs: abstractionsPackageVersion: ${{ parameters.abstractionsPackageVersion }} loggingPackageVersion: ${{ parameters.loggingPackageVersion }} mdsPackageVersion: ${{ parameters.mdsPackageVersion }} + sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }} - template: /eng/pipelines/common/templates/steps/publish-test-results-step.yml@self parameters: diff --git a/eng/pipelines/common/templates/stages/ci-run-tests-stage.yml b/eng/pipelines/common/templates/stages/ci-run-tests-stage.yml index fd87d7d9ac..86ddc0ca45 100644 --- a/eng/pipelines/common/templates/stages/ci-run-tests-stage.yml +++ b/eng/pipelines/common/templates/stages/ci-run-tests-stage.yml @@ -50,6 +50,16 @@ parameters: - name: mdsPackageVersion type: string + # The name of the SqlServer pipeline artifacts to download. + - name: sqlServerArtifactsName + type: string + default: SqlServer.Artifacts + + # The version of the SqlServer package to depend on when referenceType is 'Package'. + - name: sqlServerPackageVersion + type: string + default: $(sqlServerPackageVersion) + # Jobs to run after the test jobs complete, if any. - name: postTestJobs type: jobList @@ -114,6 +124,8 @@ stages: loggingPackageVersion: ${{ parameters.loggingPackageVersion }} mdsArtifactsName: ${{ parameters.mdsArtifactsName }} mdsPackageVersion: ${{ parameters.mdsPackageVersion }} + sqlServerArtifactsName: ${{ parameters.sqlServerArtifactsName }} + sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }} prebuildSteps: ${{ parameters.prebuildSteps }} targetFramework: ${{ targetFramework }} netcoreVersionTestUtils: ${{config.value.netcoreVersionTestUtils }} @@ -150,6 +162,8 @@ stages: loggingPackageVersion: ${{ parameters.loggingPackageVersion }} mdsArtifactsName: ${{ parameters.mdsArtifactsName }} mdsPackageVersion: ${{ parameters.mdsPackageVersion }} + sqlServerArtifactsName: ${{ parameters.sqlServerArtifactsName }} + sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }} prebuildSteps: ${{ parameters.prebuildSteps }} targetFramework: ${{ targetFramework }} netcoreVersionTestUtils: ${{config.value.netcoreVersionTestUtils }} diff --git a/eng/pipelines/common/templates/steps/ci-project-build-step.yml b/eng/pipelines/common/templates/steps/ci-project-build-step.yml index fe46ad66a2..e5fa6d4424 100644 --- a/eng/pipelines/common/templates/steps/ci-project-build-step.yml +++ b/eng/pipelines/common/templates/steps/ci-project-build-step.yml @@ -68,6 +68,11 @@ parameters: type: string default: $(akvPackageVersion) + # Necessary when referenceType is Package. Ignored when referenceType is Project. + - name: sqlServerPackageVersion + type: string + default: $(sqlServerPackageVersion) + steps: # Build MDS - ${{ if or(eq(parameters.build, 'MDS'), eq(parameters.build, 'all'), eq(parameters.build, 'allNoDocs')) }}: @@ -85,6 +90,7 @@ steps: -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }} + -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }} # Build AKV Provider - ${{ if or(eq(parameters.build, 'AkvProvider'), eq(parameters.build, 'all'), eq(parameters.build, 'allNoDocs')) }}: @@ -103,3 +109,4 @@ steps: -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }} + -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }} diff --git a/eng/pipelines/common/templates/steps/run-all-tests-step.yml b/eng/pipelines/common/templates/steps/run-all-tests-step.yml index cf3ce206a4..5730b8cc0d 100644 --- a/eng/pipelines/common/templates/steps/run-all-tests-step.yml +++ b/eng/pipelines/common/templates/steps/run-all-tests-step.yml @@ -22,6 +22,9 @@ parameters: - name: mdsPackageVersion type: string + - name: sqlServerPackageVersion + type: string + - name: platform type: string default: $(Platform) @@ -137,6 +140,7 @@ steps: -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }} + -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }} -p:TestResultsFolderPath=TestResults ${{ else }}: # x86 arguments: >- @@ -147,6 +151,7 @@ steps: -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }} + -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} -p:TestResultsFolderPath=TestResults @@ -165,6 +170,7 @@ steps: -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }} + -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }} -p:TestFilters="category=flaky" -p:TestResultsFolderPath=TestResults -p:TestCodeCoverage=false @@ -177,6 +183,7 @@ steps: -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }} + -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} -p:TestFilters="category=flaky" -p:TestResultsFolderPath=TestResults @@ -199,6 +206,7 @@ steps: -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }} + -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }} -p:TestResultsFolderPath=TestResults ${{ else }}: # x86 arguments: >- @@ -210,6 +218,7 @@ steps: -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }} + -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} -p:TestResultsFolderPath=TestResults retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }} @@ -230,6 +239,7 @@ steps: -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }} + -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }} -p:TestFilters="category=flaky" -p:TestResultsFolderPath=TestResults -p:TestCodeCoverage=false @@ -243,6 +253,7 @@ steps: -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }} + -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }} -p:DotnetPath=${{ parameters.dotnetx86RootPath }} -p:TestFilters="category=flaky" -p:TestResultsFolderPath=TestResults @@ -292,6 +303,7 @@ steps: -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }} + -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }} -p:TestResultsFolderPath=TestResults - task: DotNetCoreCLI@2 @@ -308,6 +320,7 @@ steps: -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }} + -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }} -p:TestFilters="category=flaky" -p:TestResultsFolderPath=TestResults -p:TestCodeCoverage=false @@ -327,6 +340,7 @@ steps: -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }} + -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }} -p:TestResultsFolderPath=TestResults retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }} @@ -345,6 +359,7 @@ steps: -p:PackageVersionAbstractions=${{ parameters.abstractionsPackageVersion }} -p:PackageVersionLogging=${{ parameters.loggingPackageVersion }} -p:PackageVersionSqlClient=${{ parameters.mdsPackageVersion }} + -p:PackageVersionSqlServer=${{ parameters.sqlServerPackageVersion }} -p:TestFilters="category=flaky" -p:TestResultsFolderPath=TestResults -p:TestCodeCoverage=false diff --git a/eng/pipelines/dotnet-sqlclient-ci-core.yml b/eng/pipelines/dotnet-sqlclient-ci-core.yml index c8181aff5a..f5f2269494 100644 --- a/eng/pipelines/dotnet-sqlclient-ci-core.yml +++ b/eng/pipelines/dotnet-sqlclient-ci-core.yml @@ -185,14 +185,17 @@ stages: mdsPackageVersion: $(mdsPackageVersion) akvPackageVersion: $(akvPackageVersion) referenceType: ${{ parameters.referenceType }} + sqlServerArtifactsName: $(sqlServerArtifactsName) + sqlServerPackageVersion: $(sqlServerPackageVersion) SNIVersion: ${{ parameters.SNIVersion }} SNIValidationFeed: ${{ parameters.SNIValidationFeed }} - # When building SqlClient via packages, we must depend on the Abstractions and Logging - # packages. + # When building SqlClient via packages, we must depend on the Abstractions, Logging, + # and SqlServer packages. ${{ if eq(parameters.referenceType, 'Package') }}: additionalDependsOn: - build_abstractions_package_stage - build_logging_package_stage + - build_sqlserver_package_stage # Build the Azure package, and publish it to the pipeline artifacts under the # given artifact name. @@ -206,16 +209,21 @@ stages: buildConfiguration: ${{ parameters.buildConfiguration }} debug: ${{ parameters.debug }} # When building via packages, we must depend on the Abstractions, Logging, - # and MDS packages. + # SqlServer, and MDS packages. ${{ if eq(parameters.referenceType, 'Package') }}: additionalDependsOn: - build_abstractions_package_stage - build_logging_package_stage + - build_sqlserver_package_stage - build_sqlclient_package_stage dotnetVerbosity: ${{ parameters.dotnetVerbosity }} + loggingArtifactsName: $(loggingArtifactsName) + loggingPackageVersion: $(loggingPackageVersion) mdsArtifactsName: $(mdsArtifactsName) mdsPackageVersion: $(mdsPackageVersion) referenceType: ${{ parameters.referenceType }} + sqlServerArtifactsName: $(sqlServerArtifactsName) + sqlServerPackageVersion: $(sqlServerPackageVersion) # Verify that all NuGet packages comply with Microsoft metadata requirements. # This runs on a Windows agent after all packages have been built and @@ -240,14 +248,17 @@ stages: loggingPackageVersion: $(loggingPackageVersion) mdsArtifactsName: $(mdsArtifactsName) mdsPackageVersion: $(mdsPackageVersion) + sqlServerArtifactsName: $(sqlServerArtifactsName) + sqlServerPackageVersion: $(sqlServerPackageVersion) testJobTimeout: ${{ parameters.testJobTimeout }} # When testing MDS via packages, we must depend on the Abstractions, - # Logging, MDS, and Azure packages. + # Logging, SqlServer, MDS, and Azure packages. ${{ if eq(parameters.referenceType, 'Package') }}: additionalDependsOn: - build_abstractions_package_stage - build_logging_package_stage + - build_sqlserver_package_stage - build_sqlclient_package_stage - build_azure_package_stage diff --git a/eng/pipelines/jobs/test-azure-package-ci-job.yml b/eng/pipelines/jobs/test-azure-package-ci-job.yml index cd9b87e103..9c70433e33 100644 --- a/eng/pipelines/jobs/test-azure-package-ci-job.yml +++ b/eng/pipelines/jobs/test-azure-package-ci-job.yml @@ -26,6 +26,13 @@ parameters: type: string default: Logging.Artifacts + # The Logging package version to depend on. + # + # This is used when the referenceType is 'Package'. + - name: loggingPackageVersion + type: string + default: '' + # The Abstractions package verion to depend on. # # This is used when the referenceType is 'Package'. @@ -79,6 +86,21 @@ parameters: - name: mdsPackageVersion type: string + # The name of the SqlServer pipeline artifacts to download. + # + # This is used when the referenceType is 'Package'. MDS depends on + # SqlServer.Server, so the package must be available for transitive restore. + - name: sqlServerArtifactsName + type: string + default: SqlServer.Artifacts + + # The SqlServer package version to depend on. + # + # This is used when the referenceType is 'Package'. + - name: sqlServerPackageVersion + type: string + default: '' + # The list of .NET Framework runtimes to test against. - name: netFrameworkRuntimes type: object @@ -153,7 +175,9 @@ jobs: --verbosity ${{ parameters.dotnetVerbosity }} -p:ReferenceType=${{ parameters.referenceType }} -p:AbstractionsPackageVersion=${{ parameters.abstractionsPackageVersion }} + -p:LoggingPackageVersion=${{ parameters.loggingPackageVersion }} -p:SqlClientPackageVersion=${{ parameters.mdsPackageVersion }} + -p:SqlServerPackageVersion=${{ parameters.sqlServerPackageVersion }} # Explicitly unset the $PLATFORM environment variable that is set by the # 'ADO Build properties' Library in the ADO SqlClientDrivers public @@ -208,6 +232,16 @@ jobs: artifactName: ${{ parameters.mdsArtifactsName }} targetPath: $(Build.SourcesDirectory)/packages + # Download the SqlServer package artifacts into packages/. + # + # MDS depends on SqlServer.Server, so the package must be available for + # transitive restore. + - task: DownloadPipelineArtifact@2 + displayName: Download SqlServer Package Artifacts + inputs: + artifactName: ${{ parameters.sqlServerArtifactsName }} + targetPath: $(Build.SourcesDirectory)/packages + # Install the .NET SDK and Runtimes. - template: /eng/pipelines/steps/install-dotnet.yml@self parameters: diff --git a/eng/pipelines/libraries/ci-build-variables.yml b/eng/pipelines/libraries/ci-build-variables.yml index 142e5e21fe..438b011fab 100644 --- a/eng/pipelines/libraries/ci-build-variables.yml +++ b/eng/pipelines/libraries/ci-build-variables.yml @@ -24,35 +24,35 @@ variables: # Abstractions library assembly file version - name: abstractionsAssemblyFileVersion - value: 1.0.0.$(assemblyBuildNumber) + value: 1.1.0.$(assemblyBuildNumber) # Abstractions library NuGet package version - name: abstractionsPackageVersion - value: 1.0.0-ci$(Build.BuildNumber) + value: 1.1.0-preview1ci$(Build.BuildNumber) # AKV provider assembly file version - name: akvAssemblyFileVersion - value: 7.0.0.$(assemblyBuildNumber) + value: 7.1.0.$(assemblyBuildNumber) # AKV provider NuGet package version - name: akvPackageVersion - value: 7.0.0-ci$(Build.BuildNumber) + value: 7.1.0-preview1ci$(Build.BuildNumber) # Azure library assembly file version - name: azureAssemblyFileVersion - value: 1.0.0.$(assemblyBuildNumber) + value: 1.1.0.$(assemblyBuildNumber) # Azure library NuGet package version - name: azurePackageVersion - value: 1.0.0-ci$(Build.BuildNumber) + value: 1.1.0-preview1ci$(Build.BuildNumber) # Logging library assembly file version - name: loggingAssemblyFileVersion - value: 1.0.0.$(assemblyBuildNumber) + value: 1.1.0.$(assemblyBuildNumber) # Logging library NuGet package version - name: loggingPackageVersion - value: 1.0.0-ci$(Build.BuildNumber) + value: 1.1.0-preview1ci$(Build.BuildNumber) # MDS library NuGet package version # NOTE: This differs from the other structures! MdsVersions.props will deconstruct a provided @@ -66,7 +66,7 @@ variables: # assembly build number, so this must remain a three-part SemVer base with a prerelease # suffix, not a four-part numeric version. - name: sqlServerPackageVersion - value: 1.0.0-ci$(AssemblyBuildNumber) + value: 1.1.0-preview1ci$(AssemblyBuildNumber) # Local NuGet feed directory where downloaded pipeline artifacts are placed. # NuGet.config references this as a local package source for restore. diff --git a/eng/pipelines/onebranch/stages/build-stages.yml b/eng/pipelines/onebranch/stages/build-stages.yml index 096da7e949..62f26b7aa3 100644 --- a/eng/pipelines/onebranch/stages/build-stages.yml +++ b/eng/pipelines/onebranch/stages/build-stages.yml @@ -222,6 +222,9 @@ stages: - artifactName: '${{ parameters.loggingArtifactsName }}' shortName: 'Logging' version: '${{ parameters.loggingPackageVersion }}' + - artifactName: '${{ parameters.sqlServerArtifactsName }}' + shortName: 'SqlServer' + version: '${{ parameters.sqlServerPackageVersion }}' fileVersion: '${{ parameters.sqlClientFileVersion }}' packageFullName: 'Microsoft.Data.SqlClient' packageShortName: 'SqlClient' @@ -284,6 +287,9 @@ stages: - artifactName: '${{ parameters.sqlClientArtifactsName }}' shortName: 'SqlClient' version: '${{ parameters.sqlClientPackageVersion }}' + - artifactName: '${{ parameters.sqlServerArtifactsName }}' + shortName: 'SqlServer' + version: '${{ parameters.sqlServerPackageVersion }}' fileVersion: '${{ parameters.akvProviderFileVersion }}' packageFullName: 'Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider' packageShortName: 'AkvProvider' diff --git a/eng/pipelines/onebranch/steps/build-buildproj-step.yml b/eng/pipelines/onebranch/steps/build-buildproj-step.yml index 9e02243537..080896ee10 100644 --- a/eng/pipelines/onebranch/steps/build-buildproj-step.yml +++ b/eng/pipelines/onebranch/steps/build-buildproj-step.yml @@ -56,6 +56,7 @@ steps: -t:Build${{ parameters.packageShortName }} -p:Configuration=${{ parameters.buildConfiguration }} -p:ReferenceType=Package + -p:SkipDependencyPack=true -p:SigningKeyPath="$(keyFile.secureFilePath)" -p:BuildNumber="$(Build.BuildNumber)" -p:PackageVersion${{ parameters.packageShortName }}="${{ parameters.packageVersion }}" diff --git a/eng/pipelines/onebranch/steps/roslyn-analyzers-buildproj-step.yml b/eng/pipelines/onebranch/steps/roslyn-analyzers-buildproj-step.yml index 1f7c22a554..89177f1d88 100644 --- a/eng/pipelines/onebranch/steps/roslyn-analyzers-buildproj-step.yml +++ b/eng/pipelines/onebranch/steps/roslyn-analyzers-buildproj-step.yml @@ -50,6 +50,7 @@ steps: -t:Build${{ parameters.packageShortName }} -p:Configuration=Release -p:ReferenceType=Package + -p:SkipDependencyPack=true -p:BuildNumber="$(Build.BuildNumber)" -p:PackageVersion${{ parameters.packageShortName }}="${{ parameters.packageVersion }}" ${{ parameters.dependencyArguments }} diff --git a/eng/pipelines/stages/build-azure-package-ci-stage.yml b/eng/pipelines/stages/build-azure-package-ci-stage.yml index 3b57ce8c3b..1da56a18ef 100644 --- a/eng/pipelines/stages/build-azure-package-ci-stage.yml +++ b/eng/pipelines/stages/build-azure-package-ci-stage.yml @@ -101,6 +101,20 @@ parameters: - detailed - diagnostic + # The name of the Logging pipeline artifacts to download. + # + # This is used when the referenceType is 'Package'. + - name: loggingArtifactsName + type: string + default: Logging.Artifacts + + # The Logging package version to depend on. + # + # This is used when the referenceType is 'Package'. + - name: loggingPackageVersion + type: string + default: '' + # The name of the MDS pipeline artifacts to download. # # This is used when the referenceType is 'Package'. @@ -114,6 +128,21 @@ parameters: - name: mdsPackageVersion type: string + # The name of the SqlServer pipeline artifacts to download. + # + # This is used when the referenceType is 'Package'. MDS depends on + # SqlServer.Server, so the package must be available for transitive restore. + - name: sqlServerArtifactsName + type: string + default: SqlServer.Artifacts + + # The SqlServer package version to depend on. + # + # This is used when the referenceType is 'Package'. + - name: sqlServerPackageVersion + type: string + default: '' + # The C# project reference type to use when building and packing the packages. - name: referenceType type: string @@ -152,8 +181,12 @@ stages: displayNamePrefix: Linux dotnetVerbosity: ${{ parameters.dotnetVerbosity }} jobNameSuffix: linux + loggingArtifactsName: ${{ parameters.loggingArtifactsName }} + loggingPackageVersion: ${{ parameters.loggingPackageVersion }} mdsArtifactsName: ${{ parameters.mdsArtifactsName }} mdsPackageVersion: ${{ parameters.mdsPackageVersion }} + sqlServerArtifactsName: ${{ parameters.sqlServerArtifactsName }} + sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }} netFrameworkRuntimes: [] netRuntimes: [net8.0, net9.0, net10.0] poolName: ${{ parameters.azurePoolName }} @@ -170,8 +203,12 @@ stages: displayNamePrefix: Linux Integration dotnetVerbosity: ${{ parameters.dotnetVerbosity }} jobNameSuffix: linux_integration + loggingArtifactsName: ${{ parameters.loggingArtifactsName }} + loggingPackageVersion: ${{ parameters.loggingPackageVersion }} mdsArtifactsName: ${{ parameters.mdsArtifactsName }} mdsPackageVersion: ${{ parameters.mdsPackageVersion }} + sqlServerArtifactsName: ${{ parameters.sqlServerArtifactsName }} + sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }} netFrameworkRuntimes: [] netRuntimes: [net8.0, net9.0, net10.0] poolName: ${{ parameters.adoPoolName }} @@ -197,8 +234,12 @@ stages: displayNamePrefix: Win dotnetVerbosity: ${{ parameters.dotnetVerbosity }} jobNameSuffix: windows + loggingArtifactsName: ${{ parameters.loggingArtifactsName }} + loggingPackageVersion: ${{ parameters.loggingPackageVersion }} mdsArtifactsName: ${{ parameters.mdsArtifactsName }} mdsPackageVersion: ${{ parameters.mdsPackageVersion }} + sqlServerArtifactsName: ${{ parameters.sqlServerArtifactsName }} + sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }} netFrameworkRuntimes: [net462] netRuntimes: [net8.0, net9.0, net10.0] poolName: ${{ parameters.azurePoolName }} @@ -215,8 +256,12 @@ stages: displayNamePrefix: Win Integration dotnetVerbosity: ${{ parameters.dotnetVerbosity }} jobNameSuffix: windows_integration + loggingArtifactsName: ${{ parameters.loggingArtifactsName }} + loggingPackageVersion: ${{ parameters.loggingPackageVersion }} mdsArtifactsName: ${{ parameters.mdsArtifactsName }} mdsPackageVersion: ${{ parameters.mdsPackageVersion }} + sqlServerArtifactsName: ${{ parameters.sqlServerArtifactsName }} + sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }} netFrameworkRuntimes: [net462] netRuntimes: [net8.0, net9.0, net10.0] poolName: ${{ parameters.adoPoolName }} @@ -251,8 +296,12 @@ stages: displayNamePrefix: macOS dotnetVerbosity: ${{ parameters.dotnetVerbosity }} jobNameSuffix: macos + loggingArtifactsName: ${{ parameters.loggingArtifactsName }} + loggingPackageVersion: ${{ parameters.loggingPackageVersion }} mdsArtifactsName: ${{ parameters.mdsArtifactsName }} mdsPackageVersion: ${{ parameters.mdsPackageVersion }} + sqlServerArtifactsName: ${{ parameters.sqlServerArtifactsName }} + sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }} netFrameworkRuntimes: [] netRuntimes: [net8.0, net9.0, net10.0] poolName: ${{ parameters.azurePoolName }} diff --git a/eng/pipelines/stages/build-sqlclient-package-ci-stage.yml b/eng/pipelines/stages/build-sqlclient-package-ci-stage.yml index 57343a0006..858f1c8500 100644 --- a/eng/pipelines/stages/build-sqlclient-package-ci-stage.yml +++ b/eng/pipelines/stages/build-sqlclient-package-ci-stage.yml @@ -56,6 +56,16 @@ parameters: - name: akvPackageVersion type: string + # The name of the SqlServer pipeline artifacts to download. + - name: sqlServerArtifactsName + type: string + default: SqlServer.Artifacts + + # The SqlServer package version. + - name: sqlServerPackageVersion + type: string + default: $(sqlServerPackageVersion) + # The C# project reference type to use when building and packing the packages. - name: referenceType type: string @@ -97,6 +107,8 @@ stages: mdsPackageVersion: ${{ parameters.mdsPackageVersion }} mdsArtifactsName: ${{ parameters.mdsArtifactsName }} akvPackageVersion: ${{ parameters.akvPackageVersion }} + sqlServerArtifactsName: ${{ parameters.sqlServerArtifactsName }} + sqlServerPackageVersion: ${{ parameters.sqlServerPackageVersion }} ${{ if ne(parameters.SNIVersion, '') }}: prebuildSteps: - template: /eng/pipelines/common/templates/steps/override-sni-version.yml@self diff --git a/src/Directory.Build.props b/src/Directory.Build.props index e760ebe9f3..f8ac03e168 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -35,7 +35,11 @@ - + + $(AkvProviderAssemblyVersion) $(AkvProviderFileVersion) diff --git a/src/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider/src/Versions.props b/src/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider/src/Versions.props index 31f85b7da4..dd9ddc03d5 100644 --- a/src/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider/src/Versions.props +++ b/src/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider/src/Versions.props @@ -13,13 +13,23 @@ NuGet package. It should be in the form: (Major).(Minor).(Patch)[-(Suffix)(BuildNumber)] --> + + + true + + - 7.0.0 + 7.1.0-preview1 diff --git a/src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/Abstractions.csproj b/src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/Abstractions.csproj index 45acd55488..0a9d29aa1e 100644 --- a/src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/Abstractions.csproj +++ b/src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/Abstractions.csproj @@ -22,7 +22,10 @@ - + + $(AbstractionsAssemblyVersion) $(AbstractionsFileVersion) @@ -71,9 +74,9 @@ + Condition="'$(ReferenceType)' != 'Package'" /> + Condition="'$(ReferenceType)' == 'Package'" /> diff --git a/src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/Versions.props b/src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/Versions.props index 14daeda570..cc6d4ca14a 100644 --- a/src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/Versions.props +++ b/src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/Versions.props @@ -13,6 +13,16 @@ naming. It must be in the form: (Major).0.0.0 --> + + + true + + - 1.0.0 + 1.1.0-preview1 diff --git a/src/Microsoft.Data.SqlClient.Extensions/Azure/src/Azure.csproj b/src/Microsoft.Data.SqlClient.Extensions/Azure/src/Azure.csproj index 423c55387f..dddf5673f9 100644 --- a/src/Microsoft.Data.SqlClient.Extensions/Azure/src/Azure.csproj +++ b/src/Microsoft.Data.SqlClient.Extensions/Azure/src/Azure.csproj @@ -22,7 +22,10 @@ - + + $(AzureAssemblyVersion) $(AzureFileVersion) diff --git a/src/Microsoft.Data.SqlClient.Extensions/Azure/src/Versions.props b/src/Microsoft.Data.SqlClient.Extensions/Azure/src/Versions.props index 3c4bb9dfac..636face4e6 100644 --- a/src/Microsoft.Data.SqlClient.Extensions/Azure/src/Versions.props +++ b/src/Microsoft.Data.SqlClient.Extensions/Azure/src/Versions.props @@ -13,13 +13,23 @@ form: (Major).(Minor).(Patch).(BuildNumber) --> + + + true + + - 1.0.0 + 1.1.0-preview1 diff --git a/src/Microsoft.Data.SqlClient.Internal/Logging/src/Logging.csproj b/src/Microsoft.Data.SqlClient.Internal/Logging/src/Logging.csproj index f8461d8b92..d1c3e0fc5c 100644 --- a/src/Microsoft.Data.SqlClient.Internal/Logging/src/Logging.csproj +++ b/src/Microsoft.Data.SqlClient.Internal/Logging/src/Logging.csproj @@ -24,7 +24,10 @@ - + + $(LoggingAssemblyVersion) $(LoggingFileVersion) diff --git a/src/Microsoft.Data.SqlClient.Internal/Logging/src/Versions.props b/src/Microsoft.Data.SqlClient.Internal/Logging/src/Versions.props index eeb25b93ca..9d031d21d0 100644 --- a/src/Microsoft.Data.SqlClient.Internal/Logging/src/Versions.props +++ b/src/Microsoft.Data.SqlClient.Internal/Logging/src/Versions.props @@ -13,6 +13,16 @@ naming. It must be in the form: (Major).0.0.0 --> + + + true + + - 1.0.0 + 1.1.0-preview1 diff --git a/src/Microsoft.Data.SqlClient/Versions.props b/src/Microsoft.Data.SqlClient/Versions.props index 2a915285b0..712263b73e 100644 --- a/src/Microsoft.Data.SqlClient/Versions.props +++ b/src/Microsoft.Data.SqlClient/Versions.props @@ -13,6 +13,16 @@ package. It should be in the form: (Major).(Minor).(Patch)[-(Suffix)(BuildNumber)] --> + + + true + + - + + $(SqlClientAssemblyVersion) $(SqlClientFileVersion) @@ -112,9 +115,9 @@ + + + + + @@ -156,7 +166,6 @@ - @@ -170,7 +179,6 @@ - diff --git a/src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.csproj index 0b6282965d..fe871099e6 100644 --- a/src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.csproj @@ -11,7 +11,10 @@ - + + $(SqlClientAssemblyVersion) $(SqlClientFileVersion) @@ -79,6 +82,13 @@ + + + + + @@ -112,7 +122,6 @@ - @@ -124,7 +133,6 @@ - diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj index cd7fdb4b79..d7a7ef060a 100644 --- a/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj @@ -50,7 +50,10 @@ - + + $(SqlClientAssemblyVersion) $(SqlClientFileVersion) @@ -87,6 +90,7 @@ $(RepoRoot)/src/Microsoft.Data.SqlClient.Internal/Logging/src/Logging.csproj $(RepoRoot)/src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/Versions.props $(RepoRoot)/src/Microsoft.Data.SqlClient.Internal/Logging/src/Versions.props + $(RepoRoot)/src/Microsoft.SqlServer.Server/Versions.props @@ -129,13 +133,15 @@ + + <_AbstractionsPackageVersionTrimmed>$([System.String]::Copy('$(AbstractionsPackageVersion)').Trim()) <_LoggingPackageVersionTrimmed>$([System.String]::Copy('$(LoggingPackageVersion)').Trim()) + <_SqlServerPackageVersionTrimmed>$([System.String]::Copy('$(SqlServerPackageVersion)').Trim()) - + - <_SqlClientPackNuspecExpandedText>$([System.IO.File]::ReadAllText('$(SqlClientPackNuspecTemplatePath)').Replace('$AbstractionsPackageVersion$','$(AbstractionsPackageVersion)').Replace('$LoggingPackageVersion$','$(LoggingPackageVersion)')) + <_SqlClientPackNuspecExpandedText>$([System.IO.File]::ReadAllText('$(SqlClientPackNuspecTemplatePath)').Replace('$AbstractionsPackageVersion$','$(AbstractionsPackageVersion)').Replace('$LoggingPackageVersion$','$(LoggingPackageVersion)').Replace('$SqlServerPackageVersion$','$(SqlServerPackageVersion)')) - + @@ -73,7 +73,7 @@ - + @@ -85,7 +85,7 @@ - + diff --git a/src/Microsoft.Data.SqlClient/tests/Common/Microsoft.Data.SqlClient.TestCommon.csproj b/src/Microsoft.Data.SqlClient/tests/Common/Microsoft.Data.SqlClient.TestCommon.csproj index 3f014f9fbe..71e4f305e1 100644 --- a/src/Microsoft.Data.SqlClient/tests/Common/Microsoft.Data.SqlClient.TestCommon.csproj +++ b/src/Microsoft.Data.SqlClient/tests/Common/Microsoft.Data.SqlClient.TestCommon.csproj @@ -3,6 +3,7 @@ Microsoft.Data.SqlClient.TestCommon Microsoft.Data.SqlClient.TestCommon enable + enable + + + + + @@ -367,7 +374,6 @@ - @@ -394,7 +400,6 @@ - diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/SqlServerTypesTest.cs b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/SqlServerTypesTest.cs index 3719a09328..b590a7c451 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/SqlServerTypesTest.cs +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/SqlServerTypesTest.cs @@ -35,6 +35,9 @@ public static class SqlServerTypesTest // Synapse: Parse error at line: 1, column: 48: Incorrect syntax near 'hierarchyid'. [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))] + #if NETFRAMEWORK + [Trait("Category", "signed")] // Requires strong-name signed Microsoft.SqlServer.Server + #endif public static void GetSchemaTableTest() { string db = new SqlConnectionStringBuilder(DataTestUtility.TCPConnectionString).InitialCatalog; @@ -61,6 +64,9 @@ public static void GetSchemaTableTest() // Synapse: Parse error at line: 1, column: 48: Incorrect syntax near 'hierarchyid'. [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))] + #if NETFRAMEWORK + [Trait("Category", "signed")] // Requires strong-name signed Microsoft.SqlServer.Server + #endif public static void GetValueTest() { using (SqlConnection conn = new SqlConnection(DataTestUtility.TCPConnectionString)) @@ -219,6 +225,9 @@ void ActAndAssert(int index, string expectedHexString) // Synapse: Parse error at line: 1, column: 41: Incorrect syntax near 'hierarchyid'. [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))] + #if NETFRAMEWORK + [Trait("Category", "signed")] // Requires strong-name signed Microsoft.SqlServer.Server + #endif public static void TestUdtSchemaMetadata() { using (SqlConnection connection = new SqlConnection(DataTestUtility.TCPConnectionString)) @@ -373,6 +382,9 @@ private static string GetUdtName(Type udtClrType) // Synapse: Parse error at line: 1, column: 8: Incorrect syntax near 'geometry'. [ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))] + #if NETFRAMEWORK + [Trait("Category", "signed")] // Requires strong-name signed Microsoft.SqlServer.Server + #endif public static void TestSqlServerTypesInsertAndRead() { string tableName = DataTestUtility.GetLongName("Type"); diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Address/Address.csproj b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Address/Address.csproj index d481e4cca6..c98b9b3fae 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Address/Address.csproj +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Address/Address.csproj @@ -1,4 +1,4 @@ - + Address Address @@ -16,6 +16,9 @@ - + + diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Circle/Circle.csproj b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Circle/Circle.csproj index 6066c1c751..db53171c6e 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Circle/Circle.csproj +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Circle/Circle.csproj @@ -1,4 +1,4 @@ - + Circle Circle @@ -16,6 +16,9 @@ - + + diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Shapes/Shapes.csproj b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Shapes/Shapes.csproj index 67f26c9ae9..e115355bfe 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Shapes/Shapes.csproj +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Shapes/Shapes.csproj @@ -16,6 +16,9 @@ - + + diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Utf8String/Utf8String.csproj b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Utf8String/Utf8String.csproj index aa1dd19dd2..02e0193f82 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Utf8String/Utf8String.csproj +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Utf8String/Utf8String.csproj @@ -16,6 +16,9 @@ - + + diff --git a/src/Microsoft.Data.SqlClient/tests/UnitTests/Microsoft.Data.SqlClient.UnitTests.csproj b/src/Microsoft.Data.SqlClient/tests/UnitTests/Microsoft.Data.SqlClient.UnitTests.csproj index 8c59d27572..82e900e54c 100644 --- a/src/Microsoft.Data.SqlClient/tests/UnitTests/Microsoft.Data.SqlClient.UnitTests.csproj +++ b/src/Microsoft.Data.SqlClient/tests/UnitTests/Microsoft.Data.SqlClient.UnitTests.csproj @@ -39,16 +39,26 @@ + + + + + + - @@ -65,7 +75,6 @@ - diff --git a/src/Microsoft.SqlServer.Server/Microsoft.SqlServer.Server.csproj b/src/Microsoft.SqlServer.Server/Microsoft.SqlServer.Server.csproj index ead90d9eac..a995fa13b9 100644 --- a/src/Microsoft.SqlServer.Server/Microsoft.SqlServer.Server.csproj +++ b/src/Microsoft.SqlServer.Server/Microsoft.SqlServer.Server.csproj @@ -6,7 +6,10 @@ - + + $(SqlServerAssemblyVersion) $(SqlServerFileVersion) diff --git a/src/Microsoft.SqlServer.Server/Versions.props b/src/Microsoft.SqlServer.Server/Versions.props index 0a342f9426..3615bd95a8 100644 --- a/src/Microsoft.SqlServer.Server/Versions.props +++ b/src/Microsoft.SqlServer.Server/Versions.props @@ -13,6 +13,16 @@ naming. It must be in the form: (Major).0.0.0 --> + + + true + + - 1.0.0 + 1.1.0-preview1