From e5a842bd4bd7fef49b571d02edfe82b3dccca885 Mon Sep 17 00:00:00 2001 From: MichaelSimons Date: Tue, 23 Nov 2021 17:45:25 +0000 Subject: [PATCH 1/8] Update nuspec project target frameworks for source-build This patch removes prebuilts caused from targetting netcoreapp1.0 Backported with https://github.com/microsoft/vstest/pull/3188 --- src/package/nuspec/Microsoft.TestPlatform.Build.csproj | 3 ++- src/package/nuspec/Microsoft.TestPlatform.CLI.csproj | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/package/nuspec/Microsoft.TestPlatform.Build.csproj b/src/package/nuspec/Microsoft.TestPlatform.Build.csproj index 038fbf8920..57cde8ef70 100644 --- a/src/package/nuspec/Microsoft.TestPlatform.Build.csproj +++ b/src/package/nuspec/Microsoft.TestPlatform.Build.csproj @@ -1,7 +1,8 @@ Exe - netcoreapp1.0 + netcoreapp1.0 + net6.0 false TestPlatform.Build.nuspec version=$(Version) diff --git a/src/package/nuspec/Microsoft.TestPlatform.CLI.csproj b/src/package/nuspec/Microsoft.TestPlatform.CLI.csproj index 29198ba2f3..19386eb246 100644 --- a/src/package/nuspec/Microsoft.TestPlatform.CLI.csproj +++ b/src/package/nuspec/Microsoft.TestPlatform.CLI.csproj @@ -1,7 +1,8 @@ Exe - netcoreapp1.0 + netcoreapp1.0 + net6.0 false TestPlatform.CLI.nuspec version=$(Version) From cd516883c866499bdde43128951a22c7b5c7d6ce Mon Sep 17 00:00:00 2001 From: Logan Bussell Date: Thu, 27 Jan 2022 16:48:22 -0800 Subject: [PATCH 2/8] add net6.0 target framework --- src/package/nuspec/TestPlatform.Build.nuspec | 1 + 1 file changed, 1 insertion(+) diff --git a/src/package/nuspec/TestPlatform.Build.nuspec b/src/package/nuspec/TestPlatform.Build.nuspec index 3808b2965f..ce99453b6d 100644 --- a/src/package/nuspec/TestPlatform.Build.nuspec +++ b/src/package/nuspec/TestPlatform.Build.nuspec @@ -21,6 +21,7 @@ + From dd1928a57d5ddcbb9dd0b7eac5434f829f69e3f4 Mon Sep 17 00:00:00 2001 From: Medeni Baykal <433724+Haplois@users.noreply.github.com> Date: Tue, 1 Feb 2022 00:15:03 +0100 Subject: [PATCH 3/8] Removed patch files from the repo --- .../0001-Build-for-NET-6.patch | 48 ------------------- 1 file changed, 48 deletions(-) delete mode 100644 eng/source-build-patches/0001-Build-for-NET-6.patch diff --git a/eng/source-build-patches/0001-Build-for-NET-6.patch b/eng/source-build-patches/0001-Build-for-NET-6.patch deleted file mode 100644 index 16993215da..0000000000 --- a/eng/source-build-patches/0001-Build-for-NET-6.patch +++ /dev/null @@ -1,48 +0,0 @@ -From cc24a98b1886861269afa3dae243f5eee63c70eb Mon Sep 17 00:00:00 2001 -From: Medeni Baykal <433724+Haplois@users.noreply.github.com> -Date: Thu, 17 Jun 2021 02:35:04 +0200 -Subject: [PATCH] Build for NET 6 - ---- - src/package/nuspec/TestPlatform.Build.nuspec | 6 +++--- - src/package/nuspec/TestPlatform.CLI.nuspec | 2 +- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/package/nuspec/TestPlatform.Build.nuspec b/src/package/nuspec/TestPlatform.Build.nuspec -index 3808b296..e70511ae 100644 ---- a/src/package/nuspec/TestPlatform.Build.nuspec -+++ b/src/package/nuspec/TestPlatform.Build.nuspec -@@ -20,16 +20,16 @@ - commit="$CommitId$" /> - - -- -+ - - - - - -- -+ - - -- -+ - - - -diff --git a/src/package/nuspec/TestPlatform.CLI.nuspec b/src/package/nuspec/TestPlatform.CLI.nuspec -index 0e72bf58..01b624c0 100644 ---- a/src/package/nuspec/TestPlatform.CLI.nuspec -+++ b/src/package/nuspec/TestPlatform.CLI.nuspec -@@ -29,6 +29,6 @@ - - - -- -+ - - -2.31.1.windows.1 - From 25cce3b3018638d8c9976ec1c806b2a748a1c382 Mon Sep 17 00:00:00 2001 From: Medeni Baykal <433724+Haplois@users.noreply.github.com> Date: Tue, 1 Feb 2022 01:19:58 +0100 Subject: [PATCH 4/8] Source-build fixes in build scripts. --- eng/SourceBuild.props | 14 ------ scripts/build.ps1 | 44 ++++++++++++++++--- scripts/build.sh | 11 +++-- src/package/external/external.csproj | 5 ++- .../Microsoft.TestPlatform.Build.csproj | 4 +- .../nuspec/Microsoft.TestPlatform.CLI.csproj | 4 +- src/package/nuspec/TestPlatform.Build.nuspec | 7 ++- src/package/nuspec/TestPlatform.CLI.nuspec | 2 +- 8 files changed, 56 insertions(+), 35 deletions(-) diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props index 68f8259274..00b1a0b56a 100644 --- a/eng/SourceBuild.props +++ b/eng/SourceBuild.props @@ -15,18 +15,4 @@ $(InnerBuildArgs) -c $(Configuration) - - - - - - - - - diff --git a/scripts/build.ps1 b/scripts/build.ps1 index a8e3a46473..69e8fb7892 100644 --- a/scripts/build.ps1 +++ b/scripts/build.ps1 @@ -770,8 +770,6 @@ function Create-NugetPackages "Microsoft.TestPlatform.AdapterUtilities.nuspec", "Microsoft.TestPlatform.nuspec", "Microsoft.TestPlatform.Portable.nuspec", - "TestPlatform.Build.nuspec", - "TestPlatform.CLI.nuspec", "TestPlatform.Extensions.TrxLogger.nuspec", "TestPlatform.ObjectModel.nuspec", "TestPlatform.TestHost.nuspec", @@ -779,13 +777,33 @@ function Create-NugetPackages "TestPlatform.Internal.Uwp.nuspec" ) - $targetFiles = @("Microsoft.CodeCoverage.targets") - $propFiles = @("Microsoft.NET.Test.Sdk.props", "Microsoft.CodeCoverage.props") - $contentDirs = @("netcoreapp", "netfx") + $projectFiles = @( + "Microsoft.TestPlatform.CLI.csproj", + "Microsoft.TestPlatform.Build.csproj" + ) + + $dependencies = @( + "TestPlatform.Build.nuspec", + "TestPlatform.CLI.nuspec", + + ## .target and .props Files + "Microsoft.NET.Test.Sdk.props", + "Microsoft.CodeCoverage.props", + "Microsoft.CodeCoverage.targets", + + ## Content Directories + "netcoreapp", + "netfx" + ) # Nuget pack analysis emits warnings if binaries are packaged as content. It is intentional for the below packages. - $skipAnalysis = @("TestPlatform.CLI.nuspec") - foreach ($item in $nuspecFiles + $targetFiles + $propFiles + $contentDirs) { + $skipAnalysis = @( + "TestPlatform.CLI.nuspec", + "Microsoft.TestPlatform.CLI.csproj" + ) + + + foreach ($item in $nuspecFiles + $projectFiles + $dependencies) { Copy-Item $tpNuspecDir\$item $stagingDir -Force -Recurse } @@ -810,6 +828,7 @@ function Create-NugetPackages # Call nuget pack on these components. $nugetExe = Join-Path $env:TP_PACKAGES_DIR -ChildPath "Nuget.CommandLine" | Join-Path -ChildPath $env:NUGET_EXE_Version | Join-Path -ChildPath "tools\NuGet.exe" + $dotnetExe = Get-DotNetPath # Pass Newtonsoft.Json version to nuget pack to keep the version consistent across all nuget packages. $JsonNetVersion = ([xml](Get-Content $env:TP_ROOT_DIR\scripts\build\TestPlatform.Dependencies.props)).Project.PropertyGroup.JsonNetVersion @@ -839,6 +858,17 @@ function Create-NugetPackages Invoke-Exe $nugetExe -Arguments "pack $stagingDir\$file -OutputDirectory $packageOutputDir -Version $TPB_Version -Properties Version=$TPB_Version;JsonNetVersion=$JsonNetVersion;Runtime=$TPB_TargetRuntime;NetCoreTargetFramework=$TPB_TargetFrameworkCore20;FakesPackageDir=$FakesPackageDir;NetStandard10Framework=$TPB_TargetFrameworkNS10;NetStandard13Framework=$TPB_TargetFrameworkNS13;NetStandard20Framework=$TPB_TargetFrameworkNS20;Uap10Framework=$uap10Nuget;BranchName=$TPB_BRANCH;CommitId=$TPB_COMMIT $additionalArgs" } + foreach ($file in $projectFiles) { + $additionalArgs = "" + if ($skipAnalysis -contains $file) { + $additionalArgs = "-NoPackageAnalysis" + } + + Write-Host "Attempting to build package from '$file'." + Invoke-Exe $dotnetExe -Arguments "restore $stagingDir\$file" -CaptureOutput | Out-Null + Invoke-Exe $dotnetExe -Arguments "pack --no-build $stagingDir\$file -o $packageOutputDir -p:Version=$TPB_Version -p:BranchName=`"$TPB_BRANCH`" -p:CommitId=`"$TPB_COMMIT`" /bl:pack_$file.binlog" + } + # Verifies that expected number of files gets shipped in nuget packages. # Few nuspec uses wildcard characters. Verify-Nuget-Packages $packageOutputDir $TPB_Version diff --git a/scripts/build.sh b/scripts/build.sh index 40f6c644b4..d5abc3d3c4 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -151,6 +151,9 @@ TPB_Verbose=$VERBOSE TPB_EXTERNALS_VERSION=$(grep TestPlatformExternalsVersion $TP_ROOT_DIR/scripts/build/TestPlatform.Dependencies.props | head -1 | cut -d'>' -f2 | cut -d'<' -f1 || echo $VERSION) TPB_CC_EXTERNALS_VERSION=$(grep MicrosoftInternalCodeCoverageVersion $TP_ROOT_DIR/eng/Versions.props | head -1 | cut -d'>' -f2 | cut -d'<' -f1 || echo $VERSION) +TPB_BRANCH="$(git -C "." rev-parse --abbrev-ref HEAD 2>/dev/null)" || TPB_BRANCH="LOCALBRANCH" # detached HEAD +TPB_COMMIT="$(git -C "." rev-parse HEAD 2>/dev/null)" || TPB_COMMIT="LOCALBUILD" # detached HEAD + if [[ $TP_USE_REPO_API = 1 ]]; then TPB_TargetFrameworkCore="net6.0" fi @@ -508,15 +511,15 @@ function create_package() for i in ${projectFiles[@]}; do if [[ $TP_USE_REPO_API = 0 ]]; then - log "$dotnet pack --no-build $stagingDir/${i} -o $packageOutputDir -p:Version=$TPB_Version" + log "$dotnet pack --no-build $stagingDir/${i} -o $packageOutputDir -p:Version=$TPB_Version -p:BranchName=$TPB_BRANCH -p:CommitId=$TPB_COMMIT" $dotnet restore $stagingDir/${i} \ - && $dotnet pack --no-build $stagingDir/${i} -o $packageOutputDir -p:Version=$TPB_Version /bl:pack_$i.binlog + && $dotnet pack --no-build $stagingDir/${i} -o $packageOutputDir -p:Version=$TPB_Version -p:BranchName="$TPB_BRANCH" -p:CommitId="$TPB_COMMIT" /bl:pack_$i.binlog else - log "$dotnet pack --no-build $stagingDir/${i} -o $packageOutputDir -p:Version=$TPB_Version (Source Build)" + log "$dotnet pack --no-build $stagingDir/${i} -o $packageOutputDir -p:Version=$TPB_Version -p:BranchName=$TPB_BRANCH -p:CommitId=$TPB_COMMIT (Source Build)" $dotnet restore $stagingDir/${i} \ - && $dotnet pack --no-build $stagingDir/${i} -o $packageOutputDir -p:Version=$TPB_Version /bl:pack_$i.binlog -p:DotNetBuildFromSource=true + && $dotnet pack --no-build $stagingDir/${i} -o $packageOutputDir -p:Version=$TPB_Version /bl:pack_$i.binlog -p:DotNetBuildFromSource=true -p:BranchName="$TPB_BRANCH" -p:CommitId="$TPB_COMMIT" fi done diff --git a/src/package/external/external.csproj b/src/package/external/external.csproj index 3d9ecdca1f..a605a25a8d 100644 --- a/src/package/external/external.csproj +++ b/src/package/external/external.csproj @@ -31,6 +31,10 @@ + + + + @@ -42,7 +46,6 @@ - diff --git a/src/package/nuspec/Microsoft.TestPlatform.Build.csproj b/src/package/nuspec/Microsoft.TestPlatform.Build.csproj index 57cde8ef70..6f3480e8ab 100644 --- a/src/package/nuspec/Microsoft.TestPlatform.Build.csproj +++ b/src/package/nuspec/Microsoft.TestPlatform.Build.csproj @@ -1,11 +1,11 @@ Exe - netcoreapp1.0 + netstandard2.0 net6.0 false TestPlatform.Build.nuspec - version=$(Version) + BranchName=$(BranchName);CommitId=$(CommitId);Version=$(Version);TargetFramework=$(TargetFramework) false diff --git a/src/package/nuspec/Microsoft.TestPlatform.CLI.csproj b/src/package/nuspec/Microsoft.TestPlatform.CLI.csproj index 19386eb246..23d2904bf5 100644 --- a/src/package/nuspec/Microsoft.TestPlatform.CLI.csproj +++ b/src/package/nuspec/Microsoft.TestPlatform.CLI.csproj @@ -1,11 +1,11 @@ Exe - netcoreapp1.0 + netstandard2.0 net6.0 false TestPlatform.CLI.nuspec - version=$(Version) + BranchName=$(BranchName);CommitId=$(CommitId);Version=$(Version);TargetFramework=$(TargetFramework) false diff --git a/src/package/nuspec/TestPlatform.Build.nuspec b/src/package/nuspec/TestPlatform.Build.nuspec index ce99453b6d..b1fa93aa3a 100644 --- a/src/package/nuspec/TestPlatform.Build.nuspec +++ b/src/package/nuspec/TestPlatform.Build.nuspec @@ -20,17 +20,16 @@ commit="$CommitId$" /> - - + - + - + diff --git a/src/package/nuspec/TestPlatform.CLI.nuspec b/src/package/nuspec/TestPlatform.CLI.nuspec index 0e72bf5885..e3d1c20172 100644 --- a/src/package/nuspec/TestPlatform.CLI.nuspec +++ b/src/package/nuspec/TestPlatform.CLI.nuspec @@ -29,6 +29,6 @@ - + From e676563061fcbb5150b7d3ce51edece9b2f41216 Mon Sep 17 00:00:00 2001 From: Medeni Baykal <433724+Haplois@users.noreply.github.com> Date: Tue, 1 Feb 2022 01:49:52 +0100 Subject: [PATCH 5/8] Fixed build.sh --- scripts/build.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/scripts/build.sh b/scripts/build.sh index d5abc3d3c4..0188e57489 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -513,16 +513,18 @@ function create_package() if [[ $TP_USE_REPO_API = 0 ]]; then log "$dotnet pack --no-build $stagingDir/${i} -o $packageOutputDir -p:Version=$TPB_Version -p:BranchName=$TPB_BRANCH -p:CommitId=$TPB_COMMIT" - $dotnet restore $stagingDir/${i} \ - && $dotnet pack --no-build $stagingDir/${i} -o $packageOutputDir -p:Version=$TPB_Version -p:BranchName="$TPB_BRANCH" -p:CommitId="$TPB_COMMIT" /bl:pack_$i.binlog + $dotnet restore $stagingDir/${i} -p:Version=$TPB_Version -p:BranchName="$TPB_BRANCH" -p:CommitId="$TPB_COMMIT" -bl:pack_$i.binlog \ + && $dotnet pack --no-build $stagingDir/${i} -o $packageOutputDir -p:Version=$TPB_Version -p:BranchName="$TPB_BRANCH" -p:CommitId="$TPB_COMMIT" -bl:pack_$i.binlog else - log "$dotnet pack --no-build $stagingDir/${i} -o $packageOutputDir -p:Version=$TPB_Version -p:BranchName=$TPB_BRANCH -p:CommitId=$TPB_COMMIT (Source Build)" + log "$dotnet pack --no-build $stagingDir/${i} -o $packageOutputDir -p:Version=$TPB_Version -p:BranchName=$TPB_BRANCH -p:CommitId=$TPB_COMMIT -p:DotNetBuildFromSource=true (Source Build)" - $dotnet restore $stagingDir/${i} \ - && $dotnet pack --no-build $stagingDir/${i} -o $packageOutputDir -p:Version=$TPB_Version /bl:pack_$i.binlog -p:DotNetBuildFromSource=true -p:BranchName="$TPB_BRANCH" -p:CommitId="$TPB_COMMIT" + $dotnet restore $stagingDir/${i} -p:Version=$TPB_Version -bl:restore_$i.binlog -p:DotNetBuildFromSource=true -p:BranchName="$TPB_BRANCH" -p:CommitId="$TPB_COMMIT" \ + && $dotnet pack --no-build $stagingDir/${i} -o $packageOutputDir -p:Version=$TPB_Version -bl:pack_$i.binlog -p:DotNetBuildFromSource=true -p:BranchName="$TPB_BRANCH" -p:CommitId="$TPB_COMMIT" fi done + + log "Create-NugetPackages: Elapsed $(( SECONDS - start ))s." } From 8ab64992b7035281b929f633ccc1fb1db7e41bb4 Mon Sep 17 00:00:00 2001 From: Medeni Baykal <433724+Haplois@users.noreply.github.com> Date: Tue, 1 Feb 2022 01:56:47 +0100 Subject: [PATCH 6/8] Externals fixed --- src/package/external/external.csproj | 2 +- src/package/nuspec/Microsoft.TestPlatform.CLI.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/package/external/external.csproj b/src/package/external/external.csproj index a605a25a8d..44c40bd75c 100644 --- a/src/package/external/external.csproj +++ b/src/package/external/external.csproj @@ -31,7 +31,7 @@ - + diff --git a/src/package/nuspec/Microsoft.TestPlatform.CLI.csproj b/src/package/nuspec/Microsoft.TestPlatform.CLI.csproj index 23d2904bf5..b74d7ba0a6 100644 --- a/src/package/nuspec/Microsoft.TestPlatform.CLI.csproj +++ b/src/package/nuspec/Microsoft.TestPlatform.CLI.csproj @@ -1,7 +1,7 @@ Exe - netstandard2.0 + netcoreapp2.1 net6.0 false TestPlatform.CLI.nuspec From bde2ab123139b1102d04ebbc5a5bd299be3deaf1 Mon Sep 17 00:00:00 2001 From: Logan Bussell Date: Thu, 3 Mar 2022 13:29:51 -0800 Subject: [PATCH 7/8] condition out System.Private.Uri since it isn't produced or needed during source-build --- .../Microsoft.TestPlatform.AdapterUtilities.csproj | 2 +- src/testhost.x86/testhost.x86.csproj | 2 +- src/testhost/testhost.csproj | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.TestPlatform.AdapterUtilities/Microsoft.TestPlatform.AdapterUtilities.csproj b/src/Microsoft.TestPlatform.AdapterUtilities/Microsoft.TestPlatform.AdapterUtilities.csproj index e3c9696e76..1f918f8c14 100644 --- a/src/Microsoft.TestPlatform.AdapterUtilities/Microsoft.TestPlatform.AdapterUtilities.csproj +++ b/src/Microsoft.TestPlatform.AdapterUtilities/Microsoft.TestPlatform.AdapterUtilities.csproj @@ -46,7 +46,7 @@ - + diff --git a/src/testhost.x86/testhost.x86.csproj b/src/testhost.x86/testhost.x86.csproj index b17fe654e2..83ae73f9af 100644 --- a/src/testhost.x86/testhost.x86.csproj +++ b/src/testhost.x86/testhost.x86.csproj @@ -41,7 +41,7 @@ - + diff --git a/src/testhost/testhost.csproj b/src/testhost/testhost.csproj index fabffdd89a..e80897d728 100644 --- a/src/testhost/testhost.csproj +++ b/src/testhost/testhost.csproj @@ -42,7 +42,7 @@ - + From 40ca0f2f38bc1471084b650dd15e0ec31984c575 Mon Sep 17 00:00:00 2001 From: Logan Bussell Date: Thu, 3 Mar 2022 13:30:18 -0800 Subject: [PATCH 8/8] don't include non-free Visual Studio packages in source-build --- src/package/external/external.csproj | 5 +---- .../Microsoft.TestPlatform.Utilities.UnitTests.csproj | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/package/external/external.csproj b/src/package/external/external.csproj index 44c40bd75c..0331d5a308 100644 --- a/src/package/external/external.csproj +++ b/src/package/external/external.csproj @@ -31,10 +31,6 @@ - - - - @@ -45,6 +41,7 @@ + diff --git a/test/Microsoft.TestPlatform.Utilities.UnitTests/Microsoft.TestPlatform.Utilities.UnitTests.csproj b/test/Microsoft.TestPlatform.Utilities.UnitTests/Microsoft.TestPlatform.Utilities.UnitTests.csproj index b1ada1e9c5..1cbdc695ff 100644 --- a/test/Microsoft.TestPlatform.Utilities.UnitTests/Microsoft.TestPlatform.Utilities.UnitTests.csproj +++ b/test/Microsoft.TestPlatform.Utilities.UnitTests/Microsoft.TestPlatform.Utilities.UnitTests.csproj @@ -20,7 +20,7 @@ 1.0.3 - +