Merge pull request #13317 from dotnet-maestro-bot/merge/release/6.0.3xx-to-main
[automated] Merge branch 'release/6.0.3xx' => 'main'
This commit is contained in:
commit
570bb2f1c4
42 changed files with 2407 additions and 649 deletions
11
.vsts-ci.yml
11
.vsts-ci.yml
|
@ -35,11 +35,10 @@ variables:
|
|||
value: ''
|
||||
|
||||
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||
- group: DotNet-MSRC-Storage
|
||||
- group: DotNetBuilds storage account read tokens
|
||||
- name: _InternalRuntimeDownloadArgs
|
||||
value: /p:DotNetRuntimeSourceFeed=https://dotnetclimsrc.blob.core.windows.net/dotnet
|
||||
/p:DotNetRuntimeSourceFeedKey=$(dotnetclimsrc-read-sas-token-base64)
|
||||
value: /p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal
|
||||
/p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64)
|
||||
/p:dotnetbuilds-internal-container-read-token-base64=$(dotnetbuilds-internal-container-read-token-base64)
|
||||
|
||||
stages:
|
||||
|
@ -379,8 +378,10 @@ stages:
|
|||
- Source_Build_Create_Tarball
|
||||
publishUsingPipelines: true
|
||||
pool:
|
||||
name: NetCore1ESPool-Internal
|
||||
demands: ImageOverride -equals build.windows.10.amd64.vs2019
|
||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||
name: NetCore1ESPool-Svc-Internal
|
||||
demands: ImageOverride -equals build.windows.10.amd64.vs2017
|
||||
|
||||
|
||||
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
||||
- template: eng\common\templates\post-build\post-build.yml
|
||||
|
|
|
@ -193,12 +193,12 @@
|
|||
</PropertyGroup>
|
||||
<!-- Workload manifest package versions -->
|
||||
<PropertyGroup>
|
||||
<MauiWorkloadManifestVersion>6.0.101-preview.9.1805</MauiWorkloadManifestVersion>
|
||||
<XamarinAndroidWorkloadManifestVersion>31.0.101-preview.9.16</XamarinAndroidWorkloadManifestVersion>
|
||||
<XamarinIOSWorkloadManifestVersion>15.0.101-preview.9.31</XamarinIOSWorkloadManifestVersion>
|
||||
<XamarinMacCatalystWorkloadManifestVersion>15.0.101-preview.9.31</XamarinMacCatalystWorkloadManifestVersion>
|
||||
<XamarinMacOSWorkloadManifestVersion>12.0.101-preview.9.31</XamarinMacOSWorkloadManifestVersion>
|
||||
<XamarinTvOSWorkloadManifestVersion>15.0.101-preview.9.31</XamarinTvOSWorkloadManifestVersion>
|
||||
<MauiWorkloadManifestVersion>6.0.200-preview.13.2747</MauiWorkloadManifestVersion>
|
||||
<XamarinAndroidWorkloadManifestVersion>31.0.200-preview.13.41</XamarinAndroidWorkloadManifestVersion>
|
||||
<XamarinIOSWorkloadManifestVersion>15.2.301-preview.13.2</XamarinIOSWorkloadManifestVersion>
|
||||
<XamarinMacCatalystWorkloadManifestVersion>15.2.301-preview.13.2</XamarinMacCatalystWorkloadManifestVersion>
|
||||
<XamarinMacOSWorkloadManifestVersion>12.1.301-preview.13.2</XamarinMacOSWorkloadManifestVersion>
|
||||
<XamarinTvOSWorkloadManifestVersion>15.2.301-preview.13.2</XamarinTvOSWorkloadManifestVersion>
|
||||
<MonoWorkloadManifestVersion>$(MicrosoftNETCoreAppRefPackageVersion)</MonoWorkloadManifestVersion>
|
||||
<MicrosoftNETWorkloadEmscriptenManifest70100Version>7.0.0-preview.3.22122.1</MicrosoftNETWorkloadEmscriptenManifest70100Version>
|
||||
<EmscriptenWorkloadManifestVersion>$(MicrosoftNETWorkloadEmscriptenManifest70100Version)</EmscriptenWorkloadManifestVersion>
|
||||
|
|
|
@ -11,4 +11,4 @@ stages:
|
|||
jobs:
|
||||
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml
|
||||
parameters:
|
||||
tarballResourceId: installer-build-resource
|
||||
installerBuildResourceId: installer-build-resource
|
||||
|
|
|
@ -11,4 +11,4 @@ stages:
|
|||
jobs:
|
||||
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml
|
||||
parameters:
|
||||
tarballResourceId: installer-build-resource
|
||||
installerBuildResourceId: installer-build-resource
|
||||
|
|
|
@ -42,8 +42,8 @@ jobs:
|
|||
# In that case, add variables to allow the download of internal runtimes if the specified versions are not found
|
||||
# in the default public locations.
|
||||
internalRuntimeDownloadArgs=
|
||||
if [ '$(dotnetclimsrc-read-sas-token-base64)' != '$''(dotnetclimsrc-read-sas-token-base64)' ]; then
|
||||
internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://dotnetclimsrc.blob.core.windows.net/dotnet /p:DotNetRuntimeSourceFeedKey=$(dotnetclimsrc-read-sas-token-base64) --runtimesourcefeed https://dotnetclimsrc.blob.core.windows.net/dotnet --runtimesourcefeedkey $(dotnetclimsrc-read-sas-token-base64)'
|
||||
if [ '$(dotnetbuilds-internal-container-read-token-base64)' != '$''(dotnetbuilds-internal-container-read-token-base64)' ]; then
|
||||
internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://dotnetbuilds.blob.core.windows.net/internal --runtimesourcefeedkey $(dotnetbuilds-internal-container-read-token-base64)'
|
||||
fi
|
||||
|
||||
./build.sh \
|
||||
|
@ -80,9 +80,12 @@ jobs:
|
|||
# This prevents allocation of additional agents if the tarball build legs should be skipped.
|
||||
# Only build the tarball if the PR touches source-build source.
|
||||
- script: |
|
||||
if curl "https://api.github.com/repos/dotnet/installer/pulls/$(System.PullRequest.PullRequestNumber)/files" | grep '"filename": "src/SourceBuild/*'
|
||||
then
|
||||
echo "##vso[task.setvariable variable=_includeTarballBuild;isoutput=true]true"
|
||||
fi
|
||||
# Temporarily disable tarball PR validation until source-build is supported in this channel.
|
||||
echo "##vso[task.setvariable variable=_includeTarballBuild;isoutput=true]false"
|
||||
|
||||
# if curl "https://api.github.com/repos/dotnet/installer/pulls/$(System.PullRequest.PullRequestNumber)/files" | grep '"filename": "src/SourceBuild/*'
|
||||
# then
|
||||
# echo "##vso[task.setvariable variable=_includeTarballBuild;isoutput=true]true"
|
||||
# fi
|
||||
displayName: Tarball Build Check
|
||||
name: Tarball_Build_Check
|
||||
|
|
|
@ -7,13 +7,15 @@ parameters:
|
|||
# Dependent jobs that must be completed before this job will run
|
||||
dependsOn:
|
||||
|
||||
# The resource id of the tarball to download and build
|
||||
tarballResourceId: current
|
||||
# Resource id of the installer build to retrieve source/product tarball's from
|
||||
installerBuildResourceId: current
|
||||
|
||||
# The following parameters aren't expected to be passed in rather they are used for encapsulation
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
buildJobTimeout: 300
|
||||
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
|
||||
centOSStream9Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9-20220107135047-4cd394c
|
||||
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
|
||||
|
@ -40,48 +42,66 @@ jobs:
|
|||
strategy:
|
||||
matrix:
|
||||
CentOS7-Online:
|
||||
_BootstrapPrep: true
|
||||
_BootstrapPrep: false
|
||||
_BuildArch: x64
|
||||
_Container: ${{ parameters.centOS7Container }}
|
||||
_ExcludeOmniSharpTests: true
|
||||
_Platform: linux
|
||||
_RunOnline: true
|
||||
CentOS7-Offline:
|
||||
_BootstrapPrep: false
|
||||
_BuildArch: x64
|
||||
_Container: ${{ parameters.centOS7Container }}
|
||||
_ExcludeOmniSharpTests: true
|
||||
_Platform: linux
|
||||
_RunOnline: false
|
||||
${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
|
||||
CentOS7-Offline:
|
||||
_BootstrapPrep: true
|
||||
_BuildArch: x64
|
||||
_Container: ${{ parameters.centOS7Container }}
|
||||
_ExcludeOmniSharpTests: true
|
||||
_RunOnline: false
|
||||
CentOS8-Offline:
|
||||
_BootstrapPrep: true
|
||||
_BootstrapPrep: false
|
||||
_BuildArch: x64
|
||||
_Container: ${{ parameters.centOS8Container }}
|
||||
_ExcludeOmniSharpTests: false
|
||||
_Platform: linux
|
||||
_RunOnline: false
|
||||
CentOSStream9-Offline:
|
||||
_BootstrapPrep: false
|
||||
_BuildArch: x64
|
||||
_Container: ${{ parameters.centOSStream9Container }}
|
||||
_ExcludeOmniSharpTests: false
|
||||
_Platform: linux
|
||||
_RunOnline: false
|
||||
Fedora33-Offline:
|
||||
_BootstrapPrep: false
|
||||
_BuildArch: x64
|
||||
_Container: ${{ parameters.fedora33Container }}
|
||||
_ExcludeOmniSharpTests: false
|
||||
_Platform: linux
|
||||
_RunOnline: false
|
||||
Ubuntu1804-Offline:
|
||||
_BootstrapPrep: true
|
||||
_BootstrapPrep: false
|
||||
_BuildArch: x64
|
||||
_Container: ${{ parameters.ubuntu1804Container }}
|
||||
_ExcludeOmniSharpTests: false
|
||||
_Platform: linux
|
||||
_RunOnline: false
|
||||
timeoutInMinutes: 300
|
||||
timeoutInMinutes: ${{ parameters.buildJobTimeout }}
|
||||
variables:
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
- group: AzureDevOps-Artifact-Feeds-Pats
|
||||
workspace:
|
||||
clean: all
|
||||
|
||||
steps:
|
||||
- checkout: none
|
||||
- checkout: self
|
||||
clean: true
|
||||
|
||||
- template: /src/SourceBuild/Arcade/eng/common/templates/steps/source-build-build-tarball.yml
|
||||
parameters:
|
||||
buildArch: $(_BuildArch)
|
||||
container: $(_Container)
|
||||
excludeOmniSharpTests: $(_ExcludeOmniSharpTests)
|
||||
installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
|
||||
platform: $(_Platform)
|
||||
prepScript: |
|
||||
set -x
|
||||
|
||||
|
@ -93,7 +113,6 @@ jobs:
|
|||
docker run --rm -v ${{ parameters.tarballDir }}:/tarball -w /tarball $(_Container) ./prep.sh ${customPrepArgs}
|
||||
runOnline: $(_RunOnline)
|
||||
tarballDir: ${{ parameters.tarballDir }}
|
||||
tarballResourceId: ${{ parameters.tarballResourceId }}
|
||||
|
||||
- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
|
||||
- job: Rebuild_Tarball
|
||||
|
@ -110,13 +129,18 @@ jobs:
|
|||
_PreviousSourceBuildArtifact: Build Tarball Fedora33-Offline_Artifacts
|
||||
_BuildArch: x64
|
||||
_Container: ${{ parameters.fedora33Container }}
|
||||
_Platform: linux
|
||||
_RunOnline: false
|
||||
timeoutInMinutes: 180
|
||||
timeoutInMinutes: ${{ parameters.buildJobTimeout }}
|
||||
variables:
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
- group: AzureDevOps-Artifact-Feeds-Pats
|
||||
workspace:
|
||||
clean: all
|
||||
|
||||
steps:
|
||||
- checkout: none
|
||||
- checkout: self
|
||||
clean: true
|
||||
|
||||
- download: current
|
||||
artifact: $(_PreviousSourceBuildArtifact)
|
||||
|
@ -135,6 +159,9 @@ jobs:
|
|||
additionalBuildArgs: --with-sdk /tarball/.dotnet
|
||||
buildArch: $(_BuildArch)
|
||||
container: $(_Container)
|
||||
installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
|
||||
isBootstrapped: true
|
||||
platform: $(_Platform)
|
||||
prepScript: |
|
||||
set -x
|
||||
|
||||
|
@ -144,4 +171,3 @@ jobs:
|
|||
eval rm -f "$tarballFilePath"
|
||||
runOnline: $(_RunOnline)
|
||||
tarballDir: ${{ parameters.tarballDir }}
|
||||
tarballResourceId: ${{ parameters.tarballResourceId }}
|
||||
|
|
|
@ -13,6 +13,15 @@ parameters:
|
|||
# Skip running the OmniSharp smoke-tests
|
||||
excludeOmniSharpTests: false
|
||||
|
||||
# Resource id of the installer build to retrieve source/product tarball's from
|
||||
installerBuildResourceId: null
|
||||
|
||||
# Whether or not this is a bootstrapped build
|
||||
isBootstrapped: false
|
||||
|
||||
# Platform the build is running on (linux, osx, win)
|
||||
platform: null
|
||||
|
||||
# Script logic to prep the tarball for building
|
||||
prepScript: null
|
||||
|
||||
|
@ -22,21 +31,32 @@ parameters:
|
|||
# Directory to build the tarball in
|
||||
tarballDir:
|
||||
|
||||
# Resource id of the tarball to download and build
|
||||
tarballResourceId: null
|
||||
|
||||
steps:
|
||||
- download: ${{ parameters.tarballResourceId }}
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
- task: Bash@3
|
||||
displayName: Setup Private Feeds Credentials
|
||||
inputs:
|
||||
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
|
||||
arguments: $(Build.SourcesDirectory)/NuGet.config $Token
|
||||
env:
|
||||
Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
||||
|
||||
- download: ${{ parameters.installerBuildResourceId }}
|
||||
artifact: BlobArtifacts
|
||||
patterns: '**/dotnet-sdk-source*.tar.gz'
|
||||
displayName: Download Tarball
|
||||
displayName: Download Source Tarball
|
||||
|
||||
- download: ${{ parameters.installerBuildResourceId }}
|
||||
artifact: BlobArtifacts
|
||||
patterns: '**/dotnet-sdk-!(*-*)-${{ parameters.platform }}-${{ parameters.buildArch }}.tar.gz'
|
||||
displayName: Download MSFT sdk Tarball
|
||||
|
||||
- script: |
|
||||
set -x
|
||||
|
||||
resourceIdPathSegment=
|
||||
if [ '${{ parameters.tarballResourceId }}' != 'current' ]; then
|
||||
resourceIdPathSegment='${{ parameters.tarballResourceId }}/'
|
||||
if [ '${{ parameters.installerBuildResourceId }}' != 'current' ]; then
|
||||
resourceIdPathSegment='${{ parameters.installerBuildResourceId }}/'
|
||||
fi
|
||||
|
||||
mkdir -p "${{ parameters.tarballDir }}"
|
||||
|
@ -66,7 +86,20 @@ steps:
|
|||
- script: |
|
||||
set -x
|
||||
|
||||
docker run --rm -v ${{ parameters.tarballDir }}:/tarball -w /tarball -e excludeOmniSharpTests=${{ parameters.excludeOmniSharpTests}} ${{ parameters.container }} ./build.sh --run-smoke-test ${{ parameters.additionalBuildArgs }}
|
||||
# Use installer repo's NuGet.config during online testing to utilize internal feeds
|
||||
rm -f ${{ parameters.tarballDir }}/test/Microsoft.DotNet.SourceBuild.SmokeTests/smoke-tests/online.NuGet.Config
|
||||
cp NuGet.config ${{ parameters.tarballDir }}/test/Microsoft.DotNet.SourceBuild.SmokeTests/smoke-tests/online.NuGet.Config
|
||||
|
||||
dockerVolumeArgs="-v ${{ parameters.tarballDir }}:/tarball"
|
||||
dockerEnvArgs="-e EXCLUDE_OMNISHARP_TESTS=${{ parameters.excludeOmniSharpTests}}"
|
||||
|
||||
if [ '${{ parameters.isBootstrapped}}' != 'true' && '${{ parameters.installerBuildResourceId }}' != 'current' ]; then
|
||||
dockerVolumeArgs+=" -v $(PIPELINE.WORKSPACE)/${{ parameters.installerBuildResourceId }}/BlobArtifacts/:/BlobArtifacts"
|
||||
msftSdkTarballName=$(find "$(PIPELINE.WORKSPACE)/${{ parameters.installerBuildResourceId }}/BlobArtifacts/" -name "dotnet-sdk-*-${{ parameters.Platform }}-${{ parameters.buildArch }}.tar.gz" -exec basename {} \;)
|
||||
dockerEnvArgs+=" -e MSFT_SDK_TARBALL_PATH=/BlobArtifacts/$msftSdkTarballName"
|
||||
fi
|
||||
|
||||
docker run --rm $dockerVolumeArgs -w /tarball $dockerEnvArgs ${{ parameters.container }} ./build.sh --run-smoke-test ${{ parameters.additionalBuildArgs }}
|
||||
displayName: Run Tests
|
||||
|
||||
# Don't use CopyFiles@2 as it encounters permissions issues because it indexes all files in the source directory graph.
|
||||
|
@ -82,7 +115,7 @@ steps:
|
|||
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} \;
|
||||
find test/*/*/*/*/*/testing-smoke*/logs -exec cp {} --parents -t ${targetFolder} \;
|
||||
displayName: Prepare BuildLogs staging directory
|
||||
continueOnError: true
|
||||
condition: succeededOrFailed()
|
||||
|
@ -93,6 +126,20 @@ steps:
|
|||
continueOnError: true
|
||||
condition: succeededOrFailed()
|
||||
|
||||
- task: PublishTestResults@2
|
||||
displayName: Publish Test Results
|
||||
condition: succeededOrFailed()
|
||||
continueOnError: true
|
||||
inputs:
|
||||
testRunner: vSTest
|
||||
testResultsFiles: 'test/**/*.trx'
|
||||
searchFolder: ${{ parameters.tarballDir }}
|
||||
mergeTestResults: true
|
||||
publishRunAttachments: true
|
||||
testRunTitle: SourceBuild_SmokeTests_$(Agent.JobName)
|
||||
|
||||
- publish: '${{ parameters.tarballDir }}/artifacts/${{ parameters.buildArch}}/Release/'
|
||||
artifact: $(Agent.JobName)_Artifacts
|
||||
displayName: Publish Artifacts
|
||||
condition: succeededOrFailed()
|
||||
continueOnError: true
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<TarballSourceDir>$(TarballRootDir)src/</TarballSourceDir>
|
||||
<TarballGitInfoDir>$(TarballRootDir)git-info/</TarballGitInfoDir>
|
||||
<CloneVerbosity>quiet</CloneVerbosity> <!-- Support quiet and full -->
|
||||
<ConvertInternalRepos Condition="'$(ConvertInternalRepos)' == '' and '$(VSS_NUGET_EXTERNAL_FEED_ENDPOINTS)' == '' ">true</ConvertInternalRepos>
|
||||
<ConvertInternalRepos Condition="'$(ConvertInternalRepos)' == '' and '$(VSS_NUGET_EXTERNAL_FEED_ENDPOINTS)' == '' and '$(AzDoPat)' == ''">true</ConvertInternalRepos>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="CreateSourceTarball"
|
||||
|
@ -87,8 +87,8 @@
|
|||
<ItemGroup>
|
||||
<SourceBuildRepos Include="$(GitHubRepositoryName)">
|
||||
<Name>$(GitHubRepositoryName)</Name>
|
||||
<Version>1.0.0</Version>
|
||||
<ExactVersion>1.0.0</ExactVersion>
|
||||
<Version>$(VersionPrefix)</Version>
|
||||
<ExactVersion>$(VersionPrefix)</ExactVersion>
|
||||
<Sha>@(RootRepoCommitSha)</Sha>
|
||||
<Uri>@(RootRepoUri)</Uri>
|
||||
<GitCommitCount>@(RootRepoCommitCount)</GitCommitCount>
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
<PackageDownload Include="Microsoft.DotNet.Common.ProjectTemplates.3.0" Version="[$(MicrosoftDotNetCommonProjectTemplates30PackageVersion)]" />
|
||||
<PackageDownload Include="Microsoft.DotNet.Common.ProjectTemplates.3.1" Version="[$(MicrosoftDotNetCommonProjectTemplates31PackageVersion)]" />
|
||||
<PackageDownload Include="Microsoft.DotNet.Common.ProjectTemplates.5.0" Version="[$(MicrosoftDotNetCommonProjectTemplates50PackageVersion)]" />
|
||||
<PackageDownload Include="Microsoft.DotNet.Common.ProjectTemplates.6.0" Version="[$(MicrosoftDotNetCommonProjectTemplates60PackageVersion)]" />
|
||||
|
||||
<PackageDownload Include="Microsoft.DotNet.Web.ProjectTemplates.2.1" Version="[$(AspNetCorePackageVersionFor21Templates)]" />
|
||||
<PackageDownload Include="Microsoft.DotNet.Web.ProjectTemplates.3.0" Version="[$(AspNetCorePackageVersionFor30Templates)]" />
|
||||
|
@ -42,12 +43,12 @@
|
|||
<PackageDownload Include="Microsoft.DotNet.Web.Spa.ProjectTemplates.5.0" Version="[$(AspNetCorePackageVersionFor50Templates)]" />
|
||||
<PackageDownload Include="Microsoft.DotNet.Web.Spa.ProjectTemplates.6.0" Version="[$(AspNetCorePackageVersionFor60Templates)]" />
|
||||
|
||||
<PackageDownload Include="Microsoft.NET.Sdk.Android.Manifest-6.0.100" Version="[$(XamarinAndroidWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Sdk.iOS.Manifest-6.0.100" Version="[$(XamarinIOSWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Sdk.MacCatalyst.Manifest-6.0.100" Version="[$(XamarinMacCatalystWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Sdk.macOS.Manifest-6.0.100" Version="[$(XamarinMacOSWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Sdk.Maui.Manifest-6.0.100" Version="[$(MauiWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Sdk.tvOS.Manifest-6.0.100" Version="[$(XamarinTvOSWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Sdk.Android.Manifest-6.0.200" Version="[$(XamarinAndroidWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Sdk.iOS.Manifest-6.0.200" Version="[$(XamarinIOSWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Sdk.MacCatalyst.Manifest-6.0.200" Version="[$(XamarinMacCatalystWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Sdk.macOS.Manifest-6.0.200" Version="[$(XamarinMacOSWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Sdk.Maui.Manifest-6.0.200" Version="[$(MauiWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Sdk.tvOS.Manifest-6.0.200" Version="[$(XamarinTvOSWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Workload.Emscripten.Manifest-7.0.100" Version="[$(EmscriptenWorkloadManifestVersion)]" />
|
||||
<PackageDownload Include="Microsoft.NET.Workload.Mono.ToolChain.Manifest-7.0.100" Version="[$(MonoWorkloadManifestVersion)]" />
|
||||
</ItemGroup>
|
||||
|
@ -70,4 +71,4 @@
|
|||
File="$(TargetPackagesPath)/TextOnlyPackageDirectories.txt"
|
||||
Overwrite="true" />
|
||||
</Target>
|
||||
</Project>
|
||||
</Project>
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<MSBuild Projects="repos\$(RootRepo).proj" Targets="Build" BuildInParallel="$(BuildInParallel)" StopOnFirstFailure="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="RunTests" DependsOnTargets="PrepareOutput;InitBuild">
|
||||
<Target Name="RunRepoTests" DependsOnTargets="PrepareOutput;InitBuild">
|
||||
<Message Text="Build Environment: $(Platform) $(Configuration) $(TargetOS) $(TargetRid)" />
|
||||
|
||||
<MSBuild Projects="repos\$(RootRepoTests).proj" Targets="Build" Properties="PrepForTests=true;SkipEnsurePackagesCreated=true" BuildInParallel="$(BuildInParallel)" StopOnFirstFailure="true" />
|
||||
|
@ -91,20 +91,46 @@
|
|||
</Target>
|
||||
|
||||
<Target Name="RunSmokeTest">
|
||||
<PropertyGroup>
|
||||
<SmokeTestCommand>./smoke-test.sh</SmokeTestCommand>
|
||||
<SmokeTestCommand>$(SmokeTestCommand) --minimal</SmokeTestCommand>
|
||||
<SmokeTestCommand>$(SmokeTestCommand) --projectOutput</SmokeTestCommand>
|
||||
<SmokeTestCommand>$(SmokeTestCommand) --configuration $(Configuration)</SmokeTestCommand>
|
||||
<SmokeTestCommand>$(SmokeTestCommand) --archiveRestoredPackages</SmokeTestCommand>
|
||||
<ItemGroup>
|
||||
<SdkTarballItem Include="$(SourceBuiltTarBallPath)**/dotnet-sdk*$(TarBallExtension)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Dev certs don't work on this platform. -->
|
||||
<SmokeTestCommand Condition="'$(TargetOS)' == 'OSX'">$(SmokeTestCommand) --excludeWebHttpsTests</SmokeTestCommand>
|
||||
<PropertyGroup>
|
||||
<SdkTarballPath>%(SdkTarballItem.Identity)</SdkTarballPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<Exec Command="$(SmokeTestCommand)"
|
||||
<Exec Command="$(DotnetToolCommand) test ./test/Microsoft.DotNet.SourceBuild.SmokeTests --logger:trx -c $(Configuration)"
|
||||
EnvironmentVariables="
|
||||
targetRid=$(TargetRid)" />
|
||||
DOTNET_TARBALL_PATH=$(SdkTarballPath);
|
||||
TARGET_RID=$(TargetRid);
|
||||
" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CreateSmokeTestPrereqsTarball"
|
||||
AfterTargets="RunSmokeTest"
|
||||
Condition="'$(SkipSmokeTestPrereqsTarballCreation)' != 'true'"
|
||||
DependsOnTargets="
|
||||
CheckIfCreateSmokeTestPrereqsExistToPack;
|
||||
CreateCreateSmokeTestPrereqsTarballIfPrereqsExist"/>
|
||||
|
||||
<Target Name="CheckIfCreateSmokeTestPrereqsExistToPack">
|
||||
<ItemGroup>
|
||||
<Prereqs Include="test/Microsoft.DotNet.SourceBuild.SmokeTests/bin/$(Configuration)/net6.0/smoke-tests/prereq-packages/**" />
|
||||
</ItemGroup>
|
||||
|
||||
<Message Text="Found @(Prereqs->Count()) files in prereqs packages dir." Importance="High" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CreateCreateSmokeTestPrereqsTarballIfPrereqsExist"
|
||||
Condition="'@(Prereqs->Count())' != '0'">
|
||||
<PropertyGroup>
|
||||
<SmokeTestPrereqsTarballName>$(OutputPath)dotnet-smoke-test-prereqs.$(installerOutputPackageVersion).tar.gz</SmokeTestPrereqsTarballName>
|
||||
</PropertyGroup>
|
||||
|
||||
<Exec Command="tar --numeric-owner -czf $(SmokeTestPrereqsTarballName) ."
|
||||
WorkingDirectory="./test/Microsoft.DotNet.SourceBuild.SmokeTests/bin/$(Configuration)/net6.0/smoke-tests/prereq-packages/"/>
|
||||
|
||||
<Message Importance="High" Text="Packaged smoke-test prereqs in '$(SmokeTestPrereqsTarballName)'" />
|
||||
</Target>
|
||||
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="UploadToAzure" />
|
||||
|
@ -150,8 +176,7 @@
|
|||
<Target Name="CreatePrebuiltsTarballIfPrebuiltsExist"
|
||||
Condition="'@(PrebuiltFile->Count())' != '0'">
|
||||
<PropertyGroup>
|
||||
<TarballFileVersion>$(PrivateSourceBuiltPrebuiltsPackageVersionPrefix)$([MSBuild]::Add($(PrivateSourceBuiltPrebuiltsPackageVersionSuffix), 1))</TarballFileVersion>
|
||||
<TarballFilePath>$(OutputPath)$(SourceBuiltPrebuiltsTarballName).$(TarballFileVersion).tar.gz</TarballFilePath>
|
||||
<TarballFilePath>$(OutputPath)$(SourceBuiltPrebuiltsTarballName).$(installerOutputPackageVersion).tar.gz</TarballFilePath>
|
||||
<TarballWorkingDir>$(ResultingPrebuiltPackagesDir)</TarballWorkingDir>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
@ -9,9 +9,4 @@
|
|||
<PropertyGroup>
|
||||
<HumanizerCorePackageVersion>2.2.0</HumanizerCorePackageVersion>
|
||||
</PropertyGroup>
|
||||
<!-- Production Dependencies -->
|
||||
<PropertyGroup>
|
||||
<PrivateSourceBuiltPrebuiltsPackageVersionPrefix>0.1.0-6.0.100-</PrivateSourceBuiltPrebuiltsPackageVersionPrefix>
|
||||
<PrivateSourceBuiltPrebuiltsPackageVersionSuffix>36</PrivateSourceBuiltPrebuiltsPackageVersionSuffix>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
|
@ -154,5 +154,6 @@
|
|||
<ArcadeSharedFrameworkSdkOverride Include="Microsoft.DotNet.SharedFramework.Sdk" Group="ARCADE_SHARED_FX_SDK" Version="$(arcadeOutputPackageVersion)"/>
|
||||
<ILSdkOverride Include="Microsoft.NET.Sdk.IL" Group="IL" />
|
||||
<MsBuildTraversalSdkOverride Include="Microsoft.Build.Traversal" Group="MSBUILD_TRAVERSAL" Version="2.0.2"/>
|
||||
<WindowsDesktopSdkOverride Include="Microsoft.Net.Sdk.WindowsDesktop" Group="WINDOWS_DESKTOP" Location="$(ToolsLocalDir)EmptySdk"/>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
Directories="$(SourceBuildReferencePackagesDestination)extractArtifacts/" />
|
||||
|
||||
<PropertyGroup>
|
||||
<SourceBuiltTarballName>$(OutputPath)$(SourceBuiltArtifactsTarballName).$(VersionPrefix)-$(VersionSuffix).tar.gz</SourceBuiltTarballName>
|
||||
<SourceBuiltTarballName>$(OutputPath)$(SourceBuiltArtifactsTarballName).$(installerOutputPackageVersion).tar.gz</SourceBuiltTarballName>
|
||||
</PropertyGroup>
|
||||
|
||||
<Exec Command="tar --numeric-owner --exclude='$(SBRPIntermediateWildcard)' -czf $(SourceBuiltTarballName) *.nupkg *.props SourceBuildReferencePackages/" WorkingDirectory="$(SourceBuiltPackagesPath)" />
|
||||
|
|
|
@ -45,6 +45,7 @@
|
|||
|
||||
<ItemGroup>
|
||||
<UseSourceBuiltSdkOverride Include="@(ArcadeSdkOverride)" />
|
||||
<UseSourceBuiltSdkOverride Include="@(WindowsDesktopSdkOverride)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||
|
|
|
@ -19,10 +19,20 @@
|
|||
<PackageReference Include="Microsoft.NETCore.ILAsm" Version="$(MicrosoftNETCoreILAsmVersion)" />
|
||||
<PackageReference Include="Microsoft.NETCore.ILDAsm" Version="$(MicrosoftNETCoreILDAsmVersion)" />
|
||||
<PackageReference Include="Microsoft.NETCore.TestHost" Version="$(MicrosoftNETCoreTestHostVersion)" />
|
||||
<PackageReference Include="runtime.linux-arm64.Microsoft.NETCore.ILAsm" Version="$(RuntimeLinuxX64MicrosoftNETCoreILAsmVersion)" />
|
||||
<PackageReference Include="runtime.linux-arm64.Microsoft.NETCore.ILDAsm" Version="$(RuntimeLinuxX64MicrosoftNETCoreILDAsmVersion)" />
|
||||
<PackageReference Include="runtime.linux-arm64.Microsoft.NETCore.TestHost" Version="$(RuntimeLinuxX64MicrosoftNETCoreTestHostVersion)" />
|
||||
<PackageReference Include="runtime.linux-arm64.runtime.native.System.IO.Ports" Version="$(RuntimeLinuxX64RuntimeNativeSystemIOPortsVersion)" />
|
||||
<PackageReference Include="runtime.linux-x64.Microsoft.NETCore.ILAsm" Version="$(RuntimeLinuxX64MicrosoftNETCoreILAsmVersion)" />
|
||||
<PackageReference Include="runtime.linux-x64.Microsoft.NETCore.ILDAsm" Version="$(RuntimeLinuxX64MicrosoftNETCoreILDAsmVersion)" />
|
||||
<PackageReference Include="runtime.linux-x64.Microsoft.NETCore.TestHost" Version="$(RuntimeLinuxX64MicrosoftNETCoreTestHostVersion)" />
|
||||
<PackageReference Include="runtime.linux-x64.runtime.native.System.IO.Ports" Version="$(RuntimeLinuxX64RuntimeNativeSystemIOPortsVersion)" />
|
||||
<PackageReference Include="runtime.linux-musl-x64.Microsoft.NETCore.ILAsm" Version="$(RuntimeLinuxX64MicrosoftNETCoreILAsmVersion)" />
|
||||
<PackageReference Include="runtime.linux-musl-x64.Microsoft.NETCore.ILDAsm" Version="$(RuntimeLinuxX64MicrosoftNETCoreILDAsmVersion)" />
|
||||
<PackageReference Include="runtime.linux-musl-x64.Microsoft.NETCore.TestHost" Version="$(RuntimeLinuxX64MicrosoftNETCoreTestHostVersion)" />
|
||||
<!-- There's no nuget package for runtime.linux-musl-x64.runtime.native.System.IO.Ports
|
||||
<PackageReference Include="runtime.linux-musl-x64.runtime.native.System.IO.Ports" Version="$(RuntimeLinuxX64RuntimeNativeSystemIOPortsVersion)" />
|
||||
-->
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="BuildBoostrapPreviouslySourceBuilt" AfterTargets="Restore">
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<clear />
|
||||
<!-- Begin: Package sources from dotnet-roslyn-analyzers -->
|
||||
<add key="darc-pub-dotnet-roslyn-analyzers-ce71b27" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-roslyn-analyzers-ce71b27b/nuget/v3/index.json" />
|
||||
<!-- End: Package sources from dotnet-roslyn-analyzers -->
|
||||
<!-- Begin: Package sources from dotnet-templating -->
|
||||
<add key="darc-pub-dotnet-templating-8470ff3-4" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-templating-8470ff31-4/nuget/v3/index.json" />
|
||||
<add key="darc-pub-dotnet-templating-8470ff3-3" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-templating-8470ff31-3/nuget/v3/index.json" />
|
||||
<add key="darc-pub-dotnet-templating-8470ff3-2" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-templating-8470ff31-2/nuget/v3/index.json" />
|
||||
<add key="darc-pub-dotnet-templating-8470ff3-1" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-templating-8470ff31-1/nuget/v3/index.json" />
|
||||
<add key="darc-pub-dotnet-templating-8470ff3" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-templating-8470ff31/nuget/v3/index.json" />
|
||||
<!-- End: Package sources from dotnet-templating -->
|
||||
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
|
||||
<add key="source-built-packages" value="SOURCE_BUILT_PACKAGES" />
|
||||
<add key="smoke-test-prereqs" value="SMOKE_TEST_PACKAGE_FEED" />
|
||||
<add key="dotnet-public" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public%40Local/nuget/v3/index.json" />
|
||||
<add key="dotnet6" value="https://dnceng.pkgs.visualstudio.com/public/_packaging/dotnet6/nuget/v3/index.json" />
|
||||
</packageSources>
|
||||
</configuration>
|
|
@ -0,0 +1,7 @@
|
|||
<Project>
|
||||
|
||||
<!--
|
||||
Prevent repo src automatic Directory.Build imports from finding source-build infra.
|
||||
-->
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,7 @@
|
|||
<Project>
|
||||
|
||||
<!--
|
||||
Prevent repo src automatic Directory.Build imports from finding source-build infra.
|
||||
-->
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,68 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using Xunit;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
namespace Microsoft.DotNet.SourceBuild.SmokeTests
|
||||
{
|
||||
internal class BaselineHelper
|
||||
{
|
||||
public static void Compare(string baselineFileName, IOrderedEnumerable<string> actualEntries)
|
||||
{
|
||||
IEnumerable<string> baseline = File.ReadAllLines(GetBaselineFilePath(baselineFileName));
|
||||
string[] missingEntries = actualEntries.Except(baseline).ToArray();
|
||||
string[] extraEntries = baseline.Except(actualEntries).ToArray();
|
||||
|
||||
string? message = null;
|
||||
if (missingEntries.Length > 0)
|
||||
{
|
||||
message = $"Missing entries in '{baselineFileName}' baseline: {Environment.NewLine}{string.Join(Environment.NewLine, missingEntries)}{Environment.NewLine}{Environment.NewLine}";
|
||||
}
|
||||
|
||||
if (extraEntries.Length > 0)
|
||||
{
|
||||
message += $"Extra entries in '{baselineFileName}' baseline: {Environment.NewLine}{string.Join(Environment.NewLine, extraEntries)}{Environment.NewLine}{Environment.NewLine}";
|
||||
}
|
||||
|
||||
Assert.Null(message);
|
||||
}
|
||||
|
||||
public static void Compare(string baselineFileName, string actual, ITestOutputHelper outputHelper)
|
||||
{
|
||||
string baselineFilePath = GetBaselineFilePath(baselineFileName);
|
||||
string baseline = File.ReadAllText(baselineFilePath);
|
||||
|
||||
string? message = null;
|
||||
if (baseline != actual)
|
||||
{
|
||||
string actualBaselineFilePath = Path.Combine(Environment.CurrentDirectory, $"{baselineFileName}");
|
||||
File.WriteAllText(actualBaselineFilePath, actual);
|
||||
|
||||
// Retrieve a diff in order to provide a UX which calls out the diffs.
|
||||
string diff = DiffFiles(baselineFilePath, actualBaselineFilePath, outputHelper);
|
||||
message = $"{Environment.NewLine}Baseline '{baselineFilePath}' does not match actual '{actualBaselineFilePath}`. {Environment.NewLine}"
|
||||
+ $"{diff}{Environment.NewLine}";
|
||||
}
|
||||
|
||||
Assert.Null(message);
|
||||
}
|
||||
|
||||
public static string DiffFiles(string file1Path, string file2Path, ITestOutputHelper outputHelper)
|
||||
{
|
||||
(Process Process, string StdOut, string StdErr) diffResult =
|
||||
ExecuteHelper.ExecuteProcess("git", $"diff --no-index {file1Path} {file2Path}", outputHelper);
|
||||
Assert.Equal(1, diffResult.Process.ExitCode);
|
||||
|
||||
return diffResult.StdOut;
|
||||
}
|
||||
|
||||
private static string GetBaselineFilePath(string baselineFileName) => Path.Combine(Directory.GetCurrentDirectory(), "baselines", baselineFileName);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace Microsoft.DotNet.SourceBuild.SmokeTests;
|
||||
|
||||
internal static class Config
|
||||
{
|
||||
public static string DotNetDirectory { get; } =
|
||||
Environment.GetEnvironmentVariable("DOTNET_DIR") ?? Path.Combine(Directory.GetCurrentDirectory(), ".dotnet");
|
||||
public static string DotNetTarballPath { get; } = Environment.GetEnvironmentVariable(DotNetTarballPathEnv) ?? string.Empty;
|
||||
public const string DotNetTarballPathEnv = "DOTNET_TARBALL_PATH";
|
||||
public static bool ExcludeOmniSharpTests { get; } =
|
||||
bool.TryParse(Environment.GetEnvironmentVariable("EXCLUDE_OMNISHARP_TESTS"), out bool excludeOmniSharpTests) ? excludeOmniSharpTests : false;
|
||||
public static bool ExcludeOnlineTests { get; } =
|
||||
bool.TryParse(Environment.GetEnvironmentVariable("EXCLUDE_ONLINE_TESTS"), out bool excludeOnlineTests) ? excludeOnlineTests : false;
|
||||
public static string MsftSdkTarballPath { get; } = Environment.GetEnvironmentVariable(MsftSdkTarballPathEnv) ?? string.Empty;
|
||||
public const string MsftSdkTarballPathEnv = "MSFT_SDK_TARBALL_PATH";
|
||||
public static string TargetRid { get; } = Environment.GetEnvironmentVariable("TARGET_RID") ?? string.Empty;
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using Xunit;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
namespace Microsoft.DotNet.SourceBuild.SmokeTests;
|
||||
|
||||
internal class DotNetHelper
|
||||
{
|
||||
private static readonly object s_lockObj = new object();
|
||||
|
||||
public string DotNetPath { get; }
|
||||
|
||||
public DotNetHelper(ITestOutputHelper outputHelper)
|
||||
{
|
||||
lock (s_lockObj)
|
||||
{
|
||||
if (!Directory.Exists(Config.DotNetDirectory))
|
||||
{
|
||||
if (!File.Exists(Config.DotNetTarballPath))
|
||||
{
|
||||
throw new InvalidOperationException($"Tarball path '{Config.DotNetTarballPath}' specified in {Config.DotNetTarballPathEnv} does not exist.");
|
||||
}
|
||||
|
||||
Directory.CreateDirectory(Config.DotNetDirectory);
|
||||
ExecuteHelper.ExecuteProcessValidateExitCode("tar", $"xzf {Config.DotNetTarballPath} -C {Config.DotNetDirectory}", outputHelper);
|
||||
}
|
||||
}
|
||||
|
||||
DotNetPath = Path.Combine(Config.DotNetDirectory, "dotnet");
|
||||
}
|
||||
|
||||
public void ExecuteDotNetCmd(string args, ITestOutputHelper outputHelper)
|
||||
{
|
||||
(Process Process, string StdOut, string StdErr) executeResult = ExecuteHelper.ExecuteProcess(DotNetPath, args, outputHelper);
|
||||
|
||||
Assert.Equal(0, executeResult.Process.ExitCode);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,80 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
namespace Microsoft.DotNet.SourceBuild.SmokeTests;
|
||||
|
||||
internal static class ExecuteHelper
|
||||
{
|
||||
public static (Process Process, string StdOut, string StdErr) ExecuteProcess(
|
||||
string fileName, string args, ITestOutputHelper outputHelper, bool logOutput = false)
|
||||
{
|
||||
outputHelper.WriteLine($"Executing: {fileName} {args}");
|
||||
|
||||
Process process = new()
|
||||
{
|
||||
EnableRaisingEvents = true,
|
||||
StartInfo =
|
||||
{
|
||||
FileName = fileName,
|
||||
Arguments = args,
|
||||
RedirectStandardOutput = true,
|
||||
RedirectStandardError = true,
|
||||
}
|
||||
};
|
||||
|
||||
// The `dotnet test` execution context sets a number of dotnet related ENVs that cause issues when executing
|
||||
// dotnet commands. Clear these to avoid side effects.
|
||||
foreach (string key in process.StartInfo.Environment.Keys.Where(key => key != "HOME").ToList())
|
||||
{
|
||||
process.StartInfo.Environment.Remove(key);
|
||||
}
|
||||
|
||||
StringBuilder stdOutput = new();
|
||||
process.OutputDataReceived += new DataReceivedEventHandler((sender, e) => stdOutput.AppendLine(e.Data));
|
||||
|
||||
StringBuilder stdError = new();
|
||||
process.ErrorDataReceived += new DataReceivedEventHandler((sender, e) => stdError.AppendLine(e.Data));
|
||||
|
||||
process.Start();
|
||||
process.BeginOutputReadLine();
|
||||
process.BeginErrorReadLine();
|
||||
process.WaitForExit();
|
||||
|
||||
string output = stdOutput.ToString().Trim();
|
||||
if (logOutput && !string.IsNullOrWhiteSpace(output))
|
||||
{
|
||||
outputHelper.WriteLine(output);
|
||||
}
|
||||
|
||||
string error = stdError.ToString().Trim();
|
||||
if (logOutput && !string.IsNullOrWhiteSpace(error))
|
||||
{
|
||||
outputHelper.WriteLine(error);
|
||||
}
|
||||
|
||||
return (process, output, error);
|
||||
}
|
||||
|
||||
public static string ExecuteProcessValidateExitCode(string fileName, string args, ITestOutputHelper outputHelper)
|
||||
{
|
||||
(Process Process, string StdOut, string StdErr) result = ExecuteHelper.ExecuteProcess(fileName, args, outputHelper);
|
||||
|
||||
if (result.Process.ExitCode != 0)
|
||||
{
|
||||
ProcessStartInfo startInfo = result.Process.StartInfo;
|
||||
string msg = $"Failed to execute {startInfo.FileName} {startInfo.Arguments}" +
|
||||
$"{Environment.NewLine}Exit code: {result.Process.ExitCode}" +
|
||||
$"{Environment.NewLine}Standard Error: {result.StdErr}";
|
||||
throw new InvalidOperationException(msg);
|
||||
}
|
||||
|
||||
return result.StdOut;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
|
||||
<IsPackable>false</IsPackable>
|
||||
<IsTestProject>true</IsTestProject>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
|
||||
<PackageReference Include="xunit" Version="2.4.1" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="baselines/*">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="smoke-tests/*">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<SmokeTestPrereqs Include="..\..\packages\smoke-test-prereqs\*" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="CopySmokeTestPrereqs" BeforeTargets="Build">
|
||||
<Copy SourceFiles="@(SmokeTestPrereqs)" DestinationFolder="$(OutputPath)\smoke-tests\prereq-packages" />
|
||||
</Target>
|
||||
</Project>
|
|
@ -0,0 +1,9 @@
|
|||
# Source Build Smoke Tests
|
||||
|
||||
* Run these tests via `build.sh --run-smoke-test`
|
||||
* Various configuration settings are stored in `Config.cs`
|
||||
|
||||
## Prereq Packages
|
||||
Some prerelease scenarios, usually security updates, require non-source-built packages which are not publicly available.
|
||||
Place these packages in the tarball's `packages/smoke-test-prereqs`. When prereq packages are required, the
|
||||
`EXCLUDE_ONLINE_TESTS=true` environment variable should be set when running tests via `build.sh --run-smoke-test`.
|
|
@ -0,0 +1,92 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using Xunit;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
namespace Microsoft.DotNet.SourceBuild.SmokeTests;
|
||||
|
||||
public class SdkContentTests
|
||||
{
|
||||
private ITestOutputHelper OutputHelper { get; }
|
||||
private DotNetHelper DotNetHelper { get; }
|
||||
|
||||
public SdkContentTests(ITestOutputHelper outputHelper)
|
||||
{
|
||||
OutputHelper = outputHelper;
|
||||
DotNetHelper = new DotNetHelper(outputHelper);
|
||||
}
|
||||
|
||||
/// <Summary>
|
||||
/// Verifies the file layout of the source built sdk tarball to the Microsoft build.
|
||||
/// The differences are captured in baselines/MsftToSbSdkDiff.txt.
|
||||
/// Version numbers that appear in paths are compared but are stripped from the baseline.
|
||||
/// This makes the baseline durable between releases. This does mean however, entries
|
||||
/// in the baseline may appear identical if the diff is version specific.
|
||||
/// </Summary>
|
||||
[Fact]
|
||||
public void CompareMsftToSb()
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(Config.MsftSdkTarballPath))
|
||||
{
|
||||
OutputHelper.WriteLine($"skipping {nameof(CompareMsftToSb)} because {Config.MsftSdkTarballPathEnv} was not specified.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!File.Exists(Config.MsftSdkTarballPath))
|
||||
{
|
||||
throw new InvalidOperationException($"Tarball path '{Config.MsftSdkTarballPath}' specified in {Config.MsftSdkTarballPathEnv} does not exist.");
|
||||
}
|
||||
|
||||
const string msftFileListingFileName = "msftSdkFiles.txt";
|
||||
const string sbFileListingFileName = "sbSdkFiles.txt";
|
||||
WriteTarballFileList(Config.MsftSdkTarballPath, msftFileListingFileName);
|
||||
WriteTarballFileList(Config.DotNetTarballPath, sbFileListingFileName);
|
||||
|
||||
string diff = BaselineHelper.DiffFiles(msftFileListingFileName, sbFileListingFileName, OutputHelper);
|
||||
diff = RemoveVersionedPaths(diff);
|
||||
diff = RemoveDiffMarkers(diff);
|
||||
diff = RemoveRids(diff);
|
||||
BaselineHelper.Compare("MsftToSbSdk.diff", diff, OutputHelper);
|
||||
}
|
||||
|
||||
private void WriteTarballFileList(string tarballPath, string outputFileName)
|
||||
{
|
||||
string fileListing = ExecuteHelper.ExecuteProcessValidateExitCode("tar", $"tf {tarballPath}", OutputHelper);
|
||||
IEnumerable<string> files = fileListing.Split(Environment.NewLine).OrderBy(path => path);
|
||||
File.WriteAllLines(outputFileName, files);
|
||||
}
|
||||
|
||||
private static string RemoveDiffMarkers(string source)
|
||||
{
|
||||
Regex indexRegex = new("^index .*", RegexOptions.Multiline);
|
||||
string result = indexRegex.Replace(source, "index ------------");
|
||||
|
||||
Regex diffSegmentRegex = new("^@@ .* @@", RegexOptions.Multiline);
|
||||
return diffSegmentRegex.Replace(result, "@@ ------------ @@");
|
||||
}
|
||||
|
||||
private string RemoveRids(string diff) => diff.Replace(Config.TargetRid, "bannana.rid");
|
||||
|
||||
private static string RemoveVersionedPaths(string source)
|
||||
{
|
||||
// Remove semantic version path segments
|
||||
string pathSeparator = Regex.Escape(Path.DirectorySeparatorChar.ToString());
|
||||
// Regex source: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string
|
||||
Regex semanticVersionRegex = new(
|
||||
$"{pathSeparator}(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)"
|
||||
+ $"(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))"
|
||||
+ $"?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?{pathSeparator}");
|
||||
string result = semanticVersionRegex.Replace(source, $"{Path.DirectorySeparatorChar}x.y.z{Path.DirectorySeparatorChar}");
|
||||
|
||||
// Remove net.x.y path segments
|
||||
Regex netTfmRegex = new($"{pathSeparator}net[1-9]*.[0-9]{pathSeparator}");
|
||||
return netTfmRegex.Replace(result, $"{Path.DirectorySeparatorChar}netx.y{Path.DirectorySeparatorChar}");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using Xunit;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
namespace Microsoft.DotNet.SourceBuild.SmokeTests;
|
||||
|
||||
// This test suite invokes the smoke-test.sh which should be considered legacy. Those tests should be migrated to this test suite overtime.
|
||||
public class SmokeTests
|
||||
{
|
||||
private ITestOutputHelper OutputHelper { get; }
|
||||
private DotNetHelper DotNetHelper { get; }
|
||||
|
||||
public SmokeTests(ITestOutputHelper outputHelper)
|
||||
{
|
||||
OutputHelper = outputHelper;
|
||||
DotNetHelper = new DotNetHelper(outputHelper);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void SmokeTestsScript()
|
||||
{
|
||||
string smokeTestArgs = $"--dotnetDir {Directory.GetParent(DotNetHelper.DotNetPath)} --projectOutput --archiveRestoredPackages --targetRid {Config.TargetRid}";
|
||||
if (Config.TargetRid.Contains("osx"))
|
||||
{
|
||||
smokeTestArgs += " --excludeWebHttpsTests";
|
||||
}
|
||||
if (Config.ExcludeOmniSharpTests)
|
||||
{
|
||||
smokeTestArgs += " --excludeOmniSharpTests";
|
||||
}
|
||||
if (Config.ExcludeOnlineTests)
|
||||
{
|
||||
smokeTestArgs += " --excludeOnlineTests";
|
||||
}
|
||||
|
||||
(Process Process, string StdOut, string StdErr) executeResult = ExecuteHelper.ExecuteProcess("./smoke-tests/smoke-test.sh", smokeTestArgs, OutputHelper);
|
||||
|
||||
Assert.Equal(0, executeResult.Process.ExitCode);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,53 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Xunit;
|
||||
using Xunit.Abstractions;
|
||||
using System.Linq;
|
||||
|
||||
namespace Microsoft.DotNet.SourceBuild.SmokeTests;
|
||||
|
||||
public class XmlDocTests
|
||||
{
|
||||
private ITestOutputHelper OutputHelper { get; }
|
||||
private DotNetHelper DotNetHelper { get; }
|
||||
|
||||
public XmlDocTests(ITestOutputHelper outputHelper)
|
||||
{
|
||||
OutputHelper = outputHelper;
|
||||
DotNetHelper = new DotNetHelper(outputHelper);
|
||||
}
|
||||
|
||||
/// <Summary>
|
||||
/// Verifies every targeting pack assembly has a xml doc file.
|
||||
/// There are exceptions which are specified in baselines/XmlDocIgnore.*.txt.
|
||||
/// </Summary>
|
||||
[Fact]
|
||||
public void VerifyTargetingPacksHaveDoc()
|
||||
{
|
||||
List<string> missingXmlDoc = new();
|
||||
|
||||
string targetingPacksDirectory = Path.Combine(Config.DotNetDirectory, "packs");
|
||||
foreach (string targetingPackAssembly in Directory.EnumerateFiles(targetingPacksDirectory, "*.dll", SearchOption.AllDirectories))
|
||||
{
|
||||
if (targetingPackAssembly.EndsWith("resources.dll"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
string xmlFile = Path.ChangeExtension(targetingPackAssembly, ".xml");
|
||||
if (!File.Exists(xmlFile))
|
||||
{
|
||||
string pathWithoutPacksPrefix = xmlFile[(targetingPacksDirectory.Length + 1)..];
|
||||
string[] pathParts = pathWithoutPacksPrefix.Split(Path.DirectorySeparatorChar);
|
||||
string pathWithoutVersion = string.Join(Path.DirectorySeparatorChar, pathParts.Take(1).Concat(pathParts.Skip(2)));
|
||||
missingXmlDoc.Add(pathWithoutVersion);
|
||||
}
|
||||
}
|
||||
|
||||
BaselineHelper.Compare("MissingXmlDoc.txt", missingXmlDoc.OrderBy(entry => entry));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,175 @@
|
|||
Microsoft.AspNetCore.App.Ref/analyzers/dotnet/cs/Microsoft.AspNetCore.App.Analyzers.xml
|
||||
Microsoft.AspNetCore.App.Ref/analyzers/dotnet/cs/Microsoft.AspNetCore.App.CodeFixes.xml
|
||||
Microsoft.AspNetCore.App.Ref/analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.xml
|
||||
Microsoft.NETCore.App.Ref/analyzers/dotnet/cs/System.Text.Json.SourceGeneration.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/Microsoft.VisualBasic.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/mscorlib.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.AppContext.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Buffers.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.ComponentModel.DataAnnotations.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Configuration.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Core.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Data.DataSetExtensions.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Data.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Diagnostics.Debug.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Diagnostics.Tools.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Drawing.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Dynamic.Runtime.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Globalization.Calendars.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Globalization.Extensions.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Globalization.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.IO.Compression.Brotli.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.IO.Compression.FileSystem.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.IO.FileSystem.Primitives.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.IO.FileSystem.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.IO.UnmanagedMemoryStream.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.IO.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Net.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Numerics.Vectors.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Numerics.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Reflection.Extensions.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Reflection.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Resources.Reader.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Resources.ResourceManager.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Runtime.Extensions.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Runtime.Handles.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Runtime.Serialization.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Security.Principal.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Security.SecureString.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Security.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.ServiceModel.Web.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.ServiceProcess.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Text.Encoding.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Threading.Tasks.Extensions.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Threading.Tasks.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Threading.Timer.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Transactions.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.ValueTuple.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Web.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Windows.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Xml.Linq.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Xml.Serialization.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Xml.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/System.Xml.XmlDocument.xml
|
||||
Microsoft.NETCore.App.Ref/ref/net6.0/WindowsBase.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/Microsoft.Win32.Primitives.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/mscorlib.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.AppContext.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Buffers.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Collections.Concurrent.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Collections.NonGeneric.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Collections.Specialized.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Collections.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.ComponentModel.Composition.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.ComponentModel.EventBasedAsync.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.ComponentModel.Primitives.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.ComponentModel.TypeConverter.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.ComponentModel.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Console.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Core.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Data.Common.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Data.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Diagnostics.Contracts.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Diagnostics.Debug.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Diagnostics.FileVersionInfo.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Diagnostics.Process.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Diagnostics.StackTrace.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Diagnostics.TextWriterTraceListener.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Diagnostics.Tools.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Diagnostics.TraceSource.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Diagnostics.Tracing.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Drawing.Primitives.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Drawing.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Dynamic.Runtime.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Globalization.Calendars.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Globalization.Extensions.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Globalization.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.IO.Compression.FileSystem.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.IO.Compression.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.IO.Compression.ZipFile.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.IO.FileSystem.DriveInfo.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.IO.FileSystem.Primitives.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.IO.FileSystem.Watcher.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.IO.FileSystem.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.IO.IsolatedStorage.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.IO.MemoryMappedFiles.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.IO.Pipes.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.IO.UnmanagedMemoryStream.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.IO.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Linq.Expressions.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Linq.Parallel.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Linq.Queryable.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Linq.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Memory.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Net.Http.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Net.NameResolution.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Net.NetworkInformation.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Net.Ping.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Net.Primitives.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Net.Requests.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Net.Security.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Net.Sockets.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Net.WebHeaderCollection.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Net.WebSockets.Client.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Net.WebSockets.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Net.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Numerics.Vectors.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Numerics.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.ObjectModel.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Reflection.DispatchProxy.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Reflection.Emit.ILGeneration.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Reflection.Emit.Lightweight.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Reflection.Emit.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Reflection.Extensions.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Reflection.Primitives.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Reflection.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Resources.Reader.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Resources.ResourceManager.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Resources.Writer.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.CompilerServices.VisualC.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.Extensions.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.Handles.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.InteropServices.RuntimeInformation.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.InteropServices.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.Numerics.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.Serialization.Formatters.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.Serialization.Json.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.Serialization.Primitives.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.Serialization.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.Serialization.Xml.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Runtime.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Security.Claims.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Security.Cryptography.Algorithms.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Security.Cryptography.Csp.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Security.Cryptography.Encoding.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Security.Cryptography.Primitives.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Security.Cryptography.X509Certificates.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Security.Principal.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Security.SecureString.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.ServiceModel.Web.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Text.Encoding.Extensions.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Text.Encoding.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Text.RegularExpressions.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Threading.Overlapped.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Threading.Tasks.Extensions.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Threading.Tasks.Parallel.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Threading.Tasks.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Threading.Thread.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Threading.ThreadPool.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Threading.Timer.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Threading.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Transactions.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.ValueTuple.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Web.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Windows.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Xml.Linq.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Xml.ReaderWriter.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Xml.Serialization.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Xml.XDocument.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Xml.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Xml.XmlDocument.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Xml.XmlSerializer.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Xml.XPath.XDocument.xml
|
||||
NETStandard.Library.Ref/ref/netstandard2.1/System.Xml.XPath.xml
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<clear />
|
||||
<add key="source-built-packages" value="SOURCE_BUILT_PACKAGES" />
|
||||
<add key="smoke-test-prereqs" value="SMOKE_TEST_PACKAGE_FEED" />
|
||||
</packageSources>
|
||||
</configuration>
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<clear />
|
||||
<add key="dotnet-public" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" />
|
||||
<add key="dotnet6" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json" />
|
||||
<add key="dotnet6-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6-transport/nuget/v3/index.json" />
|
||||
</packageSources>
|
||||
</configuration>
|
|
@ -53,7 +53,7 @@ excludeLocalTests=false
|
|||
excludeOnlineTests=false
|
||||
excludeOmniSharpTests=${excludeOmniSharpTests:-false}
|
||||
devCertsVersion="$DEV_CERTS_VERSION_DEFAULT"
|
||||
testingDir="$SCRIPT_ROOT/testing-smoke"
|
||||
testingDir="$SCRIPT_ROOT/testing-smoke-$(date +"%m%d%H%M%S")"
|
||||
cliDir="$testingDir/builtCli"
|
||||
logsDir="$testingDir/logs"
|
||||
logFile="$logsDir/smoke-test.log"
|
||||
|
@ -61,8 +61,8 @@ omnisharpLogFile="$logsDir/omnisharp.log"
|
|||
restoredPackagesDir="$testingDir/packages"
|
||||
testingHome="$testingDir/home"
|
||||
archiveRestoredPackages=false
|
||||
archivedPackagesDir="$testingDir/smoke-test-packages"
|
||||
smokeTestPrebuilts="$SCRIPT_ROOT/packages/smoke-test-packages"
|
||||
smokeTestPrebuilts="$SCRIPT_ROOT/prereq-packages"
|
||||
nonSbSmokeTestPrebuilts="$SCRIPT_ROOT/non-source-built-prereq-packages"
|
||||
runningOnline=false
|
||||
runningHttps=false
|
||||
|
||||
|
@ -83,10 +83,7 @@ function usage() {
|
|||
echo " --excludeOnlineTests exclude test that use online sources for nuget packages"
|
||||
echo " --excludeOmniSharpTests don't run the OmniSharp tests"
|
||||
echo " --devCertsVersion <version> use dotnet-dev-certs <version> instead of default $DEV_CERTS_VERSION_DEFAULT"
|
||||
echo " --prodConBlobFeedUrl <url> override the prodcon blob feed specified in ProdConFeed.txt, removing it if empty"
|
||||
echo " --archiveRestoredPackages capture all restored packages to $archivedPackagesDir"
|
||||
echo "environment:"
|
||||
echo " prodConBlobFeedUrl override the prodcon blob feed specified in ProdConFeed.txt, removing it if empty"
|
||||
echo " --archiveRestoredPackages capture all restored packages to $smokeTestPrebuilts"
|
||||
echo ""
|
||||
}
|
||||
|
||||
|
@ -147,10 +144,6 @@ while :; do
|
|||
shift
|
||||
devCertsVersion="$1"
|
||||
;;
|
||||
--prodconblobfeedurl)
|
||||
shift
|
||||
prodConBlobFeedUrl="$1"
|
||||
;;
|
||||
--archiverestoredpackages)
|
||||
archiveRestoredPackages=true
|
||||
;;
|
||||
|
@ -164,8 +157,6 @@ while :; do
|
|||
shift
|
||||
done
|
||||
|
||||
prodConBlobFeedUrl="${prodConBlobFeedUrl-}"
|
||||
|
||||
function doCommand() {
|
||||
lang=$1
|
||||
proj=$2
|
||||
|
@ -258,12 +249,14 @@ function doCommand() {
|
|||
"${dotnetCmd}" publish --self-contained false /bl:"${binlogPrefix}publish-fx-dep.binlog"
|
||||
"${dotnetCmd}" publish --self-contained true -r "$targetRid" /bl:"${binlogPrefix}publish-self-contained-${targetRid}.binlog"
|
||||
"${dotnetCmd}" publish --self-contained true -r linux-x64 /bl:"${binlogPrefix}publish-self-contained-portable.binlog"
|
||||
"${dotnetCmd}" publish --self-contained true -r linux-x64 /bl:"${binlogPrefix}publish-self-contained-R2R-portable.binlog" /p:PublishTrimmed=true /p:PublishReadyToRun=true
|
||||
}
|
||||
else
|
||||
runPublishScenarios() {
|
||||
"${dotnetCmd}" publish --self-contained false /bl:"${binlogPrefix}publish-fx-dep.binlog"
|
||||
"${dotnetCmd}" publish --self-contained true -r "$targetRid" /bl:"${binlogPrefix}publish-self-contained-${targetRid}.binlog"
|
||||
"${dotnetCmd}" publish --self-contained true -r linux-x64 /bl:"${binlogPrefix}publish-self-contained-portable.binlog"
|
||||
"${dotnetCmd}" publish --self-contained true -r linux-x64 /bl:"${binlogPrefix}publish-self-contained-R2R-portable.binlog" /p:PublishTrimmed=true /p:PublishReadyToRun=true
|
||||
}
|
||||
fi
|
||||
if [ "$projectOutput" == "true" ]; then
|
||||
|
@ -321,16 +314,19 @@ function runAllTests() {
|
|||
doCommand C# console new restore build run multi-rid-publish
|
||||
doCommand C# classlib new restore build multi-rid-publish
|
||||
doCommand C# xunit new restore test
|
||||
doCommand C# nunit new restore test
|
||||
doCommand C# mstest new restore test
|
||||
|
||||
doCommand VB console new restore build run multi-rid-publish
|
||||
doCommand VB classlib new restore build multi-rid-publish
|
||||
doCommand VB xunit new restore test
|
||||
doCommand VB nunit new restore test
|
||||
doCommand VB mstest new restore test
|
||||
|
||||
doCommand F# console new restore build run multi-rid-publish
|
||||
doCommand F# classlib new restore build multi-rid-publish
|
||||
doCommand F# xunit new restore test
|
||||
doCommand F# nunit new restore test
|
||||
doCommand F# mstest new restore test
|
||||
fi
|
||||
|
||||
|
@ -355,253 +351,14 @@ function runWebTests() {
|
|||
doCommand C# razor "$@" new restore build run multi-rid-publish
|
||||
doCommand C# blazorwasm "$@" new restore build run publish
|
||||
doCommand C# blazorserver "$@" new restore build run publish
|
||||
doCommand C# worker new restore
|
||||
doCommand C# angular new restore
|
||||
|
||||
doCommand F# web "$@" new restore build run multi-rid-publish
|
||||
doCommand F# mvc "$@" new restore build run multi-rid-publish
|
||||
doCommand F# webapi "$@" new restore build run multi-rid-publish
|
||||
}
|
||||
|
||||
function runXmlDocTests() {
|
||||
targetingPacksDir="$dotnetDir/packs/"
|
||||
echo "Looking for xml docs in targeting packs in $targetingPacksDir"
|
||||
|
||||
netstandardIgnoreList=(
|
||||
Microsoft.Win32.Primitives.xml
|
||||
mscorlib.xml
|
||||
System.AppContext.xml
|
||||
System.Buffers.xml
|
||||
System.Collections.Concurrent.xml
|
||||
System.Collections.NonGeneric.xml
|
||||
System.Collections.Specialized.xml
|
||||
System.Collections.xml
|
||||
System.ComponentModel.Composition.xml
|
||||
System.ComponentModel.EventBasedAsync.xml
|
||||
System.ComponentModel.Primitives.xml
|
||||
System.ComponentModel.TypeConverter.xml
|
||||
System.ComponentModel.xml
|
||||
System.Console.xml
|
||||
System.Core.xml
|
||||
System.Data.Common.xml
|
||||
System.Data.xml
|
||||
System.Diagnostics.Contracts.xml
|
||||
System.Diagnostics.Debug.xml
|
||||
System.Diagnostics.FileVersionInfo.xml
|
||||
System.Diagnostics.Process.xml
|
||||
System.Diagnostics.StackTrace.xml
|
||||
System.Diagnostics.TextWriterTraceListener.xml
|
||||
System.Diagnostics.Tools.xml
|
||||
System.Diagnostics.TraceSource.xml
|
||||
System.Diagnostics.Tracing.xml
|
||||
System.Drawing.Primitives.xml
|
||||
System.Drawing.xml
|
||||
System.Dynamic.Runtime.xml
|
||||
System.Globalization.Calendars.xml
|
||||
System.Globalization.Extensions.xml
|
||||
System.Globalization.xml
|
||||
System.IO.Compression.FileSystem.xml
|
||||
System.IO.Compression.xml
|
||||
System.IO.Compression.ZipFile.xml
|
||||
System.IO.FileSystem.DriveInfo.xml
|
||||
System.IO.FileSystem.Primitives.xml
|
||||
System.IO.FileSystem.Watcher.xml
|
||||
System.IO.FileSystem.xml
|
||||
System.IO.IsolatedStorage.xml
|
||||
System.IO.MemoryMappedFiles.xml
|
||||
System.IO.Pipes.xml
|
||||
System.IO.UnmanagedMemoryStream.xml
|
||||
System.IO.xml
|
||||
System.Linq.Expressions.xml
|
||||
System.Linq.Parallel.xml
|
||||
System.Linq.Queryable.xml
|
||||
System.Linq.xml
|
||||
System.Memory.xml
|
||||
System.Net.Http.xml
|
||||
System.Net.NameResolution.xml
|
||||
System.Net.NetworkInformation.xml
|
||||
System.Net.Ping.xml
|
||||
System.Net.Primitives.xml
|
||||
System.Net.Requests.xml
|
||||
System.Net.Security.xml
|
||||
System.Net.Sockets.xml
|
||||
System.Net.WebHeaderCollection.xml
|
||||
System.Net.WebSockets.Client.xml
|
||||
System.Net.WebSockets.xml
|
||||
System.Net.xml
|
||||
System.Numerics.Vectors.xml
|
||||
System.Numerics.xml
|
||||
System.ObjectModel.xml
|
||||
System.Reflection.DispatchProxy.xml
|
||||
System.Reflection.Emit.ILGeneration.xml
|
||||
System.Reflection.Emit.Lightweight.xml
|
||||
System.Reflection.Emit.xml
|
||||
System.Reflection.Extensions.xml
|
||||
System.Reflection.Primitives.xml
|
||||
System.Reflection.xml
|
||||
System.Resources.Reader.xml
|
||||
System.Resources.ResourceManager.xml
|
||||
System.Resources.Writer.xml
|
||||
System.Runtime.CompilerServices.VisualC.xml
|
||||
System.Runtime.Extensions.xml
|
||||
System.Runtime.Handles.xml
|
||||
System.Runtime.InteropServices.RuntimeInformation.xml
|
||||
System.Runtime.InteropServices.xml
|
||||
System.Runtime.Numerics.xml
|
||||
System.Runtime.Serialization.Formatters.xml
|
||||
System.Runtime.Serialization.Json.xml
|
||||
System.Runtime.Serialization.Primitives.xml
|
||||
System.Runtime.Serialization.xml
|
||||
System.Runtime.Serialization.Xml.xml
|
||||
System.Runtime.xml
|
||||
System.Security.Claims.xml
|
||||
System.Security.Cryptography.Algorithms.xml
|
||||
System.Security.Cryptography.Csp.xml
|
||||
System.Security.Cryptography.Encoding.xml
|
||||
System.Security.Cryptography.Primitives.xml
|
||||
System.Security.Cryptography.X509Certificates.xml
|
||||
System.Security.Principal.xml
|
||||
System.Security.SecureString.xml
|
||||
System.ServiceModel.Web.xml
|
||||
System.Text.Encoding.Extensions.xml
|
||||
System.Text.Encoding.xml
|
||||
System.Text.RegularExpressions.xml
|
||||
System.Threading.Overlapped.xml
|
||||
System.Threading.Tasks.Extensions.xml
|
||||
System.Threading.Tasks.Parallel.xml
|
||||
System.Threading.Tasks.xml
|
||||
System.Threading.ThreadPool.xml
|
||||
System.Threading.Thread.xml
|
||||
System.Threading.Timer.xml
|
||||
System.Threading.xml
|
||||
System.Transactions.xml
|
||||
System.ValueTuple.xml
|
||||
System.Web.xml
|
||||
System.Windows.xml
|
||||
System.xml
|
||||
System.Xml.Linq.xml
|
||||
System.Xml.ReaderWriter.xml
|
||||
System.Xml.Serialization.xml
|
||||
System.Xml.XDocument.xml
|
||||
System.Xml.xml
|
||||
System.Xml.XmlDocument.xml
|
||||
System.Xml.XmlSerializer.xml
|
||||
System.Xml.XPath.XDocument.xml
|
||||
System.Xml.XPath.xml
|
||||
)
|
||||
|
||||
netcoreappIgnoreList=(
|
||||
mscorlib.xml
|
||||
Microsoft.VisualBasic.xml
|
||||
System.AppContext.xml
|
||||
System.Buffers.xml
|
||||
System.ComponentModel.DataAnnotations.xml
|
||||
System.Configuration.xml
|
||||
System.Core.xml
|
||||
System.Data.DataSetExtensions.xml
|
||||
System.Data.xml
|
||||
System.Diagnostics.Debug.xml
|
||||
System.Diagnostics.Tools.xml
|
||||
System.Drawing.xml
|
||||
System.Dynamic.Runtime.xml
|
||||
System.Globalization.Calendars.xml
|
||||
System.Globalization.Extensions.xml
|
||||
System.Globalization.xml
|
||||
System.IO.Compression.Brotli.xml
|
||||
System.IO.Compression.FileSystem.xml
|
||||
System.IO.FileSystem.xml
|
||||
System.IO.FileSystem.Primitives.xml
|
||||
System.IO.UnmanagedMemoryStream.xml
|
||||
System.IO.xml
|
||||
System.Net.xml
|
||||
System.Numerics.xml
|
||||
System.Numerics.Vectors.xml
|
||||
System.Reflection.Extensions.xml
|
||||
System.Reflection.xml
|
||||
System.Resources.Reader.xml
|
||||
System.Resources.ResourceManager.xml
|
||||
System.Runtime.Extensions.xml
|
||||
System.Runtime.Handles.xml
|
||||
System.Runtime.Serialization.xml
|
||||
System.Security.Principal.xml
|
||||
System.Security.SecureString.xml
|
||||
System.Security.xml
|
||||
System.ServiceModel.Web.xml
|
||||
System.ServiceProcess.xml
|
||||
System.Text.Encoding.xml
|
||||
System.Text.Json.SourceGeneration.resources.xml
|
||||
System.Text.Json.SourceGeneration.xml
|
||||
System.Threading.Tasks.Extensions.xml
|
||||
System.Threading.Tasks.xml
|
||||
System.Threading.Timer.xml
|
||||
System.Transactions.xml
|
||||
System.ValueTuple.xml
|
||||
System.Web.xml
|
||||
System.Windows.xml
|
||||
System.xml
|
||||
System.Xml.Linq.xml
|
||||
System.Xml.Serialization.xml
|
||||
System.Xml.xml
|
||||
System.Xml.XmlDocument.xml
|
||||
WindowsBase.xml
|
||||
)
|
||||
|
||||
aspnetcoreappIgnoreList=(
|
||||
Microsoft.AspNetCore.App.Analyzers.xml
|
||||
Microsoft.AspNetCore.App.CodeFixes.xml
|
||||
Microsoft.Extensions.Logging.Generators.resources.xml
|
||||
Microsoft.Extensions.Logging.Generators.xml
|
||||
)
|
||||
|
||||
error=0
|
||||
while IFS= read -r -d '' dllFile; do
|
||||
xmlDocFile=${dllFile%.*}.xml
|
||||
skip=0
|
||||
if [[ "$xmlDocFile" == *"/packs/Microsoft.NETCore.App.Ref"* ]]; then
|
||||
xmlFileBasename=$(basename "$xmlDocFile")
|
||||
for ignoreItem in "${netcoreappIgnoreList[@]}"; do
|
||||
if [[ "$ignoreItem" == "$xmlFileBasename" ]]; then
|
||||
skip=1;
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if [[ "$xmlDocFile" == *"/packs/NETStandard.Library.Ref"* ]]; then
|
||||
xmlFileBasename=$(basename "$xmlDocFile")
|
||||
for ignoreItem in "${netstandardIgnoreList[@]}"; do
|
||||
if [[ "$ignoreItem" == "$xmlFileBasename" ]]; then
|
||||
skip=1;
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if [[ "$xmlDocFile" == *"/packs/Microsoft.AspNetCore.App.Ref"* ]]; then
|
||||
xmlFileBasename=$(basename "$xmlDocFile")
|
||||
for ignoreItem in "${aspnetcoreappIgnoreList[@]}"; do
|
||||
if [[ "$ignoreItem" == "$xmlFileBasename" ]]; then
|
||||
skip=1;
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if [[ $skip == 0 ]] && [[ ! -f "$xmlDocFile" ]]; then
|
||||
error=1
|
||||
echo "error: missing $xmlDocFile"
|
||||
fi
|
||||
|
||||
if [[ $skip == 1 ]] && [[ -f "$xmlDocFile" ]]; then
|
||||
error=1
|
||||
echo "error: Ignored xml doc was found: $xmlDocFile"
|
||||
fi
|
||||
|
||||
done < <(find "$targetingPacksDir" -name '*.dll' -print0)
|
||||
|
||||
if [[ $error != 0 ]]; then
|
||||
echo "error: Missing or unexpected xml documents"
|
||||
exit 1
|
||||
else
|
||||
echo "All expected xml docs are present"
|
||||
fi
|
||||
}
|
||||
|
||||
function runOmniSharpTests() {
|
||||
dotnetCmd=${dotnetDir}/dotnet
|
||||
|
||||
|
@ -616,8 +373,7 @@ function runOmniSharpTests() {
|
|||
tar xf "../omnisharp-linux-x64.tar.gz"
|
||||
popd
|
||||
|
||||
# 'blazorwasm' requires prereqs (non-source-built packages) - re-enable with https://github.com/dotnet/source-build/issues/2550
|
||||
for project in blazorserver classlib console mstest mvc nunit web webapp webapi worker xunit ; do
|
||||
for project in blazorwasm blazorserver classlib console mstest mvc nunit web webapp webapi worker xunit ; do
|
||||
|
||||
mkdir hello-$project
|
||||
pushd hello-$project
|
||||
|
@ -667,18 +423,10 @@ function resetCaches() {
|
|||
fi
|
||||
}
|
||||
|
||||
function setupProdConFeed() {
|
||||
if [ "$prodConBlobFeedUrl" ]; then
|
||||
sed -i.bakProdCon "s|PRODUCT_CONTRUCTION_PACKAGES|$prodConBlobFeedUrl|g" "$testingDir/NuGet.Config"
|
||||
else
|
||||
sed -i.bakProdCon "/PRODUCT_CONTRUCTION_PACKAGES/d" "$testingDir/NuGet.Config"
|
||||
fi
|
||||
}
|
||||
|
||||
function setupSmokeTestFeed() {
|
||||
# Setup smoke-test-packages if they exist
|
||||
if [ -e "$smokeTestPrebuilts" ]; then
|
||||
sed -i.bakSmokeTestFeed "s|SMOKE_TEST_PACKAGE_FEED|$smokeTestPrebuilts|g" "$testingDir/NuGet.Config"
|
||||
if [ -e "$nonSbSmokeTestPrebuilts" ]; then
|
||||
sed -i.bakSmokeTestFeed "s|SMOKE_TEST_PACKAGE_FEED|$nonSbSmokeTestPrebuilts|g" "$testingDir/NuGet.Config"
|
||||
else
|
||||
sed -i.bakSmokeTestFeed "/SMOKE_TEST_PACKAGE_FEED/d" "$testingDir/NuGet.Config"
|
||||
fi
|
||||
|
@ -686,8 +434,21 @@ function setupSmokeTestFeed() {
|
|||
|
||||
function copyRestoredPackages() {
|
||||
if [ "$archiveRestoredPackages" == "true" ]; then
|
||||
mkdir -p "$archivedPackagesDir"
|
||||
cp -rf "$restoredPackagesDir"/* "$archivedPackagesDir"
|
||||
rm -rf "$smokeTestPrebuilts"
|
||||
rm -rf "$nonSbSmokeTestPrebuilts"
|
||||
mkdir -p "$smokeTestPrebuilts"
|
||||
mkdir -p "$nonSbSmokeTestPrebuilts"
|
||||
find "$restoredPackagesDir" -iname "*.nupkg" -exec mv {} "$smokeTestPrebuilts" \;
|
||||
|
||||
smokeTestPackages=$(find "$smokeTestPrebuilts" -iname "*.nupkg" -type f -printf "%f\n" | tr '[A-Z]' '[a-z]' | sort)
|
||||
sourceBuiltPackages=$(find "$SOURCE_BUILT_PKGS_PATH" -iname "*.nupkg" -type f -printf "%f\n" | tr '[A-Z]' '[a-z]' | sort)
|
||||
|
||||
echo "Removing smoke-test prereq packages that are source built:"
|
||||
comm -23 <(printf "$smokeTestPackages") <(printf "$sourceBuiltPackages") | while read line
|
||||
do
|
||||
echo "$line"
|
||||
cp "$smokeTestPrebuilts/$line" "$nonSbSmokeTestPrebuilts"
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -700,11 +461,7 @@ fi
|
|||
|
||||
# Clean up and create directory
|
||||
if [ -e "$testingDir" ]; then
|
||||
read -p "testing-smoke directory exists, remove it? [Y]es / [n]o" -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY == "" || $REPLY == " " || $REPLY =~ ^[Yy]$ ]]; then
|
||||
rm -rf "$testingDir"
|
||||
fi
|
||||
rm -rf "$testingDir"
|
||||
fi
|
||||
|
||||
mkdir -p "$testingDir"
|
||||
|
@ -716,7 +473,7 @@ echo "<Project />" | tee Directory.Build.props > Directory.Build.targets
|
|||
|
||||
# Unzip dotnet if the dotnetDir is not specified
|
||||
if [ "$dotnetDir" == "" ]; then
|
||||
OUTPUT_DIR="$SCRIPT_ROOT/artifacts/$buildArch/$configuration/"
|
||||
OUTPUT_DIR="$ARTIFACTS_DIR$buildArch/$configuration/"
|
||||
DOTNET_TARBALL="$(ls "${OUTPUT_DIR}${TARBALL_PREFIX}${VERSION_PREFIX}"*)"
|
||||
|
||||
mkdir -p "$cliDir"
|
||||
|
@ -733,38 +490,17 @@ echo SDK under test is:
|
|||
|
||||
# setup restore path
|
||||
export NUGET_PACKAGES="$restoredPackagesDir"
|
||||
SOURCE_BUILT_PKGS_PATH="$SCRIPT_ROOT/artifacts/obj/$buildArch/$configuration/blob-feed/packages/"
|
||||
SOURCE_BUILT_PKGS_PATH="${ARTIFACTS_DIR}obj/$buildArch/$configuration/blob-feed/packages/"
|
||||
export DOTNET_ROOT="$dotnetDir"
|
||||
export PATH="$dotnetDir:$PATH"
|
||||
|
||||
# Run all tests, local restore sources first, online restore sources second
|
||||
if [ "$excludeLocalTests" == "false" ]; then
|
||||
resetCaches
|
||||
runningOnline=false
|
||||
# Setup NuGet.Config with local restore source
|
||||
if [ -e "$SCRIPT_ROOT/smoke-testNuGet.Config" ]; then
|
||||
cp "$SCRIPT_ROOT/smoke-testNuGet.Config" "$testingDir/NuGet.Config"
|
||||
sed -i.bak "s|SOURCE_BUILT_PACKAGES|$SOURCE_BUILT_PKGS_PATH|g" "$testingDir/NuGet.Config"
|
||||
setupProdConFeed
|
||||
setupSmokeTestFeed
|
||||
echo "$testingDir/NuGet.Config Contents:"
|
||||
cat "$testingDir/NuGet.Config"
|
||||
fi
|
||||
echo "RUN ALL TESTS - LOCAL RESTORE SOURCE"
|
||||
runAllTests
|
||||
copyRestoredPackages
|
||||
echo "LOCAL RESTORE SOURCE - ALL TESTS PASSED!"
|
||||
fi
|
||||
|
||||
# Run all tests, online restore sources first, local restore sources second
|
||||
if [ "$excludeOnlineTests" == "false" ]; then
|
||||
resetCaches
|
||||
runningOnline=true
|
||||
# Setup NuGet.Config to use online restore sources
|
||||
if [ -e "$SCRIPT_ROOT/smoke-testNuGet.Config" ]; then
|
||||
cp "$SCRIPT_ROOT/smoke-testNuGet.Config" "$testingDir/NuGet.Config"
|
||||
sed -i.bak "/SOURCE_BUILT_PACKAGES/d" "$testingDir/NuGet.Config"
|
||||
setupProdConFeed
|
||||
setupSmokeTestFeed
|
||||
if [ -e "$SCRIPT_ROOT/online.NuGet.Config" ]; then
|
||||
cp "$SCRIPT_ROOT/online.NuGet.Config" "$testingDir/NuGet.Config"
|
||||
echo "$testingDir/NuGet.Config Contents:"
|
||||
cat "$testingDir/NuGet.Config"
|
||||
fi
|
||||
|
@ -774,7 +510,21 @@ if [ "$excludeOnlineTests" == "false" ]; then
|
|||
echo "ONLINE RESTORE SOURCE - ALL TESTS PASSED!"
|
||||
fi
|
||||
|
||||
runXmlDocTests
|
||||
if [ "$excludeLocalTests" == "false" ]; then
|
||||
resetCaches
|
||||
runningOnline=false
|
||||
# Setup NuGet.Config with local restore source
|
||||
if [ -e "$SCRIPT_ROOT/local.NuGet.Config" ]; then
|
||||
cp "$SCRIPT_ROOT/local.NuGet.Config" "$testingDir/NuGet.Config"
|
||||
sed -i.bak "s|SOURCE_BUILT_PACKAGES|$SOURCE_BUILT_PKGS_PATH|g" "$testingDir/NuGet.Config"
|
||||
setupSmokeTestFeed
|
||||
echo "$testingDir/NuGet.Config Contents:"
|
||||
cat "$testingDir/NuGet.Config"
|
||||
fi
|
||||
echo "RUN ALL TESTS - LOCAL RESTORE SOURCE"
|
||||
runAllTests
|
||||
echo "LOCAL RESTORE SOURCE - ALL TESTS PASSED!"
|
||||
fi
|
||||
|
||||
if [ "$excludeOmniSharpTests" == "false" ]; then
|
||||
runOmniSharpTests
|
|
@ -0,0 +1,14 @@
|
|||
<Project>
|
||||
|
||||
<PropertyGroup>
|
||||
<RepoRoot Condition="'$(RepoRoot)' == ''">$([MSBuild]::NormalizeDirectory('$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'global.json'))'))</RepoRoot>
|
||||
<RepositoryEngineeringDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'eng'))</RepositoryEngineeringDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Skip importing NuGet Pack targets which are imported from the Microsoft.NET.Sdk targets -->
|
||||
<ImportNuGetBuildTasksPackTargetsFromSdk>false</ImportNuGetBuildTasksPackTargetsFromSdk>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
<Project>
|
||||
<Target Name="_IsProjectRestoreSupported"/>
|
||||
<Target Name="Restore"/>
|
||||
<Target Name="Build"/>
|
||||
<Target Name="Test"/>
|
||||
<Target Name="Pack"/>
|
||||
<Target Name="Publish"/>
|
||||
</Project>
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
From 1d34d8396b9c2968163802036ed102e18ef14605 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Simons <msimons@microsoft.com>
|
||||
Date: Fri, 10 Sep 2021 13:57:38 +0000
|
||||
Subject: [PATCH] Bootstrapping workaround
|
||||
|
||||
Temporary workaround until source-build is built with recent source-built.
|
||||
/repos/tarball1/src/arcade.474307e526160c813c9fd58060eb8356ccca6099/artifacts/source-build/self/src/src/Microsoft.DotNet.CodeAnalysis/Microsoft.DotNet.CodeAnalysis.csproj : error NU1603: Microsoft.CodeAnalysis.Common 4.0.0-5.21453.15 depends on System.Runtime.CompilerServices.Unsafe (>= 6.0.0-rc.1.21415.6) but System.Runtime.CompilerServices.Unsafe 6.0.0-rc.1.21415.6 was not found. An approximate best match of System.Runtime.CompilerServices.Unsafe 6.0.0-rc.2.21457.6 was resolved. [/repos/tarball1/src/arcade.474307e526160c813c9fd58060eb8356ccca6099/artifacts/source-build/self/src/Arcade.sln]
|
||||
/repos/tarball1/src/arcade.474307e526160c813c9fd58060eb8356ccca6099/artifacts/source-build/self/src/src/Microsoft.DotNet.PackageTesting/Microsoft.DotNet.PackageTesting.csproj : error NU1603: Microsoft.CodeAnalysis.Common 4.0.0-5.21453.15 depends on System.Runtime.CompilerServices.Unsafe (>= 6.0.0-rc.1.21415.6) but System.Runtime.CompilerServices.Unsafe 6.0.0-rc.1.21415.6 was not found. An approximate best match of System.Runtime.CompilerServices.Unsafe 6.0.0-rc.2.21457.6 was resolved. [/repos/tarball1/src/arcade.474307e526160c813c9fd58060eb8356ccca6099/artifacts/source-build/self/src/Arcade.sln]
|
||||
/repos/tarball1/src/arcade.474307e526160c813c9fd58060eb8356ccca6099/artifacts/source-build/self/src/src/Microsoft.DotNet.GenFacades/Microsoft.DotNet.GenFacades.csproj : error NU1603: Microsoft.CodeAnalysis.Common 4.0.0-5.21453.15 depends on System.Runtime.CompilerServices.Unsafe (>= 6.0.0-rc.1.21415.6) but System.Runtime.CompilerServices.Unsafe 6.0.0-rc.1.21415.6 was not found. An approximate best match of System.Runtime.CompilerServices.Unsafe 6.0.0-rc.2.21457.6 was resolved. [/repos/tarball1/src/arcade.474307e526160c813c9fd58060eb8356ccca6099/artifacts/source-build/self/src/Arcade.sln]
|
||||
|
||||
---
|
||||
Directory.Build.props | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/Directory.Build.props b/Directory.Build.props
|
||||
index 37feef5..c5aee85 100644
|
||||
--- a/Directory.Build.props
|
||||
+++ b/Directory.Build.props
|
||||
@@ -18,6 +18,10 @@
|
||||
<IsShipping>false</IsShipping>
|
||||
</PropertyGroup>
|
||||
|
||||
+ <PropertyGroup>
|
||||
+ <NoWarn>$(NoWarn);NU1603</NoWarn>
|
||||
+ </PropertyGroup>
|
||||
+
|
||||
<PropertyGroup Condition="'$(DotNetBuildOffline)' == 'true'">
|
||||
<!--
|
||||
Arcade has a special version prop for CodeAnalysis.CSharp in GenFacades
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -1,146 +0,0 @@
|
|||
From 110fc28ea7c17d57bbd5ce8ed3fc4e2b0274c5b3 Mon Sep 17 00:00:00 2001
|
||||
From: dseefeld <dseefeld@microsoft.com>
|
||||
Date: Fri, 22 Oct 2021 22:17:37 +0000
|
||||
Subject: [PATCH] Build a subset of roslyn projects
|
||||
|
||||
Some projects use Microsoft.NET.Sdk.WindowsDesktop sdk
|
||||
which cannot be built using a boostrapped source-build
|
||||
sdk, since WindowsDesktop is not supported. These cannot
|
||||
be ignored using ExcludeFromSourceBuild because the project
|
||||
still needs to be loaded and the sdk cannot be found.
|
||||
|
||||
See https://github.com/dotnet/roslyn/issues/57342
|
||||
---
|
||||
Roslyn.SourceBuild.slnf | 105 ++++++++++++++++++++++++++++++++++++++++
|
||||
eng/SourceBuild.props | 2 +-
|
||||
2 files changed, 106 insertions(+), 1 deletion(-)
|
||||
create mode 100644 Roslyn.SourceBuild.slnf
|
||||
|
||||
diff --git a/Roslyn.SourceBuild.slnf b/Roslyn.SourceBuild.slnf
|
||||
new file mode 100644
|
||||
index 00000000000..e6f8eb315bf
|
||||
--- /dev/null
|
||||
+++ b/Roslyn.SourceBuild.slnf
|
||||
@@ -0,0 +1,105 @@
|
||||
+{
|
||||
+ "solution": {
|
||||
+ "path": "Roslyn.sln",
|
||||
+ "projects": [
|
||||
+ "src\\Deployment\\RoslynDeployment.csproj",
|
||||
+ "src\\Compilers\\Core\\Portable\\Microsoft.CodeAnalysis.csproj",
|
||||
+ "src\\Compilers\\Server\\VBCSCompiler\\VBCSCompiler.csproj",
|
||||
+ "src\\Compilers\\CSharp\\csc\\csc.csproj",
|
||||
+ "src\\Compilers\\CSharp\\Portable\\Microsoft.CodeAnalysis.CSharp.csproj",
|
||||
+ "src\\Compilers\\VisualBasic\\Portable\\Microsoft.CodeAnalysis.VisualBasic.vbproj",
|
||||
+ "src\\Workspaces\\Core\\Portable\\Microsoft.CodeAnalysis.Workspaces.csproj",
|
||||
+ "src\\Tools\\Source\\CompilerGeneratorTools\\Source\\BoundTreeGenerator\\CompilersBoundTreeGenerator.csproj",
|
||||
+ "src\\Tools\\Source\\CompilerGeneratorTools\\Source\\CSharpErrorFactsGenerator\\CSharpErrorFactsGenerator.csproj",
|
||||
+ "src\\Tools\\Source\\CompilerGeneratorTools\\Source\\CSharpSyntaxGenerator\\CSharpSyntaxGenerator.csproj",
|
||||
+ "src\\Tools\\Source\\CompilerGeneratorTools\\Source\\VisualBasicSyntaxGenerator\\VisualBasicSyntaxGenerator.vbproj",
|
||||
+ "src\\Tools\\Source\\CompilerGeneratorTools\\Source\\VisualBasicErrorFactsGenerator\\VisualBasicErrorFactsGenerator.vbproj",
|
||||
+ "src\\Workspaces\\Core\\Desktop\\Microsoft.CodeAnalysis.Workspaces.Desktop.csproj",
|
||||
+ "src\\Workspaces\\Core\\MSBuild\\Microsoft.CodeAnalysis.Workspaces.MSBuild.csproj",
|
||||
+ "src\\Workspaces\\CSharp\\Portable\\Microsoft.CodeAnalysis.CSharp.Workspaces.csproj",
|
||||
+ "src\\Workspaces\\VisualBasic\\Portable\\Microsoft.CodeAnalysis.VisualBasic.Workspaces.vbproj",
|
||||
+ "src\\Features\\VisualBasic\\Portable\\Microsoft.CodeAnalysis.VisualBasic.Features.vbproj",
|
||||
+ "src\\Features\\CSharp\\Portable\\Microsoft.CodeAnalysis.CSharp.Features.csproj",
|
||||
+ "src\\Features\\Core\\Portable\\Microsoft.CodeAnalysis.Features.csproj",
|
||||
+ "src\\Scripting\\VisualBasic\\Microsoft.CodeAnalysis.VisualBasic.Scripting.vbproj",
|
||||
+ "src\\Scripting\\Core\\Microsoft.CodeAnalysis.Scripting.csproj",
|
||||
+ "src\\Scripting\\CSharp\\Microsoft.CodeAnalysis.CSharp.Scripting.csproj",
|
||||
+ "src\\ExpressionEvaluator\\Package\\ExpressionEvaluatorPackage.csproj",
|
||||
+ "src\\ExpressionEvaluator\\CSharp\\Source\\ExpressionCompiler\\Microsoft.CodeAnalysis.CSharp.ExpressionCompiler.csproj",
|
||||
+ "src\\ExpressionEvaluator\\VisualBasic\\Source\\ExpressionCompiler\\Microsoft.CodeAnalysis.VisualBasic.ExpressionCompiler.vbproj",
|
||||
+ "src\\ExpressionEvaluator\\Core\\Source\\ExpressionCompiler\\Microsoft.CodeAnalysis.ExpressionCompiler.csproj",
|
||||
+ "src\\Compilers\\Core\\AnalyzerDriver\\AnalyzerDriver.shproj",
|
||||
+ "src\\ExpressionEvaluator\\VisualBasic\\Source\\ResultProvider\\BasicResultProvider.shproj",
|
||||
+ "src\\ExpressionEvaluator\\VisualBasic\\Source\\ResultProvider\\NetFX20\\BasicResultProvider.NetFX20.vbproj",
|
||||
+ "src\\ExpressionEvaluator\\VisualBasic\\Source\\ResultProvider\\Portable\\Microsoft.CodeAnalysis.VisualBasic.ResultProvider.vbproj",
|
||||
+ "src\\ExpressionEvaluator\\CSharp\\Source\\ResultProvider\\CSharpResultProvider.shproj",
|
||||
+ "src\\ExpressionEvaluator\\CSharp\\Source\\ResultProvider\\NetFX20\\CSharpResultProvider.NetFX20.csproj",
|
||||
+ "src\\ExpressionEvaluator\\CSharp\\Source\\ResultProvider\\Portable\\Microsoft.CodeAnalysis.CSharp.ResultProvider.csproj",
|
||||
+ "src\\ExpressionEvaluator\\Core\\Source\\ResultProvider\\ResultProvider.shproj",
|
||||
+ "src\\ExpressionEvaluator\\Core\\Source\\ResultProvider\\NetFX20\\ResultProvider.NetFX20.csproj",
|
||||
+ "src\\ExpressionEvaluator\\Core\\Source\\ResultProvider\\Portable\\Microsoft.CodeAnalysis.ResultProvider.csproj",
|
||||
+ "src\\Compilers\\VisualBasic\\vbc\\vbc.csproj",
|
||||
+ "src\\Compilers\\VisualBasic\\BasicAnalyzerDriver\\BasicAnalyzerDriver.shproj",
|
||||
+ "src\\Compilers\\CSharp\\CSharpAnalyzerDriver\\CSharpAnalyzerDriver.shproj",
|
||||
+ "src\\Compilers\\Core\\CommandLine\\CommandLine.shproj",
|
||||
+ "src\\Compilers\\Extension\\Roslyn.Compilers.Extension.csproj",
|
||||
+ "src\\Dependencies\\CodeAnalysis.Debugging\\Microsoft.CodeAnalysis.Debugging.shproj",
|
||||
+ "src\\Dependencies\\PooledObjects\\Microsoft.CodeAnalysis.PooledObjects.shproj",
|
||||
+ "src\\Workspaces\\Remote\\Core\\Microsoft.CodeAnalysis.Remote.Workspaces.csproj",
|
||||
+ "src\\Workspaces\\Remote\\ServiceHub\\Microsoft.CodeAnalysis.Remote.ServiceHub.csproj",
|
||||
+ "src\\Compilers\\Core\\MSBuildTask\\Microsoft.Build.Tasks.CodeAnalysis.csproj",
|
||||
+ "src\\Tools\\BuildBoss\\BuildBoss.csproj",
|
||||
+ "src\\ExpressionEvaluator\\Core\\Source\\FunctionResolver\\Microsoft.CodeAnalysis.FunctionResolver.csproj",
|
||||
+ "src\\CodeStyle\\Core\\Analyzers\\Microsoft.CodeAnalysis.CodeStyle.csproj",
|
||||
+ "src\\CodeStyle\\Core\\CodeFixes\\Microsoft.CodeAnalysis.CodeStyle.Fixes.csproj",
|
||||
+ "src\\CodeStyle\\CSharp\\Analyzers\\Microsoft.CodeAnalysis.CSharp.CodeStyle.csproj",
|
||||
+ "src\\CodeStyle\\CSharp\\CodeFixes\\Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes.csproj",
|
||||
+ "src\\CodeStyle\\VisualBasic\\Analyzers\\Microsoft.CodeAnalysis.VisualBasic.CodeStyle.vbproj",
|
||||
+ "src\\CodeStyle\\VisualBasic\\CodeFixes\\Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes.vbproj",
|
||||
+ "src\\Tools\\AnalyzerRunner\\AnalyzerRunner.csproj",
|
||||
+ "src\\Dependencies\\CodeAnalysis.Debugging\\Microsoft.CodeAnalysis.Debugging.Package.csproj",
|
||||
+ "src\\Dependencies\\PooledObjects\\Microsoft.CodeAnalysis.PooledObjects.Package.csproj",
|
||||
+ "src\\NuGet\\Microsoft.Net.Compilers\\Microsoft.Net.Compilers.Package.csproj",
|
||||
+ "src\\NuGet\\Microsoft.NETCore.Compilers\\Microsoft.NETCore.Compilers.Package.csproj",
|
||||
+ "src\\NuGet\\Microsoft.CodeAnalysis.Compilers.Package.csproj",
|
||||
+ "src\\NuGet\\Microsoft.CodeAnalysis.Scripting.Package.csproj",
|
||||
+ "src\\NuGet\\Microsoft.CodeAnalysis.EditorFeatures.Package.csproj",
|
||||
+ "src\\NuGet\\Microsoft.CodeAnalysis.Package.csproj",
|
||||
+ "src\\Setup\\DevDivVsix\\CompilersPackage\\Microsoft.CodeAnalysis.Compilers.Setup.csproj",
|
||||
+ "src\\Setup\\Installer\\Installer.Package.csproj",
|
||||
+ "src\\Setup\\DevDivInsertionFiles\\DevDivInsertionFiles.csproj",
|
||||
+ "src\\Tools\\ExternalAccess\\FSharp\\Microsoft.CodeAnalysis.ExternalAccess.FSharp.csproj",
|
||||
+ "src\\Tools\\ExternalAccess\\Razor\\Microsoft.CodeAnalysis.ExternalAccess.Razor.csproj",
|
||||
+ "src\\NuGet\\Microsoft.Net.Compilers.Toolset\\Microsoft.Net.Compilers.Toolset.Package.csproj",
|
||||
+ "src\\Features\\LanguageServer\\Protocol\\Microsoft.CodeAnalysis.LanguageServer.Protocol.csproj",
|
||||
+ "src\\Tools\\ExternalAccess\\Debugger\\Microsoft.CodeAnalysis.ExternalAccess.Debugger.csproj",
|
||||
+ "src\\Tools\\ExternalAccess\\Xamarin.Remote\\Microsoft.CodeAnalysis.ExternalAccess.Xamarin.Remote.csproj",
|
||||
+ "src\\Tools\\ExternalAccess\\Apex\\Microsoft.CodeAnalysis.ExternalAccess.Apex.csproj",
|
||||
+ "src\\Tools\\IdeBenchmarks\\IdeBenchmarks.csproj",
|
||||
+ "src\\Tools\\Source\\CompilerGeneratorTools\\Source\\IOperationGenerator\\CompilersIOperationGenerator.csproj",
|
||||
+ "src\\Features\\Lsif\\Generator\\Microsoft.CodeAnalysis.LanguageServerIndexFormat.Generator.csproj",
|
||||
+ "src\\Workspaces\\SharedUtilitiesAndExtensions\\Compiler\\Core\\CompilerExtensions.shproj",
|
||||
+ "src\\Workspaces\\SharedUtilitiesAndExtensions\\Workspace\\Core\\WorkspaceExtensions.shproj",
|
||||
+ "src\\Workspaces\\SharedUtilitiesAndExtensions\\Compiler\\CSharp\\CSharpCompilerExtensions.shproj",
|
||||
+ "src\\Workspaces\\SharedUtilitiesAndExtensions\\Workspace\\CSharp\\CSharpWorkspaceExtensions.shproj",
|
||||
+ "src\\Workspaces\\SharedUtilitiesAndExtensions\\Compiler\\VisualBasic\\VisualBasicCompilerExtensions.shproj",
|
||||
+ "src\\Workspaces\\SharedUtilitiesAndExtensions\\Workspace\\VisualBasic\\VisualBasicWorkspaceExtensions.shproj",
|
||||
+ "src\\Analyzers\\Core\\Analyzers\\Analyzers.shproj",
|
||||
+ "src\\Analyzers\\Core\\CodeFixes\\CodeFixes.shproj",
|
||||
+ "src\\Analyzers\\CSharp\\Analyzers\\CSharpAnalyzers.shproj",
|
||||
+ "src\\Analyzers\\CSharp\\CodeFixes\\CSharpCodeFixes.shproj",
|
||||
+ "src\\Analyzers\\VisualBasic\\Analyzers\\VisualBasicAnalyzers.shproj",
|
||||
+ "src\\Analyzers\\VisualBasic\\CodeFixes\\VisualBasicCodeFixes.shproj",
|
||||
+ "src\\Tools\\IdeCoreBenchmarks\\IdeCoreBenchmarks.csproj",
|
||||
+ "src\\Tools\\BuildValidator\\BuildValidator.csproj",
|
||||
+ "src\\Tools\\BuildActionTelemetryTable\\BuildActionTelemetryTable.csproj",
|
||||
+ "src\\CodeStyle\\Tools\\CodeStyleConfigFileGenerator.csproj",
|
||||
+ "src\\Dependencies\\Collections\\Microsoft.CodeAnalysis.Collections.shproj",
|
||||
+ "src\\Dependencies\\Collections\\Microsoft.CodeAnalysis.Collections.Package.csproj",
|
||||
+ "src\\Compilers\\Core\\Rebuild\\Microsoft.CodeAnalysis.Rebuild.csproj",
|
||||
+ "src\\Tools\\ExternalAccess\\OmniSharp\\Microsoft.CodeAnalysis.ExternalAccess.OmniSharp.csproj",
|
||||
+ "src\\Tools\\ExternalAccess\\OmniSharp.CSharp\\Microsoft.CodeAnalysis.ExternalAccess.OmniSharp.CSharp.csproj",
|
||||
+ "src\\Workspaces\\Remote\\ServiceHub.CoreComponents\\Microsoft.CodeAnalysis.Remote.ServiceHub.CoreComponents.csproj"
|
||||
+ ]
|
||||
+ }
|
||||
+}
|
||||
\ No newline at end of file
|
||||
diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props
|
||||
index 92e316a4744..9905b35467e 100644
|
||||
--- a/eng/SourceBuild.props
|
||||
+++ b/eng/SourceBuild.props
|
||||
@@ -11,7 +11,7 @@
|
||||
-->
|
||||
<Target Name="ConfigureInnerBuildArg" BeforeTargets="GetSourceBuildCommandConfiguration">
|
||||
<PropertyGroup>
|
||||
- <InnerBuildArgs>$(InnerBuildArgs) /p:Projects="$(InnerSourceBuildRepoRoot)\Roslyn.sln"</InnerBuildArgs>
|
||||
+ <InnerBuildArgs>$(InnerBuildArgs) /p:Projects="$(InnerSourceBuildRepoRoot)\Roslyn.SourceBuild.slnf"</InnerBuildArgs>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
|
||||
--
|
||||
2.31.1
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
From 3540e85a194dda1e5448e0aab3212c8aeb5a1aff Mon Sep 17 00:00:00 2001
|
||||
From: Eric Erhardt <eric.erhardt@microsoft.com>
|
||||
Date: Fri, 22 Oct 2021 20:48:25 +0000
|
||||
Subject: [PATCH] Build Microsoft.NET.Build.Tasks for netfx
|
||||
|
||||
Required for omnisharp to work with a source-built .NET SDK.
|
||||
|
||||
Patch removal issue: https://github.com/dotnet/sdk/issues/22281
|
||||
---
|
||||
.../Microsoft.DotNet.Compatibility.csproj | 1 -
|
||||
.../Microsoft.DotNet.PackageValidation.csproj | 1 -
|
||||
.../Microsoft.NET.Build.Extensions.Tasks.csproj | 1 -
|
||||
.../Microsoft.NET.Build.Tasks/Microsoft.NET.Build.Tasks.csproj | 1 -
|
||||
4 files changed, 4 deletions(-)
|
||||
|
||||
diff --git a/src/Compatibility/Microsoft.DotNet.Compatibility/Microsoft.DotNet.Compatibility.csproj b/src/Compatibility/Microsoft.DotNet.Compatibility/Microsoft.DotNet.Compatibility.csproj
|
||||
index 92624be845..f9f8e46329 100644
|
||||
--- a/src/Compatibility/Microsoft.DotNet.Compatibility/Microsoft.DotNet.Compatibility.csproj
|
||||
+++ b/src/Compatibility/Microsoft.DotNet.Compatibility/Microsoft.DotNet.Compatibility.csproj
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net6.0;net472</TargetFrameworks>
|
||||
- <TargetFrameworks Condition=" '$(DotNetBuildFromSource)' == 'true' ">net6.0</TargetFrameworks>
|
||||
<IsPackable>true</IsPackable>
|
||||
<IsShippingPackage>true</IsShippingPackage>
|
||||
<StrongNameKeyId>Open</StrongNameKeyId>
|
||||
diff --git a/src/Compatibility/Microsoft.DotNet.PackageValidation/Microsoft.DotNet.PackageValidation.csproj b/src/Compatibility/Microsoft.DotNet.PackageValidation/Microsoft.DotNet.PackageValidation.csproj
|
||||
index 7a8b648652..4241f4577e 100644
|
||||
--- a/src/Compatibility/Microsoft.DotNet.PackageValidation/Microsoft.DotNet.PackageValidation.csproj
|
||||
+++ b/src/Compatibility/Microsoft.DotNet.PackageValidation/Microsoft.DotNet.PackageValidation.csproj
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net6.0;net472</TargetFrameworks>
|
||||
- <TargetFrameworks Condition=" '$(DotNetBuildFromSource)' == 'true' ">net6.0</TargetFrameworks>
|
||||
<StrongNameKeyId>Open</StrongNameKeyId>
|
||||
</PropertyGroup>
|
||||
|
||||
diff --git a/src/Tasks/Microsoft.NET.Build.Extensions.Tasks/Microsoft.NET.Build.Extensions.Tasks.csproj b/src/Tasks/Microsoft.NET.Build.Extensions.Tasks/Microsoft.NET.Build.Extensions.Tasks.csproj
|
||||
index 13ada82225..280fbdc83e 100644
|
||||
--- a/src/Tasks/Microsoft.NET.Build.Extensions.Tasks/Microsoft.NET.Build.Extensions.Tasks.csproj
|
||||
+++ b/src/Tasks/Microsoft.NET.Build.Extensions.Tasks/Microsoft.NET.Build.Extensions.Tasks.csproj
|
||||
@@ -16,7 +16,6 @@
|
||||
<OutputType>Library</OutputType>
|
||||
<RootNamespace>Microsoft.NET.Build.Tasks</RootNamespace>
|
||||
<TargetFrameworks>$(SdkTargetFramework);net472</TargetFrameworks>
|
||||
- <TargetFrameworks Condition=" '$(DotNetBuildFromSource)' == 'true' ">$(SdkTargetFramework)</TargetFrameworks>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/Microsoft.NET.Build.Tasks.csproj b/src/Tasks/Microsoft.NET.Build.Tasks/Microsoft.NET.Build.Tasks.csproj
|
||||
index 604ef43bf2..bce39c67d4 100644
|
||||
--- a/src/Tasks/Microsoft.NET.Build.Tasks/Microsoft.NET.Build.Tasks.csproj
|
||||
+++ b/src/Tasks/Microsoft.NET.Build.Tasks/Microsoft.NET.Build.Tasks.csproj
|
||||
@@ -13,7 +13,6 @@
|
||||
<Description>The MSBuild targets and properties for building .NET Core projects.</Description>
|
||||
<OutputType>Library</OutputType>
|
||||
<TargetFrameworks>$(SdkTargetFramework);net472</TargetFrameworks>
|
||||
- <TargetFrameworks Condition=" '$(DotNetBuildFromSource)' == 'true' ">$(SdkTargetFramework)</TargetFrameworks>
|
||||
<Nullable>annotations</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
--
|
||||
2.31.1
|
||||
|
|
@ -32,7 +32,7 @@
|
|||
<SdkOutputDirectory>$(RedistLayoutPath)sdk\$(Version)\</SdkOutputDirectory>
|
||||
|
||||
<InternalBuild Condition="$(SYSTEM_TEAMPROJECT) == 'internal'">true</InternalBuild>
|
||||
<InternalBaseURL Condition="$(SYSTEM_TEAMPROJECT) == 'internal'">https://dotnetclimsrc.blob.core.windows.net/dotnet/</InternalBaseURL>
|
||||
<InternalBaseURL Condition="$(SYSTEM_TEAMPROJECT) == 'internal'">https://dotnetbuilds.blob.core.windows.net/internal/</InternalBaseURL>
|
||||
|
||||
<PublicBaseURL Condition="'$(PublicBaseURL)' == ''">https://dotnetcli.blob.core.windows.net/dotnet/</PublicBaseURL>
|
||||
|
||||
|
|
|
@ -415,7 +415,7 @@
|
|||
|
||||
<Target Name="GenerateTemplatesNupkgs"
|
||||
DependsOnTargets="GenerateLayout;MsiTargetsSetupInputOutputs;GenerateTemplatesMsis;SignTemplatesMsis;SetupTemplatesNupkgs"
|
||||
Condition="$(ProductMonikerRid.StartsWith('win')) And !$(Architecture.StartsWith('arm'))"
|
||||
Condition="$(ProductMonikerRid.StartsWith('win')) And '$(Architecture)' != 'arm' "
|
||||
Inputs="@(TemplatesNupkgComponent->'%(MSIInstallerFile)');
|
||||
$(TemplatesInstallerNuspecFile);
|
||||
$(GenerateNupkgPowershellScript)"
|
||||
|
@ -480,7 +480,7 @@
|
|||
|
||||
<Target Name="GenerateSdkMSBuildExtensionsNupkg"
|
||||
DependsOnTargets="GenerateLayout;GenerateMSBuildExtensions;MsiTargetsSetupInputOutputs"
|
||||
Condition=" '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' "
|
||||
Condition=" '$(OS)' == 'Windows_NT' And ('$(Architecture)' == 'x64' Or '$(Architecture)' == 'arm64') "
|
||||
Inputs="$(MSBuildExtensionsLayoutDirectory)/**/*;
|
||||
$(SdkMSBuildExtensionsNuspecFile);
|
||||
$(GenerateNupkgPowershellScript)"
|
||||
|
@ -491,7 +491,8 @@
|
|||
'$(MSBuildExtensionsLayoutDirectory.TrimEnd('\'))' ^
|
||||
'$(FullNugetVersion)' ^
|
||||
'$(SdkMSBuildExtensionsNuspecFile)' ^
|
||||
'$(SdkMSBuildExtensionsNupkgFile)'" />
|
||||
'$(SdkMSBuildExtensionsNupkgFile)' ^
|
||||
'$(Architecture)'" />
|
||||
|
||||
<GenerateMSBuildExtensionsSWR MSBuildExtensionsLayoutDirectory="$(MSBuildExtensionsLayoutDirectory)"
|
||||
OutputFile="$(SdkMSBuildExtensionsSwrFile)"/>
|
||||
|
@ -500,7 +501,7 @@
|
|||
|
||||
<Target Name="GenerateVSTemplateLocatorNupkg"
|
||||
DependsOnTargets="GenerateLayout;MsiTargetsSetupInputOutputs"
|
||||
Condition=" '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' "
|
||||
Condition=" '$(OS)' == 'Windows_NT' And ('$(Architecture)' == 'x64' Or '$(Architecture)' == 'arm64') "
|
||||
Inputs="$(MSBuildExtensionsLayoutDirectory)/**/*;
|
||||
$(VSTemplateLocatorNuspecFile);
|
||||
$(GenerateNupkgPowershellScript)"
|
||||
|
@ -511,7 +512,8 @@
|
|||
'$(VSTemplateLocatorLayoutPath.TrimEnd('\'))' ^
|
||||
'$(FullNugetVersion)' ^
|
||||
'$(VSTemplateLocatorNuspecFile)' ^
|
||||
'$(VSTemplateLocatorNupkgFile)'" />
|
||||
'$(VSTemplateLocatorNupkgFile)' ^
|
||||
'$(Architecture)'" />
|
||||
|
||||
</Target>
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>VS.Redist.Common.Net.Core.SDK.MSBuildExtensions</id>
|
||||
<id>VS.Redist.Common.Net.Core.SDK.MSBuildExtensions.$ARCH$</id>
|
||||
<version>1.0.0</version>
|
||||
<title>VS.Redist.Common.Net.Core.SDK.MSBuildExtensions</title>
|
||||
<title>VS.Redist.Common.Net.Core.SDK.MSBuildExtensions.$ARCH$</title>
|
||||
<authors>Microsoft</authors>
|
||||
<owners>Microsoft</owners>
|
||||
<licenseUrl>https://www.microsoft.com/net/dotnet_library_license.htm</licenseUrl>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>VS.Redist.Common.Net.Core.SDK.VSTemplateLocator</id>
|
||||
<id>VS.Redist.Common.Net.Core.SDK.VSTemplateLocator.$ARCH$</id>
|
||||
<version>1.0.0</version>
|
||||
<title>VS.Redist.Common.Net.Core.SDK.VSTemplateLocator</title>
|
||||
<title>VS.Redist.Common.Net.Core.SDK.VSTemplateLocator.$ARCH$</title>
|
||||
<authors>Microsoft</authors>
|
||||
<owners>Microsoft</owners>
|
||||
<licenseUrl>https://www.microsoft.com/net/dotnet_library_license.htm</licenseUrl>
|
||||
|
|
|
@ -216,6 +216,7 @@
|
|||
being installed.
|
||||
-->
|
||||
<ExePackage SourceFile="$(var.FinalizerExeSourcePath)"
|
||||
Cache="always"
|
||||
DetectCondition="WixBundleAction >= 3"
|
||||
Id="Finalizer"
|
||||
InstallCondition="WixBundleAction >= 4"
|
||||
|
|
Loading…
Add table
Reference in a new issue