diff --git a/NuGet.config b/NuGet.config
index eabdff8e9..d2a6d621d 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -20,5 +20,14 @@
-
+
+
+
+
+
+
+
+
+
+
diff --git a/README.md b/README.md
index fa2dc039b..392931eb6 100644
--- a/README.md
+++ b/README.md
@@ -58,9 +58,10 @@ This repo also contains code to help you build the entire .NET product end-to-en
# Build status
-|All legs|
-|:------:|
-|[](https://dev.azure.com/dnceng/internal/_build?definitionId=286)|
+Visibility|All legs|
+|:------|:------|
+|Public|[](https://dev.azure.com/dnceng/public/_build?definitionId=176)|
+|Microsoft Internal|[](https://dev.azure.com/dnceng/internal/_build?definitionId=286)|
Installers and Binaries
-----------------------
diff --git a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml
index 236f22cb0..37c596b35 100644
--- a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml
+++ b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml
@@ -12,7 +12,11 @@ jobs:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
variables:
- _BuildConfig: Release
+ - name: _BuildConfig
+ value: Release
+
+ - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+ - group: DotNet-Source-Build-All-Orgs-Source-Access
workspace:
clean: all
@@ -50,10 +54,26 @@ jobs:
$officialBuildArgs \
$internalRuntimeDownloadArgs \
/p:DotNetPublishUsingPipelines=true \
- /p:ArcadeBuildTarball=true
+ /p:ArcadeBuildTarball=true \
+ /p:AzDoPat=$(dn-bot-all-orgs-build-rw-code-rw)
displayName: Create Tarball
- - template: /src/SourceBuild/Arcade/eng/common/templates/steps/source-build-publish-logs.yml
+ - task: CopyFiles@2
+ displayName: Prepare BuildLogs staging directory
+ inputs:
+ Contents: |
+ **/*.log
+ **/*.binlog
+ TargetFolder: '$(Build.StagingDirectory)/BuildLogs'
+ CleanTargetFolder: true
+ continueOnError: true
+ condition: succeededOrFailed()
+
+ - publish: '$(Build.StagingDirectory)/BuildLogs'
+ artifact: $(Agent.JobName)_BuildLogs_Attempt$(System.JobAttempt)
+ displayName: Publish BuildLogs
+ continueOnError: true
+ condition: succeededOrFailed()
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
# Check if the tarball should be built now so the result can be used in the build tarball job condition.
diff --git a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml
index afe11415a..f1e4f13de 100644
--- a/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml
+++ b/src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml
@@ -12,7 +12,11 @@ parameters:
# The following parameters aren't expected to be passed in rather they are used for encapsulation
# -----------------------------------------------------------------------------------------------
+ centOS7Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-source-build-20210714125450-5d87b80
+ centOS8Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-8-source-build-20211118190102-9355e7b
+ debian9Container: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-stretch-20211001171226-047508b
fedora33Container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-33-20210222183538-031e7d2
+ ubuntu1804Container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-20210924170306-047508b
poolInternal:
name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
@@ -35,15 +39,38 @@ jobs:
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
strategy:
matrix:
- Fedora33-Online:
+ CentOS7-Online:
+ _BootstrapPrep: true
_BuildArch: x64
- _Container: ${{ parameters.fedora33Container }}
+ _Container: ${{ parameters.centOS7Container }}
+ _ExcludeOmniSharpTests: true
_RunOnline: true
- Fedora33-Offline:
- _BuildArch: x64
- _Container: ${{ parameters.fedora33Container }}
- _RunOnline: false
- timeoutInMinutes: 240
+ ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
+ CentOS7-Offline:
+ _BootstrapPrep: true
+ _BuildArch: x64
+ _Container: ${{ parameters.centOS7Container }}
+ _ExcludeOmniSharpTests: true
+ _RunOnline: false
+ CentOS8-Offline:
+ _BootstrapPrep: true
+ _BuildArch: x64
+ _Container: ${{ parameters.centOS8Container }}
+ _ExcludeOmniSharpTests: false
+ _RunOnline: false
+ Fedora33-Offline:
+ _BootstrapPrep: false
+ _BuildArch: x64
+ _Container: ${{ parameters.fedora33Container }}
+ _ExcludeOmniSharpTests: false
+ _RunOnline: false
+ Ubuntu1804-Offline:
+ _BootstrapPrep: true
+ _BuildArch: x64
+ _Container: ${{ parameters.ubuntu1804Container }}
+ _ExcludeOmniSharpTests: false
+ _RunOnline: false
+ timeoutInMinutes: 300
workspace:
clean: all
@@ -54,10 +81,16 @@ jobs:
parameters:
buildArch: $(_BuildArch)
container: $(_Container)
+ excludeOmniSharpTests: $(_ExcludeOmniSharpTests)
prepScript: |
set -x
- docker run --rm -v ${{ parameters.tarballDir }}:/tarball -w /tarball $(_Container) ./prep.sh
+ customPrepArgs=
+ if [ '$(_BootstrapPrep)' = 'true' ]; then
+ customPrepArgs='--bootstrap'
+ fi
+
+ docker run --rm -v ${{ parameters.tarballDir }}:/tarball -w /tarball $(_Container) ./prep.sh ${customPrepArgs}
runOnline: $(_RunOnline)
tarballDir: ${{ parameters.tarballDir }}
tarballResourceId: ${{ parameters.tarballResourceId }}
diff --git a/src/SourceBuild/Arcade/eng/common/templates/steps/source-build-build-tarball.yml b/src/SourceBuild/Arcade/eng/common/templates/steps/source-build-build-tarball.yml
index 30e55607d..2891bdc13 100644
--- a/src/SourceBuild/Arcade/eng/common/templates/steps/source-build-build-tarball.yml
+++ b/src/SourceBuild/Arcade/eng/common/templates/steps/source-build-build-tarball.yml
@@ -10,6 +10,9 @@ parameters:
# Container image to build within
container: null
+ # Skip running the OmniSharp smoke-tests
+ excludeOmniSharpTests: false
+
# Script logic to prep the tarball for building
prepScript: null
@@ -63,12 +66,32 @@ steps:
- script: |
set -x
- docker run --rm -v ${{ parameters.tarballDir }}:/tarball -w /tarball ${{ parameters.container }} ./build.sh --run-smoke-test ${{ parameters.additionalBuildArgs }}
+ docker run --rm -v ${{ parameters.tarballDir }}:/tarball -w /tarball -e excludeOmniSharpTests=${{ parameters.excludeOmniSharpTests}} ${{ parameters.container }} ./build.sh --run-smoke-test ${{ parameters.additionalBuildArgs }}
displayName: Run Tests
- - template: /src/SourceBuild/Arcade/eng/common/templates/steps/source-build-publish-logs.yml
- parameters:
- sourceFolder: ${{ parameters.tarballDir }}
+ # Don't use CopyFiles@2 as it encounters permissions issues because it indexes all files in the source directory graph.
+ - script: |
+ set -x
+
+ targetFolder=$(Build.StagingDirectory)/BuildLogs/
+ mkdir -p ${targetFolder}
+
+ cd "${{ parameters.tarballDir }}"
+ find artifacts/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
+ find artifacts/ -type f -name "*.log" -exec cp {} --parents -t ${targetFolder} \;
+ find artifacts/prebuilt-report/ -exec cp {} --parents -t ${targetFolder} \;
+ find src/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
+ find src/ -type f -name "*.log" -exec cp {} --parents -t ${targetFolder} \;
+ find testing-smoke/logs -exec cp {} --parents -t ${targetFolder} \;
+ displayName: Prepare BuildLogs staging directory
+ continueOnError: true
+ condition: succeededOrFailed()
+
+ - publish: '$(Build.StagingDirectory)/BuildLogs'
+ artifact: $(Agent.JobName)_BuildLogs_Attempt$(System.JobAttempt)
+ displayName: Publish BuildLogs
+ continueOnError: true
+ condition: succeededOrFailed()
- publish: '${{ parameters.tarballDir }}/artifacts/${{ parameters.buildArch}}/Release/'
artifact: $(Agent.JobName)_Artifacts
diff --git a/src/SourceBuild/Arcade/eng/common/templates/steps/source-build-publish-logs.yml b/src/SourceBuild/Arcade/eng/common/templates/steps/source-build-publish-logs.yml
deleted file mode 100644
index f26933bc9..000000000
--- a/src/SourceBuild/Arcade/eng/common/templates/steps/source-build-publish-logs.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-# Gathers and publishes the build logs for a source-build
-
-parameters:
- # Folder to scan for source-build logs from
- sourceFolder: $(Build.SourcesDirectory)
-
-steps:
-- task: CopyFiles@2
- displayName: Prepare BuildLogs staging directory
- inputs:
- SourceFolder: '${{ parameters.sourceFolder }}'
- Contents: |
- **/*.log
- **/*.binlog
- artifacts/prebuilt-report/*
- TargetFolder: '$(Build.StagingDirectory)/BuildLogs'
- CleanTargetFolder: true
- continueOnError: true
- condition: succeededOrFailed()
-
-- publish: '$(Build.StagingDirectory)/BuildLogs'
- artifact: $(Agent.JobName)_BuildLogs_Attempt$(System.JobAttempt)
- displayName: Publish BuildLogs
- continueOnError: true
- condition: succeededOrFailed()
diff --git a/src/SourceBuild/Arcade/src/Tarball_ReadSourceBuildIntermediateNupkgDependencies.cs b/src/SourceBuild/Arcade/src/Tarball_ReadSourceBuildIntermediateNupkgDependencies.cs
index 59f7eb499..9b6365dfc 100644
--- a/src/SourceBuild/Arcade/src/Tarball_ReadSourceBuildIntermediateNupkgDependencies.cs
+++ b/src/SourceBuild/Arcade/src/Tarball_ReadSourceBuildIntermediateNupkgDependencies.cs
@@ -3,6 +3,7 @@
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
@@ -21,6 +22,11 @@ namespace Microsoft.DotNet.SourceBuild.Tasks
[Required]
public string SourceBuildIntermediateNupkgPrefix { get; set; }
+ ///
+ /// Convert any internal repo references to the public GitHub repos.
+ ///
+ public bool ConvertInternalRepos { get; set; }
+
///
/// The intermediate nupkg RID to use if any RID-specific intermediate nupkgs are required.
/// If this parameter isn't specified, RID-specific intermediate nupkgs can't be used and
@@ -88,6 +94,11 @@ namespace Microsoft.DotNet.SourceBuild.Tasks
string dependencyVersion = d.Attribute("Version")?.Value;
string uri = d.Element(CreateQualifiedName("Uri"))?.Value;
+ if (ConvertInternalRepos)
+ {
+ uri = ConvertInternalRepo(uri);
+ }
+
string sha = d.Element(CreateQualifiedName("Sha"))?.Value;
string sourceBuildRepoName = sourceBuildElement.Attribute("RepoName")?.Value;
@@ -137,5 +148,33 @@ namespace Microsoft.DotNet.SourceBuild.Tasks
return !Log.HasLoggedErrors;
}
+
+ private string ConvertInternalRepo(string uri)
+ {
+ if (uri.StartsWith("https://dev.azure.com", StringComparison.OrdinalIgnoreCase))
+ {
+ string[] repoParts = uri.Substring(uri.LastIndexOf('/')).Split('-', 2);
+
+ if (repoParts.Length != 2)
+ {
+ Log.LogError($"Repo '{uri}' does not end with the expected - format");
+ return null;
+ }
+
+ string org = repoParts[0];
+ string repo = repoParts[1];
+
+ // The internal Nuget.Client repo has suffix which needs to be accounted for.
+ const string trustedSuffix = "-Trusted";
+ if (uri.EndsWith(trustedSuffix, StringComparison.OrdinalIgnoreCase))
+ {
+ repo = repo.Substring(0, repo.Length - trustedSuffix.Length);
+ }
+
+ uri = $"https://github.com/{org}/{repo}";
+ }
+
+ return uri;
+ }
}
}
diff --git a/src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets b/src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets
index 75fd838e8..9a49c3499 100644
--- a/src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets
+++ b/src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets
@@ -19,6 +19,7 @@
$(TarballRootDir)src/
$(TarballRootDir)git-info/
quiet
+ true
$(TarballSourceDir)$(SourceDir)eng/
$(TarballRepoSourceEngDir)Version.Details.xml
-q
+ $(RepoUri.Replace('https://dev.azure.com', 'https://dn-bot:$(AzDoPat)@dev.azure.com'))
@@ -202,7 +204,8 @@
+ SourceBuildIntermediateNupkgRid="$(SourceBuildIntermediateNupkgRid)"
+ ConvertInternalRepos="$(ConvertInternalRepos)">
diff --git a/src/SourceBuild/tarball/content/build.sh b/src/SourceBuild/tarball/content/build.sh
index 6379f0aee..dcdf29b89 100755
--- a/src/SourceBuild/tarball/content/build.sh
+++ b/src/SourceBuild/tarball/content/build.sh
@@ -155,11 +155,12 @@ echo "Found bootstrap SDK $SDK_VERSION, bootstrap Arcade $ARCADE_BOOTSTRAP_VERSI
export DOTNET_CLI_TELEMETRY_OPTOUT=1
export NUGET_PACKAGES=$restoredPackagesDir/
-if [ "$alternateTarget" == "true" ]; then
- "$CLI_ROOT/dotnet" $CLI_ROOT/sdk/$SDK_VERSION/MSBuild.dll "$SCRIPT_ROOT/build.proj" /bl:source-build-test.binlog /clp:v=m ${MSBUILD_ARGUMENTS[@]} "$@"
-else
- LogDateStamp=$(date +"%m%d%H%M%S")
- $CLI_ROOT/dotnet $CLI_ROOT/sdk/$SDK_VERSION/MSBuild.dll /bl:$SCRIPT_ROOT/artifacts/log/Debug/BuildXPlatTasks_$LogDateStamp.binlog $SCRIPT_ROOT/tools-local/init-build.proj /t:PrepareOfflineLocalTools ${MSBUILD_ARGUMENTS[@]} "$@"
+LogDateStamp=$(date +"%m%d%H%M%S")
- $CLI_ROOT/dotnet $CLI_ROOT/sdk/$SDK_VERSION/MSBuild.dll /bl:$SCRIPT_ROOT/artifacts/log/Debug/Build_$LogDateStamp.binlog $SCRIPT_ROOT/build.proj ${MSBUILD_ARGUMENTS[@]} "$@"
+if [ "$alternateTarget" == "true" ]; then
+ "$CLI_ROOT/dotnet" $CLI_ROOT/sdk/$SDK_VERSION/MSBuild.dll "$SCRIPT_ROOT/build.proj" /bl:$SCRIPT_ROOT/artifacts/log/Debug/BuildTests_$LogDateStamp.binlog /fileLoggerParameters:LogFile=$SCRIPT_ROOT/artifacts/logs/BuildTests_$LogDateStamp.log /clp:v=m ${MSBUILD_ARGUMENTS[@]} "$@"
+else
+ $CLI_ROOT/dotnet $CLI_ROOT/sdk/$SDK_VERSION/MSBuild.dll /bl:$SCRIPT_ROOT/artifacts/log/Debug/BuildXPlatTasks_$LogDateStamp.binlog /fileLoggerParameters:LogFile=$SCRIPT_ROOT/artifacts/logs/BuildXPlatTasks_$LogDateStamp.log $SCRIPT_ROOT/tools-local/init-build.proj /t:PrepareOfflineLocalTools ${MSBUILD_ARGUMENTS[@]} "$@"
+
+ $CLI_ROOT/dotnet $CLI_ROOT/sdk/$SDK_VERSION/MSBuild.dll /bl:$SCRIPT_ROOT/artifacts/log/Debug/Build_$LogDateStamp.binlog /fileLoggerParameters:LogFile=$SCRIPT_ROOT/artifacts/logs/Build_$LogDateStamp.log $SCRIPT_ROOT/build.proj ${MSBUILD_ARGUMENTS[@]} "$@"
fi
diff --git a/src/SourceBuild/tarball/content/eng/Versions.props b/src/SourceBuild/tarball/content/eng/Versions.props
index 4701139f6..1925782b6 100644
--- a/src/SourceBuild/tarball/content/eng/Versions.props
+++ b/src/SourceBuild/tarball/content/eng/Versions.props
@@ -1,15 +1,5 @@
-
-
- 6
- 0
- 0-preview.6
- 100-preview.6
- $(MajorVersion).$(MinorVersion).$(RuntimePatchVersion)
- $(MajorVersion).$(MinorVersion).$(RuntimePatchVersion)
- $(MajorVersion).$(MinorVersion).$(SdkPatchVersion)
-
0.1.0
diff --git a/src/SourceBuild/tarball/content/prep.sh b/src/SourceBuild/tarball/content/prep.sh
index 9e749fc2b..e3225d309 100755
--- a/src/SourceBuild/tarball/content/prep.sh
+++ b/src/SourceBuild/tarball/content/prep.sh
@@ -118,7 +118,7 @@ if [ "$buildBootstrap" == "true" ]; then
fi
# Run restore on project to initiate download of bootstrap packages
- $DOTNET_SDK_PATH/dotnet restore $workingDir/buildBootstrapPreviouslySB.csproj /bl /p:ArchiveDir="$SCRIPT_ROOT/packages/archive/"
+ $DOTNET_SDK_PATH/dotnet restore $workingDir/buildBootstrapPreviouslySB.csproj /bl:artifacts/prep/bootstrap.binlog /fileLoggerParameters:LogFile=artifacts/prep/bootstrap.log /p:ArchiveDir="$SCRIPT_ROOT/packages/archive/"
# Remove working directory
rm -rf $workingDir
diff --git a/src/SourceBuild/tarball/content/repos/Directory.Build.targets b/src/SourceBuild/tarball/content/repos/Directory.Build.targets
index f7bf1d2bd..05e685273 100644
--- a/src/SourceBuild/tarball/content/repos/Directory.Build.targets
+++ b/src/SourceBuild/tarball/content/repos/Directory.Build.targets
@@ -758,7 +758,7 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SourceBuild/tarball/content/smoke-test.sh b/src/SourceBuild/tarball/content/smoke-test.sh
index 2a0b789e6..d08484ef0 100755
--- a/src/SourceBuild/tarball/content/smoke-test.sh
+++ b/src/SourceBuild/tarball/content/smoke-test.sh
@@ -51,10 +51,13 @@ excludeWebNoHttpsTests=false
excludeWebHttpsTests=false
excludeLocalTests=false
excludeOnlineTests=false
+excludeOmniSharpTests=${excludeOmniSharpTests:-false}
devCertsVersion="$DEV_CERTS_VERSION_DEFAULT"
testingDir="$SCRIPT_ROOT/testing-smoke"
cliDir="$testingDir/builtCli"
-logFile="$testingDir/smoke-test.log"
+logsDir="$testingDir/logs"
+logFile="$logsDir/smoke-test.log"
+omnisharpLogFile="$logsDir/omnisharp.log"
restoredPackagesDir="$testingDir/packages"
testingHome="$testingDir/home"
archiveRestoredPackages=false
@@ -78,6 +81,7 @@ function usage() {
echo " --excludeWebHttpsTests don't run web project tests with https using dotnet-dev-certs"
echo " --excludeLocalTests exclude tests that use local sources for nuget packages"
echo " --excludeOnlineTests exclude test that use online sources for nuget packages"
+ echo " --excludeOmniSharpTests don't run the OmniSharp tests"
echo " --devCertsVersion use dotnet-dev-certs instead of default $DEV_CERTS_VERSION_DEFAULT"
echo " --prodConBlobFeedUrl override the prodcon blob feed specified in ProdConFeed.txt, removing it if empty"
echo " --archiveRestoredPackages capture all restored packages to $archivedPackagesDir"
@@ -136,6 +140,9 @@ while :; do
--excludeonlinetests)
excludeOnlineTests=true
;;
+ --excludeomnisharptests)
+ excludeOmniSharpTests=true
+ ;;
--devcertsversion)
shift
devCertsVersion="$1"
@@ -205,7 +212,7 @@ function doCommand() {
binlogHttpsPart="https"
fi
- binlogPrefix="$testingDir/${projectDir}_${binlogOnlinePart}_${binlogHttpsPart}_"
+ binlogPrefix="$logsDir/${projectDir}_${binlogOnlinePart}_${binlogHttpsPart}_"
binlog="${binlogPrefix}$1.binlog"
echo " running $1" | tee -a "$logFile"
@@ -618,7 +625,7 @@ function runOmniSharpTests() {
"${dotnetCmd}" new $project
popd
- ./omnisharp/run -s "$(readlink -f hello-$project)" > omnisharp.log &
+ ./omnisharp/run -s "$(readlink -f hello-$project)" > "$omnisharpLogFile" &
sleep 5
@@ -631,9 +638,9 @@ function runOmniSharpTests() {
kill "$(pgrep -f "$(pwd)")"
- cat omnisharp.log
+ cat "$omnisharpLogFile"
- if grep ERROR omnisharp.log; then
+ if grep ERROR "$omnisharpLogFile"; then
echo "test failed"
exit 1
else
@@ -701,6 +708,7 @@ if [ -e "$testingDir" ]; then
fi
mkdir -p "$testingDir"
+mkdir -p "$logsDir"
cd "$testingDir"
# Create blank Directory.Build files to avoid traversing to source-build infra.
@@ -768,6 +776,8 @@ fi
runXmlDocTests
-runOmniSharpTests
+if [ "$excludeOmniSharpTests" == "false" ]; then
+ runOmniSharpTests
+fi
echo "ALL TESTS PASSED!"
diff --git a/src/SourceBuild/tarball/content/tools-local/prebuilt-baseline.xml b/src/SourceBuild/tarball/content/tools-local/prebuilt-baseline.xml
deleted file mode 100755
index da166e4f7..000000000
--- a/src/SourceBuild/tarball/content/tools-local/prebuilt-baseline.xml
+++ /dev/null
@@ -1,168 +0,0 @@
-
- fedora.33-x64
-
- src/arcade.a3377cccde8639089f99107e2ba5df2c8cbe6394/
- src/aspnetcore./
- src/clicommandlineparser.3198bf5660cad3dab85f5475bf1fda9688146e3f/
- src/command-line-api.5e855e911de7c56fe28400c4500e888fe2a3da8e/
- src/diagnostics.6f48c2ae749c29b687af0353e6c2a9590d7e3d22/
- src/fsharp./
- src/installer.c6ec4363003b18d8e587620baa36205b80ee3074/
- src/known-good-tests./
- src/known-good./
- src/linker.f2588193553431636b9853b0f87209fa395a72c5/
- src/msbuild./
- src/nuget.client./
- src/package-source-build/
- src/roslyn-analyzers./
- src/roslyn./
- src/runtime./
- src/runtime./
- src/sdk./
- src/source-build-reference-packages.36fb56afdf0ee2fb2e0833bdef98dfde12a0837b/
- src/source-build.3fb25b8db3bec654e37e71a5b2b7fde14444bc2f/
- src/sourcelink.4b584dbc392bb1aad49c2eb1ab84d8b489b6dccc/
- src/symreader.1968a003d845d119a9d38ac4daaeea22897f7daf/
- src/templating.3bc0d90f3e450f3e4ebda128081d091fb42968e3/
- src/test-templates.6898c1c70c2d14e9725ddab6e1ebe8084c4d7e27/
- src/vstest./
- src/xdt.6a46e7c886cdf499ba3433f665ab417be814135e/
- src/xliff-tasks.71c811561ad4dcf46825a5077fbcc668ab74754f/
- Tools/
- tools-local/tasks/
- artifacts/obj/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/SourceBuild/tarball/content/tools-local/tasks/Microsoft.DotNet.SourceBuild.Tasks.XPlat/UsageReport/ValidateUsageAgainstBaseline.cs b/src/SourceBuild/tarball/content/tools-local/tasks/Microsoft.DotNet.SourceBuild.Tasks.XPlat/UsageReport/ValidateUsageAgainstBaseline.cs
index d96dbf8d0..6c80f2756 100644
--- a/src/SourceBuild/tarball/content/tools-local/tasks/Microsoft.DotNet.SourceBuild.Tasks.XPlat/UsageReport/ValidateUsageAgainstBaseline.cs
+++ b/src/SourceBuild/tarball/content/tools-local/tasks/Microsoft.DotNet.SourceBuild.Tasks.XPlat/UsageReport/ValidateUsageAgainstBaseline.cs
@@ -17,9 +17,6 @@ namespace Microsoft.DotNet.SourceBuild.Tasks.UsageReport
[Required]
public string DataFile { get; set; }
- [Required]
- public string BaselineDataFile { get; set; }
-
[Required]
public string OutputBaselineFile { get; set; }
@@ -28,14 +25,25 @@ namespace Microsoft.DotNet.SourceBuild.Tasks.UsageReport
public bool AllowTestProjectUsage { get; set; }
+ public string BaselineDataFile { get; set; }
+
public override bool Execute()
{
var used = UsageData.Parse(XElement.Parse(File.ReadAllText(DataFile)));
- var baseline = UsageData.Parse(XElement.Parse(File.ReadAllText(BaselineDataFile)));
+
+ IEnumerable baselineUsages;
+ if (File.Exists(BaselineDataFile))
+ {
+ baselineUsages = UsageData.Parse(XElement.Parse(File.ReadAllText(BaselineDataFile))).Usages;
+ }
+ else
+ {
+ baselineUsages = Enumerable.Empty();
+ }
Comparison diff = Compare(
used.Usages.Select(u => u.GetIdentityWithoutRid()).Distinct(),
- baseline.Usages.Select(u => u.GetIdentityWithoutRid()).Distinct());
+ baselineUsages.Select(u => u.GetIdentityWithoutRid()).Distinct());
var report = new XElement("BaselineComparison");
diff --git a/src/redist/targets/GenerateMSIs.targets b/src/redist/targets/GenerateMSIs.targets
index aaa36d067..541af9dd0 100644
--- a/src/redist/targets/GenerateMSIs.targets
+++ b/src/redist/targets/GenerateMSIs.targets
@@ -164,7 +164,7 @@
'$(SdkMSIInstallerFile)' ^
'$(WixRoot)' ^
'$(ToolsetBrandName)' ^
- '$(VersionPrefix)' ^
+ '$(CliProductBandVersion)00' ^
'$(MsiVersion)' ^
'$(SDKBundleVersion)' ^
'$(Version)' ^