зеркало из https://github.com/dotnet/msbuild.git
Update dependencies from dotnet/arcade dotnet/roslyn nuget/nuget.client (#9041)
* Disable IDE0005 To be correctly enabled, this requires documentation files, which are disabled in our repo at the moment. * Update dependencies from https://github.com/dotnet/arcade build 20230714.2 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions From Version 8.0.0-beta.23213.1 -> To Version 8.0.0-beta.23364.2 Dependency coherency updates Microsoft.SourceLink.GitHub,Microsoft.DotNet.XliffTasks From Version 1.1.0-beta-21480-02 -> To Version 8.0.0-beta.23361.2 (parent: Microsoft.DotNet.Arcade.Sdk * Remove explicit xunit.core and xunit.assert package reference because they are referenced implicitly * Remove the attributes in Xunit.NetCore.Extensions which are included in Microsoft.DotNet.XUnitExtensions * Mark obsolete legacy serialization support APIs using the SYSLIB0051 diagnostic code and suppress SYSLIB0050 warning * Replace Assert.Same with Assert.Equal * Work around deprecated Serialization/Deserialization of BinaryFormatter * Use default source-build job template * Update dependencies from https://github.com/dotnet/roslyn build 20230718.11 Microsoft.Net.Compilers.Toolset From Version 4.7.0-3.23361.9 -> To Version 4.8.0-1.23368.11 * Update dependencies from https://github.com/nuget/nuget.client build 6.8.0.35 NuGet.Build.Tasks From Version 6.7.0-rc.111 -> To Version 6.8.0-preview.1.35 * Update sourcebuild baselines for Arcade + SDK 8 * Minimize STJ reference * Suppress CP1002 I think this is being fired because the old package targets net7 and the new one targets net8, causing it to fail to load the old reference. We don't have the references available easily to use PackageValidationReferencePath, so suppressing it. * Revert PackageVersion of xunit.console back to eng/Package.props and comment on PackageVersion of xunit.core in individual project * Further simplify xunit ref in extensions library --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Rainer Sigwald <raines@microsoft.com> Co-authored-by: Jenny Bai <v-jennybai@microsoft.com> Co-authored-by: Gang Wang <v-gaw@microsoft.com> Co-authored-by: Michael Simons <msimons@microsoft.com>
This commit is contained in:
Родитель
ee4e077220
Коммит
5410bf3234
|
@ -210,7 +210,7 @@ dotnet_analyzer_diagnostic.category-Style.severity = warning
|
|||
dotnet_diagnostic.IDE0004.severity = suggestion
|
||||
|
||||
# IDE0005: Remove unnecessary usings/imports
|
||||
dotnet_diagnostic.IDE0005.severity = warning
|
||||
dotnet_diagnostic.IDE0005.severity = none
|
||||
|
||||
# Use explicit type instead of 'var'
|
||||
dotnet_diagnostic.IDE0008.severity = suggestion
|
||||
|
|
|
@ -234,8 +234,4 @@ jobs:
|
|||
continueOnError: true
|
||||
condition: always()
|
||||
|
||||
- template: /eng/common/templates/job/source-build.yml
|
||||
parameters:
|
||||
platform:
|
||||
name: 'Managed'
|
||||
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7'
|
||||
- template: /eng/common/templates/jobs/source-build.yml
|
||||
|
|
|
@ -43,6 +43,14 @@
|
|||
<PropertyGroup>
|
||||
<GenerateNeutralResourcesLanguageAttribute>false</GenerateNeutralResourcesLanguageAttribute>
|
||||
|
||||
<!--
|
||||
Serialization/Deserialization of BinaryFormatter throws out System.NotSupportedException with latest .NET.
|
||||
To work around temporarily add this property. The issues below are tracking this problem.
|
||||
https://github.com/dotnet/msbuild/issues/9051
|
||||
https://github.com/dotnet/msbuild/issues/8823
|
||||
-->
|
||||
<EnableUnsafeBinaryFormatterSerialization>true</EnableUnsafeBinaryFormatterSerialization>
|
||||
|
||||
<!--
|
||||
NU1507: ManagePackageVersionsCentrally implies source mapping, which we should consider turning on but it's nontrivial
|
||||
NU1603: Microsoft.xunit.netcore.extensions package has dependencies to versions which aren't published, so ignore those warnings
|
||||
|
|
|
@ -30,8 +30,6 @@
|
|||
<PackageVersion Include="System.Text.Encoding.CodePages" Version="$(SystemTextEncodingCodePagesVersion)" />
|
||||
<PackageVersion Include="System.Text.Json" Version="$(SystemTextJsonVersion)" />
|
||||
<PackageVersion Include="System.Threading.Tasks.Dataflow" Version="$(SystemThreadingTasksDataflowVersion)" />
|
||||
<PackageVersion Include="xunit.assert" Version="$(XUnitVersion)" />
|
||||
<PackageVersion Include="xunit.console" Version="$(XUnitVersion)" />
|
||||
<PackageVersion Include="xunit.core" Version="$(XUnitVersion)" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
|
@ -5,39 +5,14 @@
|
|||
<IgnorePatterns>
|
||||
<UsagePattern IdentityGlob="Microsoft.SourceBuild.Intermediate.*/*" />
|
||||
|
||||
<!-- These dependencies are a result of building for netframework TFMs. These are filtered out
|
||||
in full source-build, and would be filtered out if msbuild was using an 8.0 arcade + 8.0 SDK -->
|
||||
<UsagePattern IdentityGlob="Microsoft.NETFramework.ReferenceAssemblies/*1.0.3*" />
|
||||
<UsagePattern IdentityGlob="Microsoft.NETFramework.ReferenceAssemblies.net472/*1.0.3*" />
|
||||
|
||||
<!-- Baseline 7.0 dependencies until msbuild targets net8 and uses a net8 arcade, SBRP, etc.
|
||||
These cannot be added to 7.0 SBRP, because they would are produced in the 7.0 build. -->
|
||||
<UsagePattern IdentityGlob="Microsoft.Bcl.AsyncInterfaces/*7.0.0*" />
|
||||
<UsagePattern IdentityGlob="Microsoft.Win32.SystemEvents/*7.0.0*" />
|
||||
<UsagePattern IdentityGlob="System.CodeDom/*7.0.0*" />
|
||||
<UsagePattern IdentityGlob="System.Collections.Immutable/*7.0.0*" />
|
||||
<UsagePattern IdentityGlob="System.Configuration.ConfigurationManager/*7.0.0*" />
|
||||
<UsagePattern IdentityGlob="System.Diagnostics.EventLog/*7.0.0*" />
|
||||
<UsagePattern IdentityGlob="System.Drawing.Common/*7.0.0*" />
|
||||
<UsagePattern IdentityGlob="System.Formats.Asn1/*7.0.0*" />
|
||||
<UsagePattern IdentityGlob="System.Reflection.Metadata/*7.0.0*" />
|
||||
<UsagePattern IdentityGlob="System.Reflection.MetadataLoadContext/*7.0.0*" />
|
||||
<UsagePattern IdentityGlob="System.Resources.Extensions/*7.0.0*" />
|
||||
<UsagePattern IdentityGlob="System.Security.Cryptography.Pkcs/*7.0.2*" />
|
||||
<UsagePattern IdentityGlob="System.Security.Cryptography.ProtectedData/*7.0.0*" />
|
||||
<UsagePattern IdentityGlob="System.Security.Cryptography.Xml/*7.0.1*" />
|
||||
<UsagePattern IdentityGlob="System.Security.Permissions/*7.0.0*" />
|
||||
<UsagePattern IdentityGlob="System.Text.Encoding.CodePages/*7.0.0*" />
|
||||
<UsagePattern IdentityGlob="System.Text.Encodings.Web/*7.0.0*" />
|
||||
<UsagePattern IdentityGlob="System.Text.Json/*7.0.3*" />
|
||||
<UsagePattern IdentityGlob="System.Threading.Tasks.Dataflow/*7.0.0*" />
|
||||
<UsagePattern IdentityGlob="System.Windows.Extensions/*7.0.0*" />
|
||||
</IgnorePatterns>
|
||||
<Usages>
|
||||
<Usage Id="Microsoft.Build.Tasks.Git" Version="8.0.0-beta.23211.2" />
|
||||
<Usage Id="Microsoft.DotNet.XliffTasks" Version="1.0.0-beta.23211.1" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
<Usage Id="Microsoft.SourceLink.AzureRepos.Git" Version="8.0.0-beta.23211.2" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
<Usage Id="Microsoft.SourceLink.Common" Version="8.0.0-beta.23211.2" />
|
||||
<Usage Id="Microsoft.SourceLink.GitHub" Version="8.0.0-beta.23211.2" IsDirectDependency="true" IsAutoReferenced="true" />
|
||||
</Usages>
|
||||
</UsageData>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Dependencies>
|
||||
<ProductDependencies>
|
||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="7.0.0-alpha.1.23219.1">
|
||||
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="8.0.0-alpha.1.23368.2">
|
||||
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
|
||||
<Sha>525b6c35cc5c5c9b80b47044be2e4e77858d505a</Sha>
|
||||
<Sha>529fbc2aad419d0c1551d6685cc68be33e62a996</Sha>
|
||||
<SourceBuild RepoName="source-build-reference-packages" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<!-- Necessary for source-build due to being a transitive dependency of System.Reflection.MetadataLoadContext.
|
||||
|
@ -37,35 +37,34 @@
|
|||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>d099f075e45d2aa6007a22b71b45a08758559f80</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Text.Json" Version="7.0.3">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>5b20af47d99620150c53eaf5db8636fdf730b126</Sha>
|
||||
</Dependency>
|
||||
</ProductDependencies>
|
||||
<ToolsetDependencies>
|
||||
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.23213.1">
|
||||
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.23364.2">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>fb14cae30eacbe844468ac297b3d4c61e0bb9dc0</Sha>
|
||||
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
|
||||
<SourceBuild RepoName="arcade" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.SourceLink.GitHub" Version="8.0.0-beta.23211.2" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">
|
||||
<Uri>https://github.com/dotnet/sourcelink</Uri>
|
||||
<Sha>4cf2eb17c295905edeca76a9afe6dda42988359e</Sha>
|
||||
<SourceBuild RepoName="sourcelink" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="1.0.0-beta.23211.1" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">
|
||||
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="1.0.0-beta.23360.1" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">
|
||||
<Uri>https://github.com/dotnet/xliff-tasks</Uri>
|
||||
<Sha>ce5066cd85c138c257a981f9c95257e9c577a5ee</Sha>
|
||||
<Sha>a171b61473272e5a6d272117963864ba958a012a</Sha>
|
||||
<SourceBuild RepoName="xliff-tasks" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<Dependency Name="NuGet.Build.Tasks" Version="6.7.0-rc.111">
|
||||
<Dependency Name="NuGet.Build.Tasks" Version="6.8.0-preview.1.41">
|
||||
<Uri>https://github.com/nuget/nuget.client</Uri>
|
||||
<Sha>13f2b6af6e9864711e815cfbffd7aa5015c52cec</Sha>
|
||||
<Sha>972557a7258d77dbaed3b7a649d2f13a4083f94c</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="4.7.0-3.23361.9">
|
||||
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="4.8.0-1.23372.1">
|
||||
<Uri>https://github.com/dotnet/roslyn</Uri>
|
||||
<Sha>91c9c05370d84a902010c9e1f80aebcc3a467792</Sha>
|
||||
<Sha>2a594fa2157a734a988f7b5dbac99484781599bd</Sha>
|
||||
<SourceBuild RepoName="roslyn" ManagedOnly="true" />
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="6.0.0-beta.23313.5">
|
||||
<Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="8.0.0-beta.23364.2">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>91616785a1a6578c83f7e93d98c34a1eb83d6223</Sha>
|
||||
<Sha>60ea5b2eca5af06fc63b250f8669d2c70179b18c</Sha>
|
||||
</Dependency>
|
||||
</ToolsetDependencies>
|
||||
</Dependencies>
|
||||
|
|
|
@ -48,15 +48,14 @@
|
|||
Otherwise, this version of dotnet will not be installed and the build will error out. -->
|
||||
<DotNetCliVersion>$([System.Text.RegularExpressions.Regex]::Match($([System.IO.File]::ReadAllText('$(MSBuildThisFileDirectory)..\global.json')), '"dotnet": "([^"]*)"').Groups.get_Item(1))</DotNetCliVersion>
|
||||
<MicrosoftCodeAnalysisCollectionsVersion>4.2.0-1.22102.8</MicrosoftCodeAnalysisCollectionsVersion>
|
||||
<MicrosoftDotNetXUnitExtensionsVersion>6.0.0-beta.23313.5</MicrosoftDotNetXUnitExtensionsVersion>
|
||||
<MicrosoftDotNetXUnitExtensionsVersion>8.0.0-beta.23364.2</MicrosoftDotNetXUnitExtensionsVersion>
|
||||
<MicrosoftExtensionsDependencyModelVersion>7.0.0</MicrosoftExtensionsDependencyModelVersion>
|
||||
<MicrosoftIORedistVersion>6.0.0</MicrosoftIORedistVersion>
|
||||
<MicrosoftNetCompilersToolsetVersion>4.7.0-3.23361.9</MicrosoftNetCompilersToolsetVersion>
|
||||
<NuGetBuildTasksVersion>6.7.0-rc.111</NuGetBuildTasksVersion>
|
||||
<MicrosoftNetCompilersToolsetVersion>4.8.0-1.23372.1</MicrosoftNetCompilersToolsetVersion>
|
||||
<NuGetBuildTasksVersion>6.8.0-preview.1.41</NuGetBuildTasksVersion>
|
||||
<SystemRuntimeCompilerServicesUnsafeVersion>6.0.0</SystemRuntimeCompilerServicesUnsafeVersion>
|
||||
<SystemTextJsonVersion>7.0.3</SystemTextJsonVersion>
|
||||
<SystemThreadingTasksDataflowVersion>7.0.0</SystemThreadingTasksDataflowVersion>
|
||||
<XunitVersion>2.4.2</XunitVersion>
|
||||
</PropertyGroup>
|
||||
<Target Name="OverrideArcadeFileVersion" AfterTargets="_InitializeAssemblyVersion">
|
||||
<!-- See https://github.com/dotnet/arcade/issues/3386
|
||||
|
|
|
@ -92,7 +92,7 @@ try {
|
|||
{
|
||||
$buildToolPath = $dotnetExePath
|
||||
$buildToolCommand = Join-Path $bootstrapRoot "net8.0\MSBuild\MSBuild.dll"
|
||||
$buildToolFramework = "netcoreapp3.1"
|
||||
$buildToolFramework = "net8.0"
|
||||
}
|
||||
|
||||
# Use separate artifacts folder for stage 2
|
||||
|
|
|
@ -64,7 +64,7 @@ if [ $host_type = "core" ]
|
|||
then
|
||||
_InitializeBuildTool="$_InitializeDotNetCli/dotnet"
|
||||
_InitializeBuildToolCommand="$bootstrapRoot/net8.0/MSBuild/MSBuild.dll"
|
||||
_InitializeBuildToolFramework="netcoreapp3.1"
|
||||
_InitializeBuildToolFramework="net8.0"
|
||||
elif [ $host_type = "mono" ]
|
||||
then
|
||||
export _InitializeBuildTool="mono"
|
||||
|
|
|
@ -27,6 +27,7 @@ __AlpineArch=armv7
|
|||
__FreeBSDArch=arm
|
||||
__FreeBSDMachineArch=armv7
|
||||
__IllumosArch=arm7
|
||||
__HaikuArch=arm
|
||||
__QEMUArch=arm
|
||||
__UbuntuArch=armhf
|
||||
__UbuntuRepo="http://ports.ubuntu.com/"
|
||||
|
@ -70,7 +71,7 @@ __AlpinePackages+=" krb5-dev"
|
|||
__AlpinePackages+=" openssl-dev"
|
||||
__AlpinePackages+=" zlib-dev"
|
||||
|
||||
__FreeBSDBase="12.3-RELEASE"
|
||||
__FreeBSDBase="12.4-RELEASE"
|
||||
__FreeBSDPkg="1.17.0"
|
||||
__FreeBSDABI="12"
|
||||
__FreeBSDPackages="libunwind"
|
||||
|
@ -85,8 +86,12 @@ __IllumosPackages+=" mit-krb5"
|
|||
__IllumosPackages+=" openssl"
|
||||
__IllumosPackages+=" zlib"
|
||||
|
||||
__HaikuPackages="gmp"
|
||||
__HaikuPackages="gcc_syslibs"
|
||||
__HaikuPackages+=" gcc_syslibs_devel"
|
||||
__HaikuPackages+=" gmp"
|
||||
__HaikuPackages+=" gmp_devel"
|
||||
__HaikuPackages+=" icu66"
|
||||
__HaikuPackages+=" icu66_devel"
|
||||
__HaikuPackages+=" krb5"
|
||||
__HaikuPackages+=" krb5_devel"
|
||||
__HaikuPackages+=" libiconv"
|
||||
|
@ -95,6 +100,10 @@ __HaikuPackages+=" llvm12_libunwind"
|
|||
__HaikuPackages+=" llvm12_libunwind_devel"
|
||||
__HaikuPackages+=" mpfr"
|
||||
__HaikuPackages+=" mpfr_devel"
|
||||
__HaikuPackages+=" openssl"
|
||||
__HaikuPackages+=" openssl_devel"
|
||||
__HaikuPackages+=" zlib"
|
||||
__HaikuPackages+=" zlib_devel"
|
||||
|
||||
# ML.NET dependencies
|
||||
__UbuntuPackages+=" libomp5"
|
||||
|
@ -210,6 +219,7 @@ while :; do
|
|||
__FreeBSDArch=amd64
|
||||
__FreeBSDMachineArch=amd64
|
||||
__illumosArch=x86_64
|
||||
__HaikuArch=x86_64
|
||||
__UbuntuRepo="http://archive.ubuntu.com/ubuntu/"
|
||||
;;
|
||||
x86)
|
||||
|
@ -330,7 +340,7 @@ while :; do
|
|||
;;
|
||||
freebsd13)
|
||||
__CodeName=freebsd
|
||||
__FreeBSDBase="13.0-RELEASE"
|
||||
__FreeBSDBase="13.2-RELEASE"
|
||||
__FreeBSDABI="13"
|
||||
__SkipUnmount=1
|
||||
;;
|
||||
|
@ -340,7 +350,6 @@ while :; do
|
|||
;;
|
||||
haiku)
|
||||
__CodeName=haiku
|
||||
__BuildArch=x64
|
||||
__SkipUnmount=1
|
||||
;;
|
||||
--skipunmount)
|
||||
|
@ -559,67 +568,54 @@ elif [[ "$__CodeName" == "illumos" ]]; then
|
|||
elif [[ "$__CodeName" == "haiku" ]]; then
|
||||
JOBS=${MAXJOBS:="$(getconf _NPROCESSORS_ONLN)"}
|
||||
|
||||
echo "Building Haiku sysroot for x86_64"
|
||||
echo "Building Haiku sysroot for $__HaikuArch"
|
||||
mkdir -p "$__RootfsDir/tmp"
|
||||
cd "$__RootfsDir/tmp"
|
||||
git clone -b hrev56235 https://review.haiku-os.org/haiku
|
||||
git clone -b btrev43195 https://review.haiku-os.org/buildtools
|
||||
cd "$__RootfsDir/tmp/buildtools" && git checkout 7487388f5110021d400b9f3b88e1a7f310dc066d
|
||||
pushd "$__RootfsDir/tmp"
|
||||
|
||||
# Fetch some unmerged patches
|
||||
cd "$__RootfsDir/tmp/haiku"
|
||||
## Add development build profile (slimmer than nightly)
|
||||
git fetch origin refs/changes/64/4164/1 && git -c commit.gpgsign=false cherry-pick FETCH_HEAD
|
||||
mkdir "$__RootfsDir/tmp/download"
|
||||
|
||||
# Build jam
|
||||
cd "$__RootfsDir/tmp/buildtools/jam"
|
||||
make
|
||||
echo "Downloading Haiku package tool"
|
||||
git clone https://github.com/haiku/haiku-toolchains-ubuntu --depth 1 $__RootfsDir/tmp/script
|
||||
wget -O "$__RootfsDir/tmp/download/hosttools.zip" $($__RootfsDir/tmp/script/fetch.sh --hosttools)
|
||||
unzip -o "$__RootfsDir/tmp/download/hosttools.zip" -d "$__RootfsDir/tmp/bin"
|
||||
|
||||
# Configure cross tools
|
||||
echo "Building cross-compiler"
|
||||
mkdir -p "$__RootfsDir/generated"
|
||||
cd "$__RootfsDir/generated"
|
||||
"$__RootfsDir/tmp/haiku/configure" -j"$JOBS" --sysroot "$__RootfsDir" --cross-tools-source "$__RootfsDir/tmp/buildtools" --build-cross-tools x86_64
|
||||
DepotBaseUrl="https://depot.haiku-os.org/__api/v2/pkg/get-pkg"
|
||||
HpkgBaseUrl="https://eu.hpkg.haiku-os.org/haiku/master/$__HaikuArch/current"
|
||||
|
||||
# Build Haiku packages
|
||||
echo "Building Haiku"
|
||||
echo 'HAIKU_BUILD_PROFILE = "development-raw" ;' > UserProfileConfig
|
||||
"$__RootfsDir/tmp/buildtools/jam/jam0" -j"$JOBS" -q '<build>package' '<repository>Haiku'
|
||||
|
||||
BaseUrl="https://depot.haiku-os.org/__api/v2/pkg/get-pkg"
|
||||
|
||||
# Download additional packages
|
||||
echo "Downloading additional required packages"
|
||||
# Download Haiku packages
|
||||
echo "Downloading Haiku packages"
|
||||
read -ra array <<<"$__HaikuPackages"
|
||||
for package in "${array[@]}"; do
|
||||
echo "Downloading $package..."
|
||||
# API documented here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L60
|
||||
# The schema here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L598
|
||||
hpkgDownloadUrl="$(wget -qO- --post-data='{"name":"'"$package"'","repositorySourceCode":"haikuports_x86_64","versionType":"LATEST","naturalLanguageCode":"en"}' \
|
||||
--header='Content-Type:application/json' "$BaseUrl" | jq -r '.result.versions[].hpkgDownloadURL')"
|
||||
wget -P "$__RootfsDir/generated/download" "$hpkgDownloadUrl"
|
||||
hpkgDownloadUrl="$(wget -qO- --post-data='{"name":"'"$package"'","repositorySourceCode":"haikuports_'$__HaikuArch'","versionType":"LATEST","naturalLanguageCode":"en"}' \
|
||||
--header='Content-Type:application/json' "$DepotBaseUrl" | jq -r '.result.versions[].hpkgDownloadURL')"
|
||||
wget -P "$__RootfsDir/tmp/download" "$hpkgDownloadUrl"
|
||||
done
|
||||
for package in haiku haiku_devel; do
|
||||
echo "Downloading $package..."
|
||||
hpkgVersion="$(wget -qO- $HpkgBaseUrl | sed -n 's/^.*version: "\([^"]*\)".*$/\1/p')"
|
||||
wget -P "$__RootfsDir/tmp/download" "$HpkgBaseUrl/packages/$package-$hpkgVersion-1-$__HaikuArch.hpkg"
|
||||
done
|
||||
|
||||
# Setup the sysroot
|
||||
echo "Setting up sysroot and extracting needed packages"
|
||||
# Set up the sysroot
|
||||
echo "Setting up sysroot and extracting required packages"
|
||||
mkdir -p "$__RootfsDir/boot/system"
|
||||
for file in "$__RootfsDir/generated/objects/haiku/x86_64/packaging/packages/"*.hpkg; do
|
||||
"$__RootfsDir/generated/objects/linux/x86_64/release/tools/package/package" extract -C "$__RootfsDir/boot/system" "$file"
|
||||
done
|
||||
for file in "$__RootfsDir/generated/download/"*.hpkg; do
|
||||
"$__RootfsDir/generated/objects/linux/x86_64/release/tools/package/package" extract -C "$__RootfsDir/boot/system" "$file"
|
||||
for file in "$__RootfsDir/tmp/download/"*.hpkg; do
|
||||
echo "Extracting $file..."
|
||||
LD_LIBRARY_PATH="$__RootfsDir/tmp/bin" "$__RootfsDir/tmp/bin/package" extract -C "$__RootfsDir/boot/system" "$file"
|
||||
done
|
||||
|
||||
# Download buildtools
|
||||
echo "Downloading Haiku buildtools"
|
||||
wget -O "$__RootfsDir/tmp/download/buildtools.zip" $($__RootfsDir/tmp/script/fetch.sh --buildtools --arch=$__HaikuArch)
|
||||
unzip -o "$__RootfsDir/tmp/download/buildtools.zip" -d "$__RootfsDir"
|
||||
|
||||
# Cleaning up temporary files
|
||||
echo "Cleaning up temporary files"
|
||||
popd
|
||||
rm -rf "$__RootfsDir/tmp"
|
||||
for name in "$__RootfsDir/generated/"*; do
|
||||
if [[ "$name" =~ "cross-tools-" ]]; then
|
||||
: # Keep the cross-compiler
|
||||
else
|
||||
rm -rf "$name"
|
||||
fi
|
||||
done
|
||||
elif [[ -n "$__CodeName" ]]; then
|
||||
|
||||
if [[ "$__SkipSigCheck" == "0" ]]; then
|
||||
|
|
|
@ -6,6 +6,7 @@ unset(FREEBSD)
|
|||
unset(ILLUMOS)
|
||||
unset(ANDROID)
|
||||
unset(TIZEN)
|
||||
unset(HAIKU)
|
||||
|
||||
set(TARGET_ARCH_NAME $ENV{TARGET_BUILD_ARCH})
|
||||
if(EXISTS ${CROSS_ROOTFS}/bin/freebsd-version)
|
||||
|
@ -16,6 +17,7 @@ elseif(EXISTS ${CROSS_ROOTFS}/usr/platform/i86pc)
|
|||
set(ILLUMOS 1)
|
||||
elseif(EXISTS ${CROSS_ROOTFS}/boot/system/develop/headers/config/HaikuConfig.h)
|
||||
set(CMAKE_SYSTEM_NAME Haiku)
|
||||
set(HAIKU 1)
|
||||
else()
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(LINUX 1)
|
||||
|
@ -67,13 +69,25 @@ elseif(TARGET_ARCH_NAME STREQUAL "armv6")
|
|||
endif()
|
||||
elseif(TARGET_ARCH_NAME STREQUAL "ppc64le")
|
||||
set(CMAKE_SYSTEM_PROCESSOR ppc64le)
|
||||
set(TOOLCHAIN "powerpc64le-linux-gnu")
|
||||
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/powerpc64le-alpine-linux-musl)
|
||||
set(TOOLCHAIN "powerpc64le-alpine-linux-musl")
|
||||
else()
|
||||
set(TOOLCHAIN "powerpc64le-linux-gnu")
|
||||
endif()
|
||||
elseif(TARGET_ARCH_NAME STREQUAL "riscv64")
|
||||
set(CMAKE_SYSTEM_PROCESSOR riscv64)
|
||||
set(TOOLCHAIN "riscv64-linux-gnu")
|
||||
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/riscv64-alpine-linux-musl)
|
||||
set(TOOLCHAIN "riscv64-alpine-linux-musl")
|
||||
else()
|
||||
set(TOOLCHAIN "riscv64-linux-gnu")
|
||||
endif()
|
||||
elseif(TARGET_ARCH_NAME STREQUAL "s390x")
|
||||
set(CMAKE_SYSTEM_PROCESSOR s390x)
|
||||
set(TOOLCHAIN "s390x-linux-gnu")
|
||||
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/s390x-alpine-linux-musl)
|
||||
set(TOOLCHAIN "s390x-alpine-linux-musl")
|
||||
else()
|
||||
set(TOOLCHAIN "s390x-linux-gnu")
|
||||
endif()
|
||||
elseif(TARGET_ARCH_NAME STREQUAL "x64")
|
||||
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
||||
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/x86_64-alpine-linux-musl)
|
||||
|
@ -88,11 +102,15 @@ elseif(TARGET_ARCH_NAME STREQUAL "x64")
|
|||
elseif(ILLUMOS)
|
||||
set(TOOLCHAIN "x86_64-illumos")
|
||||
elseif(HAIKU)
|
||||
set(TOOLCHAIN "x64_64-unknown-haiku")
|
||||
set(TOOLCHAIN "x86_64-unknown-haiku")
|
||||
endif()
|
||||
elseif(TARGET_ARCH_NAME STREQUAL "x86")
|
||||
set(CMAKE_SYSTEM_PROCESSOR i686)
|
||||
set(TOOLCHAIN "i686-linux-gnu")
|
||||
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/i586-alpine-linux-musl)
|
||||
set(TOOLCHAIN "i586-alpine-linux-musl")
|
||||
else()
|
||||
set(TOOLCHAIN "i686-linux-gnu")
|
||||
endif()
|
||||
if(TIZEN)
|
||||
set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu/9.2.0")
|
||||
endif()
|
||||
|
@ -198,10 +216,8 @@ elseif(HAIKU)
|
|||
return()
|
||||
endif()
|
||||
|
||||
set(SEARCH_PATH "${CROSS_ROOTFS}/generated/cross-tools-x86_64/bin")
|
||||
|
||||
find_program(EXEC_LOCATION_${exec}
|
||||
PATHS ${SEARCH_PATH}
|
||||
PATHS "${CROSS_ROOTFS}/cross-tools-x86_64/bin"
|
||||
NAMES
|
||||
"${TOOLSET_PREFIX}${exec}${CLR_CMAKE_COMPILER_FILE_NAME_VERSION}"
|
||||
"${TOOLSET_PREFIX}${exec}")
|
||||
|
@ -266,8 +282,11 @@ elseif(TARGET_ARCH_NAME MATCHES "^(arm64|x64)$")
|
|||
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
|
||||
endif()
|
||||
elseif(TARGET_ARCH_NAME STREQUAL "x86")
|
||||
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/i586-alpine-linux-musl)
|
||||
add_toolchain_linker_flag("--target=${TOOLCHAIN}")
|
||||
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}")
|
||||
endif()
|
||||
add_toolchain_linker_flag(-m32)
|
||||
|
||||
if(TIZEN)
|
||||
add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
|
||||
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib")
|
||||
|
@ -277,6 +296,9 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
|
|||
elseif(ILLUMOS)
|
||||
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib/amd64")
|
||||
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/amd64/lib")
|
||||
elseif(HAIKU)
|
||||
add_toolchain_linker_flag("-lnetwork")
|
||||
add_toolchain_linker_flag("-lroot")
|
||||
endif()
|
||||
|
||||
# Specify compile options
|
||||
|
@ -307,6 +329,9 @@ if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$")
|
|||
add_compile_options(-mfloat-abi=softfp)
|
||||
endif()
|
||||
elseif(TARGET_ARCH_NAME STREQUAL "x86")
|
||||
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/i586-alpine-linux-musl)
|
||||
add_compile_options(--target=${TOOLCHAIN})
|
||||
endif()
|
||||
add_compile_options(-m32)
|
||||
add_compile_options(-Wno-error=unused-command-line-argument)
|
||||
endif()
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
deb http://archive.ubuntu.com/ubuntu/ bionic main restricted universe
|
||||
deb-src http://archive.ubuntu.com/ubuntu/ bionic main restricted universe
|
||||
|
||||
deb http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted universe
|
||||
deb-src http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted universe
|
||||
|
||||
deb http://archive.ubuntu.com/ubuntu/ bionic-backports main restricted
|
||||
deb-src http://archive.ubuntu.com/ubuntu/ bionic-backports main restricted
|
||||
|
||||
deb http://archive.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse
|
||||
deb-src http://archive.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse
|
|
@ -54,6 +54,10 @@ cpuname=$(uname -m)
|
|||
case $cpuname in
|
||||
arm64|aarch64)
|
||||
buildarch=arm64
|
||||
if [ "$(getconf LONG_BIT)" -lt 64 ]; then
|
||||
# This is 32-bit OS running on 64-bit CPU (for example Raspberry Pi OS)
|
||||
buildarch=arm
|
||||
fi
|
||||
;;
|
||||
loongarch64)
|
||||
buildarch=loongarch64
|
||||
|
|
Двоичный файл не отображается.
|
@ -64,7 +64,7 @@ if [ -z "$CLR_CC" ]; then
|
|||
if [ -z "$majorVersion" ]; then
|
||||
# note: gcc (all versions) and clang versions higher than 6 do not have minor version in file name, if it is zero.
|
||||
if [ "$compiler" = "clang" ]; then versions="16 15 14 13 12 11 10 9 8 7 6.0 5.0 4.0 3.9 3.8 3.7 3.6 3.5"
|
||||
elif [ "$compiler" = "gcc" ]; then versions="12 11 10 9 8 7 6 5 4.9"; fi
|
||||
elif [ "$compiler" = "gcc" ]; then versions="13 12 11 10 9 8 7 6 5 4.9"; fi
|
||||
|
||||
for version in $versions; do
|
||||
_major="${version%%.*}"
|
||||
|
|
|
@ -64,7 +64,7 @@ try {
|
|||
$GlobalJson.tools | Add-Member -Name "vs" -Value (ConvertFrom-Json "{ `"version`": `"16.5`" }") -MemberType NoteProperty
|
||||
}
|
||||
if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) {
|
||||
$GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.4.1" -MemberType NoteProperty
|
||||
$GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.6.0-2" -MemberType NoteProperty
|
||||
}
|
||||
if ($GlobalJson.tools."xcopy-msbuild".Trim() -ine "none") {
|
||||
$xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true
|
||||
|
|
|
@ -17,7 +17,9 @@ Param(
|
|||
# Optional: Additional params to add to any tool using PoliCheck.
|
||||
[string[]] $PoliCheckAdditionalRunConfigParams,
|
||||
# Optional: Additional params to add to any tool using CodeQL/Semmle.
|
||||
[string[]] $CodeQLAdditionalRunConfigParams
|
||||
[string[]] $CodeQLAdditionalRunConfigParams,
|
||||
# Optional: Additional params to add to any tool using Binskim.
|
||||
[string[]] $BinskimAdditionalRunConfigParams
|
||||
)
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
@ -69,22 +71,32 @@ try {
|
|||
$gdnConfigFile = Join-Path $gdnConfigPath "$toolConfigName-configure.gdnconfig"
|
||||
|
||||
# For some tools, add default and automatic args.
|
||||
if ($tool.Name -eq 'credscan') {
|
||||
if ($targetDirectory) {
|
||||
$tool.Args += "`"TargetDirectory < $TargetDirectory`""
|
||||
switch -Exact ($tool.Name) {
|
||||
'credscan' {
|
||||
if ($targetDirectory) {
|
||||
$tool.Args += "`"TargetDirectory < $TargetDirectory`""
|
||||
}
|
||||
$tool.Args += "`"OutputType < pre`""
|
||||
$tool.Args += $CrScanAdditionalRunConfigParams
|
||||
}
|
||||
$tool.Args += "`"OutputType < pre`""
|
||||
$tool.Args += $CrScanAdditionalRunConfigParams
|
||||
} elseif ($tool.Name -eq 'policheck') {
|
||||
if ($targetDirectory) {
|
||||
$tool.Args += "`"Target < $TargetDirectory`""
|
||||
'policheck' {
|
||||
if ($targetDirectory) {
|
||||
$tool.Args += "`"Target < $TargetDirectory`""
|
||||
}
|
||||
$tool.Args += $PoliCheckAdditionalRunConfigParams
|
||||
}
|
||||
$tool.Args += $PoliCheckAdditionalRunConfigParams
|
||||
} elseif ($tool.Name -eq 'semmle' -or $tool.Name -eq 'codeql') {
|
||||
if ($targetDirectory) {
|
||||
$tool.Args += "`"SourceCodeDirectory < $TargetDirectory`""
|
||||
{$_ -in 'semmle', 'codeql'} {
|
||||
if ($targetDirectory) {
|
||||
$tool.Args += "`"SourceCodeDirectory < $TargetDirectory`""
|
||||
}
|
||||
$tool.Args += $CodeQLAdditionalRunConfigParams
|
||||
}
|
||||
'binskim' {
|
||||
if ($targetDirectory) {
|
||||
$tool.Args += "`"Target < $TargetDirectory\**`""
|
||||
}
|
||||
$tool.Args += $BinskimAdditionalRunConfigParams
|
||||
}
|
||||
$tool.Args += $CodeQLAdditionalRunConfigParams
|
||||
}
|
||||
|
||||
# Create variable pointing to the args array directly so we can use splat syntax later.
|
||||
|
|
|
@ -35,6 +35,7 @@ Param(
|
|||
[string[]] $CrScanAdditionalRunConfigParams, # Optional: Additional Params to custom build a CredScan run config in the format @("xyz:abc","sdf:1")
|
||||
[string[]] $PoliCheckAdditionalRunConfigParams, # Optional: Additional Params to custom build a Policheck run config in the format @("xyz:abc","sdf:1")
|
||||
[string[]] $CodeQLAdditionalRunConfigParams, # Optional: Additional Params to custom build a Semmle/CodeQL run config in the format @("xyz < abc","sdf < 1")
|
||||
[string[]] $BinskimAdditionalRunConfigParams, # Optional: Additional Params to custom build a Binskim run config in the format @("xyz < abc","sdf < 1")
|
||||
[bool] $BreakOnFailure=$False # Optional: Fail the build if there were errors during the run
|
||||
)
|
||||
|
||||
|
@ -107,7 +108,8 @@ try {
|
|||
-GuardianLoggerLevel $GuardianLoggerLevel `
|
||||
-CrScanAdditionalRunConfigParams $CrScanAdditionalRunConfigParams `
|
||||
-PoliCheckAdditionalRunConfigParams $PoliCheckAdditionalRunConfigParams `
|
||||
-CodeQLAdditionalRunConfigParams $CodeQLAdditionalRunConfigParams
|
||||
-CodeQLAdditionalRunConfigParams $CodeQLAdditionalRunConfigParams `
|
||||
-BinskimAdditionalRunConfigParams $BinskimAdditionalRunConfigParams
|
||||
if ($BreakOnFailure) {
|
||||
Exit-IfNZEC "Sdl"
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@ parameters:
|
|||
enablePublishTestResults: false
|
||||
enablePublishUsingPipelines: false
|
||||
enableBuildRetry: false
|
||||
disableComponentGovernance: false
|
||||
disableComponentGovernance: ''
|
||||
componentGovernanceIgnoreDirectories: ''
|
||||
mergeTestResults: false
|
||||
testRunTitle: ''
|
||||
|
@ -159,11 +159,16 @@ jobs:
|
|||
uploadRichNavArtifacts: ${{ coalesce(parameters.richCodeNavigationUploadArtifacts, false) }}
|
||||
continueOnError: true
|
||||
|
||||
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), ne(parameters.disableComponentGovernance, 'true')) }}:
|
||||
- task: ComponentGovernanceComponentDetection@0
|
||||
continueOnError: true
|
||||
inputs:
|
||||
ignoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }}
|
||||
- template: /eng/common/templates/steps/component-governance.yml
|
||||
parameters:
|
||||
${{ if eq(parameters.disableComponentGovernance, '') }}:
|
||||
${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), eq(parameters.runAsPublic, 'false'), or(startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'), startsWith(variables['Build.SourceBranch'], 'refs/heads/dotnet/'), startsWith(variables['Build.SourceBranch'], 'refs/heads/microsoft/'), eq(variables['Build.SourceBranch'], 'refs/heads/main'))) }}:
|
||||
disableComponentGovernance: false
|
||||
${{ else }}:
|
||||
disableComponentGovernance: true
|
||||
${{ else }}:
|
||||
disableComponentGovernance: ${{ parameters.disableComponentGovernance }}
|
||||
componentGovernanceIgnoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }}
|
||||
|
||||
- ${{ if eq(parameters.enableMicrobuild, 'true') }}:
|
||||
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
parameters:
|
||||
disableComponentGovernance: false
|
||||
componentGovernanceIgnoreDirectories: ''
|
||||
|
||||
steps:
|
||||
- ${{ if eq(parameters.disableComponentGovernance, 'true') }}:
|
||||
|
@ -7,4 +8,6 @@ steps:
|
|||
displayName: Set skipComponentGovernanceDetection variable
|
||||
- ${{ if ne(parameters.disableComponentGovernance, 'true') }}:
|
||||
- task: ComponentGovernanceComponentDetection@0
|
||||
continueOnError: true
|
||||
continueOnError: true
|
||||
inputs:
|
||||
ignoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }}
|
|
@ -33,7 +33,7 @@ steps:
|
|||
|
||||
- ${{ if ne(parameters.overrideParameters, '') }}:
|
||||
- powershell: ${{ parameters.executeAllSdlToolsScript }} ${{ parameters.overrideParameters }}
|
||||
displayName: Execute SDL
|
||||
displayName: Execute SDL (Overridden)
|
||||
continueOnError: ${{ parameters.sdlContinueOnError }}
|
||||
condition: ${{ parameters.condition }}
|
||||
|
||||
|
|
|
@ -68,6 +68,11 @@ steps:
|
|||
runtimeOsArgs='/p:RuntimeOS=${{ parameters.platform.runtimeOS }}'
|
||||
fi
|
||||
|
||||
baseOsArgs=
|
||||
if [ '${{ parameters.platform.baseOS }}' != '' ]; then
|
||||
baseOsArgs='/p:BaseOS=${{ parameters.platform.baseOS }}'
|
||||
fi
|
||||
|
||||
publishArgs=
|
||||
if [ '${{ parameters.platform.skipPublishValidation }}' != 'true' ]; then
|
||||
publishArgs='--publish'
|
||||
|
@ -86,6 +91,7 @@ steps:
|
|||
$internalRestoreArgs \
|
||||
$targetRidArgs \
|
||||
$runtimeOsArgs \
|
||||
$baseOsArgs \
|
||||
/p:SourceBuildNonPortable=${{ parameters.platform.nonPortable }} \
|
||||
/p:ArcadeBuildFromSource=true \
|
||||
/p:AssetManifestFileName=$assetManifestFileName
|
||||
|
|
|
@ -287,6 +287,25 @@ function InstallDotNet([string] $dotnetRoot,
|
|||
[string] $runtimeSourceFeedKey = '',
|
||||
[switch] $noPath) {
|
||||
|
||||
$dotnetVersionLabel = "'sdk v$version'"
|
||||
|
||||
if ($runtime -ne '' -and $runtime -ne 'sdk') {
|
||||
$runtimePath = $dotnetRoot
|
||||
$runtimePath = $runtimePath + "\shared"
|
||||
if ($runtime -eq "dotnet") { $runtimePath = $runtimePath + "\Microsoft.NETCore.App" }
|
||||
if ($runtime -eq "aspnetcore") { $runtimePath = $runtimePath + "\Microsoft.AspNetCore.App" }
|
||||
if ($runtime -eq "windowsdesktop") { $runtimePath = $runtimePath + "\Microsoft.WindowsDesktop.App" }
|
||||
$runtimePath = $runtimePath + "\" + $version
|
||||
|
||||
$dotnetVersionLabel = "runtime toolset '$runtime/$architecture v$version'"
|
||||
|
||||
if (Test-Path $runtimePath) {
|
||||
Write-Host " Runtime toolset '$runtime/$architecture v$version' already installed."
|
||||
$installSuccess = $true
|
||||
Exit
|
||||
}
|
||||
}
|
||||
|
||||
$installScript = GetDotNetInstallScript $dotnetRoot
|
||||
$installParameters = @{
|
||||
Version = $version
|
||||
|
@ -323,18 +342,18 @@ function InstallDotNet([string] $dotnetRoot,
|
|||
} else {
|
||||
$location = "public location";
|
||||
}
|
||||
Write-Host "Attempting to install dotnet from $location."
|
||||
Write-Host " Attempting to install $dotnetVersionLabel from $location."
|
||||
try {
|
||||
& $installScript @variation
|
||||
$installSuccess = $true
|
||||
break
|
||||
}
|
||||
catch {
|
||||
Write-Host "Failed to install dotnet from $location."
|
||||
Write-Host " Failed to install $dotnetVersionLabel from $location."
|
||||
}
|
||||
}
|
||||
if (-not $installSuccess) {
|
||||
Write-PipelineTelemetryError -Category 'InitializeToolset' -Message "Failed to install dotnet from any of the specified locations."
|
||||
Write-PipelineTelemetryError -Category 'InitializeToolset' -Message "Failed to install $dotnetVersionLabel from any of the specified locations."
|
||||
ExitWithExitCode 1
|
||||
}
|
||||
}
|
||||
|
@ -360,13 +379,13 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
|
|||
}
|
||||
|
||||
# Minimum VS version to require.
|
||||
$vsMinVersionReqdStr = '16.8'
|
||||
$vsMinVersionReqdStr = '17.6'
|
||||
$vsMinVersionReqd = [Version]::new($vsMinVersionReqdStr)
|
||||
|
||||
# If the version of msbuild is going to be xcopied,
|
||||
# use this version. Version matches a package here:
|
||||
# https://dev.azure.com/dnceng/public/_packaging?_a=package&feed=dotnet-eng&package=RoslynTools.MSBuild&protocolType=NuGet&version=17.4.1&view=overview
|
||||
$defaultXCopyMSBuildVersion = '17.4.1'
|
||||
# https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/RoslynTools.MSBuild/versions/17.6.0-2
|
||||
$defaultXCopyMSBuildVersion = '17.6.0-2'
|
||||
|
||||
if (!$vsRequirements) {
|
||||
if (Get-Member -InputObject $GlobalJson.tools -Name 'vs') {
|
||||
|
@ -399,7 +418,8 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
|
|||
# Locate Visual Studio installation or download x-copy msbuild.
|
||||
$vsInfo = LocateVisualStudio $vsRequirements
|
||||
if ($vsInfo -ne $null) {
|
||||
$vsInstallDir = $vsInfo.installationPath
|
||||
# Ensure vsInstallDir has a trailing slash
|
||||
$vsInstallDir = Join-Path $vsInfo.installationPath "\"
|
||||
$vsMajorVersion = $vsInfo.installationVersion.Split('.')[0]
|
||||
|
||||
InitializeVisualStudioEnvironmentVariables $vsInstallDir $vsMajorVersion
|
||||
|
@ -743,8 +763,8 @@ function MSBuild() {
|
|||
(Join-Path $basePath (Join-Path netcoreapp2.1 'Microsoft.DotNet.Arcade.Sdk.dll'))
|
||||
(Join-Path $basePath (Join-Path netcoreapp3.1 'Microsoft.DotNet.ArcadeLogging.dll')),
|
||||
(Join-Path $basePath (Join-Path netcoreapp3.1 'Microsoft.DotNet.Arcade.Sdk.dll'))
|
||||
(Join-Path $basePath (Join-Path net8.0 'Microsoft.DotNet.ArcadeLogging.dll')),
|
||||
(Join-Path $basePath (Join-Path net8.0 'Microsoft.DotNet.Arcade.Sdk.dll'))
|
||||
(Join-Path $basePath (Join-Path net7.0 'Microsoft.DotNet.ArcadeLogging.dll')),
|
||||
(Join-Path $basePath (Join-Path net7.0 'Microsoft.DotNet.Arcade.Sdk.dll'))
|
||||
)
|
||||
$selectedPath = $null
|
||||
foreach ($path in $possiblePaths) {
|
||||
|
|
|
@ -184,6 +184,35 @@ function InstallDotNetSdk {
|
|||
function InstallDotNet {
|
||||
local root=$1
|
||||
local version=$2
|
||||
local runtime=$4
|
||||
|
||||
local dotnetVersionLabel="'$runtime v$version'"
|
||||
if [[ -n "${4:-}" ]] && [ "$4" != 'sdk' ]; then
|
||||
runtimePath="$root"
|
||||
runtimePath="$runtimePath/shared"
|
||||
case "$runtime" in
|
||||
dotnet)
|
||||
runtimePath="$runtimePath/Microsoft.NETCore.App"
|
||||
;;
|
||||
aspnetcore)
|
||||
runtimePath="$runtimePath/Microsoft.AspNetCore.App"
|
||||
;;
|
||||
windowsdesktop)
|
||||
runtimePath="$runtimePath/Microsoft.WindowsDesktop.App"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
runtimePath="$runtimePath/$version"
|
||||
|
||||
dotnetVersionLabel="runtime toolset '$runtime/$architecture v$version'"
|
||||
|
||||
if [ -d "$runtimePath" ]; then
|
||||
echo " Runtime toolset '$runtime/$architecture v$version' already installed."
|
||||
local installSuccess=1
|
||||
return
|
||||
fi
|
||||
fi
|
||||
|
||||
GetDotNetInstallScript "$root"
|
||||
local install_script=$_GetDotNetInstallScript
|
||||
|
@ -228,17 +257,17 @@ function InstallDotNet {
|
|||
for variationName in "${variations[@]}"; do
|
||||
local name="$variationName[@]"
|
||||
local variation=("${!name}")
|
||||
echo "Attempting to install dotnet from $variationName."
|
||||
echo " Attempting to install $dotnetVersionLabel from $variationName."
|
||||
bash "$install_script" "${variation[@]}" && installSuccess=1
|
||||
if [[ "$installSuccess" -eq 1 ]]; then
|
||||
break
|
||||
fi
|
||||
|
||||
echo "Failed to install dotnet from $variationName."
|
||||
echo " Failed to install $dotnetVersionLabel from $variationName."
|
||||
done
|
||||
|
||||
if [[ "$installSuccess" -eq 0 ]]; then
|
||||
Write-PipelineTelemetryError -category 'InitializeToolset' "Failed to install dotnet SDK from any of the specified locations."
|
||||
Write-PipelineTelemetryError -category 'InitializeToolset' "Failed to install $dotnetVersionLabel from any of the specified locations."
|
||||
ExitWithExitCode 1
|
||||
fi
|
||||
}
|
||||
|
@ -428,8 +457,8 @@ function MSBuild {
|
|||
possiblePaths+=( "$toolset_dir/netcoreapp2.1/Microsoft.DotNet.Arcade.Sdk.dll" )
|
||||
possiblePaths+=( "$toolset_dir/netcoreapp3.1/Microsoft.DotNet.ArcadeLogging.dll" )
|
||||
possiblePaths+=( "$toolset_dir/netcoreapp3.1/Microsoft.DotNet.Arcade.Sdk.dll" )
|
||||
possiblePaths+=( "$toolset_dir/net8.0/Microsoft.DotNet.ArcadeLogging.dll" )
|
||||
possiblePaths+=( "$toolset_dir/net8.0/Microsoft.DotNet.Arcade.Sdk.dll" )
|
||||
possiblePaths+=( "$toolset_dir/net7.0/Microsoft.DotNet.ArcadeLogging.dll" )
|
||||
possiblePaths+=( "$toolset_dir/net7.0/Microsoft.DotNet.Arcade.Sdk.dll" )
|
||||
for path in "${possiblePaths[@]}"; do
|
||||
if [[ -f $path ]]; then
|
||||
selectedPath=$path
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
"allowPrerelease": true
|
||||
},
|
||||
"tools": {
|
||||
"dotnet": "8.0.100-preview.3.23178.7",
|
||||
"dotnet": "8.0.100-preview.6.23330.14",
|
||||
"vs": {
|
||||
"version": "17.4.1"
|
||||
},
|
||||
"xcopy-msbuild": "17.4.1"
|
||||
},
|
||||
"msbuild-sdks": {
|
||||
"Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.23213.1"
|
||||
"Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.23364.2"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,14 +34,14 @@ namespace Microsoft.Build.UnitTests.OM.ObjectModelRemoting
|
|||
|
||||
public void VerifyNotSame(LinkPair<T> other)
|
||||
{
|
||||
Assert.NotSame((object)this.View, (object)other.View);
|
||||
Assert.NotSame((object)this.Real, (object)other.Real);
|
||||
Assert.NotEqual((object)this.View, (object)other.View);
|
||||
Assert.NotEqual((object)this.Real, (object)other.Real);
|
||||
}
|
||||
|
||||
public void VerifySame(LinkPair<T> other)
|
||||
{
|
||||
Assert.Same((object)this.View, (object)other.View);
|
||||
Assert.Same((object)this.Real, (object)other.Real);
|
||||
Assert.Equal((object)this.View, (object)other.View);
|
||||
Assert.Equal((object)this.Real, (object)other.Real);
|
||||
}
|
||||
|
||||
public void VerifySetter(bool finalValue, Func<T, bool> getter, Action<T, bool> setter)
|
||||
|
|
|
@ -51,6 +51,9 @@ namespace Microsoft.Build.BackEnd
|
|||
/// <summary>
|
||||
/// Constructor for deserialization.
|
||||
/// </summary>
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
protected NodeFailedToLaunchException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
|
@ -82,6 +85,9 @@ namespace Microsoft.Build.BackEnd
|
|||
/// </summary>
|
||||
#if FEATURE_SECURITY_PERMISSIONS
|
||||
[SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter = true)]
|
||||
#endif
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
public override void GetObjectData(SerializationInfo info, StreamingContext context)
|
||||
{
|
||||
|
|
|
@ -1079,7 +1079,9 @@ namespace Microsoft.Build.BackEnd
|
|||
/// </summary>
|
||||
internal bool IsEventSerializable(BuildEventArgs e)
|
||||
{
|
||||
#pragma warning disable SYSLIB0050
|
||||
if (!e.GetType().GetTypeInfo().IsSerializable)
|
||||
#pragma warning restore SYSLIB0050
|
||||
{
|
||||
_taskLoggingContext.LogWarning(null, new BuildEventFileInfo(string.Empty), "ExpectedEventToBeSerializable", e.GetType().Name);
|
||||
return false;
|
||||
|
|
|
@ -91,6 +91,9 @@ namespace Microsoft.Build.Exceptions
|
|||
/// Protected constructor used for (de)serialization.
|
||||
/// If we ever add new members to this class, we'll need to update this.
|
||||
/// </summary>
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
protected BuildAbortedException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
|
@ -109,6 +112,9 @@ namespace Microsoft.Build.Exceptions
|
|||
/// </summary>
|
||||
#if FEATURE_SECURITY_PERMISSIONS
|
||||
[SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter = true)]
|
||||
#endif
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
public override void GetObjectData(SerializationInfo info, StreamingContext context)
|
||||
{
|
||||
|
|
|
@ -39,6 +39,9 @@ namespace Microsoft.Build.Exceptions
|
|||
/// <summary>
|
||||
/// Constructor for deserialization.
|
||||
/// </summary>
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
protected CircularDependencyException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
|
|
|
@ -108,6 +108,9 @@ namespace Microsoft.Build.Exceptions
|
|||
/// </summary>
|
||||
/// <param name="info"></param>
|
||||
/// <param name="context"></param>
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
private InternalLoggerException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
|
@ -125,6 +128,9 @@ namespace Microsoft.Build.Exceptions
|
|||
/// <param name="context"></param>
|
||||
#if FEATURE_SECURITY_PERMISSIONS
|
||||
[SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter = true)]
|
||||
#endif
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
public override void GetObjectData(SerializationInfo info, StreamingContext context)
|
||||
{
|
||||
|
|
|
@ -85,6 +85,9 @@ namespace Microsoft.Build.Exceptions
|
|||
/// </summary>
|
||||
/// <param name="info"></param>
|
||||
/// <param name="context"></param>
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
private InvalidProjectFileException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
|
@ -107,6 +110,9 @@ namespace Microsoft.Build.Exceptions
|
|||
/// <param name="context"></param>
|
||||
#if FEATURE_SECURITY_PERMISSIONS
|
||||
[SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter = true)]
|
||||
#endif
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
public override void GetObjectData(SerializationInfo info, StreamingContext context)
|
||||
{
|
||||
|
|
|
@ -55,6 +55,9 @@ namespace Microsoft.Build.Exceptions
|
|||
/// <summary>
|
||||
/// Basic constructor.
|
||||
/// </summary>
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
protected InvalidToolsetDefinitionException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
|
@ -94,6 +97,9 @@ namespace Microsoft.Build.Exceptions
|
|||
/// <param name="context"></param>
|
||||
#if FEATURE_SECURITY_PERMISSIONS
|
||||
[SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter = true)]
|
||||
#endif
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
public override void GetObjectData(SerializationInfo info, StreamingContext context)
|
||||
{
|
||||
|
|
|
@ -57,6 +57,9 @@ namespace Microsoft.Build.Exceptions
|
|||
/// <summary>
|
||||
/// Since this class implements Iserializable this constructor is required to be implemented.
|
||||
/// </summary>
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
protected RegistryException(SerializationInfo info, StreamingContext context) : base(info, context)
|
||||
{
|
||||
// We don't have any reason at the moment to do any custom serizlization or deserialization, this methods was added
|
||||
|
|
|
@ -337,7 +337,9 @@ namespace Microsoft.Build.BackEnd
|
|||
/// </summary>
|
||||
internal bool IsEventSerializable(BuildEventArgs e)
|
||||
{
|
||||
#pragma warning disable SYSLIB0050
|
||||
if (!e.GetType().GetTypeInfo().IsSerializable)
|
||||
#pragma warning restore SYSLIB0050
|
||||
{
|
||||
_loggingContext.LogWarning(null, new BuildEventFileInfo(string.Empty), "ExpectedEventToBeSerializable", e.GetType().Name);
|
||||
return false;
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
<PackageReference Include="System.Collections.Immutable" />
|
||||
<PackageReference Include="System.Configuration.ConfigurationManager" />
|
||||
<PackageReference Include="System.Threading.Tasks.Dataflow" />
|
||||
<PackageReference Include="System.Text.Json" />
|
||||
|
||||
<PackageReference Include="System.Reflection.Metadata" Condition="'$(MonoBuild)' == 'true'" />
|
||||
<PackageReference Include="System.Reflection.MetadataLoadContext" />
|
||||
|
@ -47,6 +46,7 @@
|
|||
<ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">
|
||||
<Reference Include="System.IO.Compression" />
|
||||
<PackageReference Include="System.Memory" />
|
||||
<PackageReference Include="System.Text.Json" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETStandard'">
|
||||
|
|
|
@ -49,12 +49,6 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition="'$(IsUnitTestProject)' == 'true'">
|
||||
<!-- MSBuild isn't xunit analyzer clean, so remove the reference to the xunit package added by the repo toolset and
|
||||
replace it with references to xunit.core and xunit.assert. -->
|
||||
<PackageReference Remove="xunit" />
|
||||
<PackageReference Include="xunit.core" />
|
||||
<PackageReference Include="xunit.assert" />
|
||||
|
||||
<!-- Force updated reference to this package because xunit and shouldly
|
||||
are netstandard1.6 and transitively bring in an old reference -->
|
||||
<PackageReference Include="System.Security.Cryptography.X509Certificates" />
|
||||
|
|
|
@ -31,6 +31,9 @@ public abstract class BuildExceptionBase : Exception
|
|||
{ }
|
||||
|
||||
// This is needed to allow opting back in to BinaryFormatter serialization
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
private protected BuildExceptionBase(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{ }
|
||||
|
|
|
@ -75,6 +75,9 @@ namespace Microsoft.Build.Framework
|
|||
/// Private constructor used for (de)serialization. The constructor is private as this class is sealed
|
||||
/// If we ever add new members to this class, we'll need to update this.
|
||||
/// </summary>
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
private InternalErrorException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
|
|
|
@ -82,6 +82,9 @@ namespace Microsoft.Build.Framework
|
|||
/// </summary>
|
||||
/// <param name="info">Serialization info</param>
|
||||
/// <param name="context">Streaming context</param>
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
protected LoggerException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
|
@ -97,6 +100,9 @@ namespace Microsoft.Build.Framework
|
|||
/// <param name="context">Streaming context</param>
|
||||
#if FEATURE_SECURITY_PERMISSIONS
|
||||
[SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter = true)]
|
||||
#endif
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
public override void GetObjectData(SerializationInfo info, StreamingContext context)
|
||||
{
|
||||
|
@ -121,7 +127,7 @@ namespace Microsoft.Build.Framework
|
|||
helpKeyword = state[nameof(helpKeyword)];
|
||||
}
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
|
||||
|
|
|
@ -46,6 +46,9 @@ namespace Microsoft.Build.CommandLine
|
|||
/// <summary>
|
||||
/// Serialization constructor
|
||||
/// </summary>
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
private CommandLineSwitchException(
|
||||
SerializationInfo info,
|
||||
StreamingContext context) :
|
||||
|
@ -94,6 +97,9 @@ namespace Microsoft.Build.CommandLine
|
|||
/// </summary>
|
||||
#if FEATURE_SECURITY_PERMISSIONS
|
||||
[SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter = true)]
|
||||
#endif
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
public override void GetObjectData(SerializationInfo info, StreamingContext context)
|
||||
{
|
||||
|
|
|
@ -51,6 +51,9 @@ namespace Microsoft.Build.CommandLine
|
|||
/// <summary>
|
||||
/// Serialization constructor
|
||||
/// </summary>
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
private InitializationException(
|
||||
SerializationInfo info,
|
||||
StreamingContext context) :
|
||||
|
@ -87,6 +90,9 @@ namespace Microsoft.Build.CommandLine
|
|||
/// </summary>
|
||||
#if FEATURE_SECURITY_PERMISSIONS
|
||||
[SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter = true)]
|
||||
#endif
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
public override void GetObjectData(SerializationInfo info, StreamingContext context)
|
||||
{
|
||||
|
|
|
@ -1146,7 +1146,9 @@ namespace Microsoft.Build.CommandLine
|
|||
{
|
||||
if (_nodeEndpoint?.LinkStatus == LinkStatus.Active)
|
||||
{
|
||||
#pragma warning disable SYSLIB0050
|
||||
if (!e.GetType().GetTypeInfo().IsSerializable)
|
||||
#pragma warning disable SYSLIB0050
|
||||
{
|
||||
// log a warning and bail. This will end up re-calling SendBuildEvent, but we know for a fact
|
||||
// that the warning that we constructed is serializable, so everything should be good.
|
||||
|
|
|
@ -18,8 +18,6 @@
|
|||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Shouldly" />
|
||||
<PackageReference Include="xunit.core" />
|
||||
<PackageReference Include="xunit.assert" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -66,6 +66,9 @@ namespace Microsoft.Build.Tasks
|
|||
/// <summary>
|
||||
/// Construct the exception.
|
||||
/// </summary>
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
protected AppConfigException(SerializationInfo info, StreamingContext context) : base(info, context)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -25,6 +25,9 @@ namespace Microsoft.Build.Tasks
|
|||
/// <summary>
|
||||
/// Construct
|
||||
/// </summary>
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
private BadImageReferenceException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
|
|
|
@ -25,6 +25,9 @@ namespace Microsoft.Build.Tasks
|
|||
/// <summary>
|
||||
/// Construct
|
||||
/// </summary>
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
private DependencyResolutionException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
|
|
|
@ -26,6 +26,9 @@ namespace Microsoft.Build.Tasks
|
|||
/// <summary>
|
||||
/// Construct
|
||||
/// </summary>
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
private InvalidReferenceAssemblyNameException(SerializationInfo info, StreamingContext context) : base(info, context)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -25,6 +25,9 @@ namespace Microsoft.Build.Tasks
|
|||
/// <summary>
|
||||
/// Implement required constructors for serialization
|
||||
/// </summary>
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
private ReferenceResolutionException(SerializationInfo info, StreamingContext context) : base(info, context)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!-- https://learn.microsoft.com/en-us/dotnet/fundamentals/package-validation/diagnostic-ids -->
|
||||
<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<Suppression>
|
||||
<!-- For ease of logging the "not supported on Core" message, this task is a
|
||||
<!-- For ease of logging the "not supported on Core" message, this task is a
|
||||
TaskExtension on netstandard/netcore. Since the type is sealed there,
|
||||
that shouldn't cause any implementation problems since no one can derive
|
||||
from it and try to call TaskExtension.Log. -->
|
||||
|
@ -12,6 +12,15 @@
|
|||
<Right>ref/net472/Microsoft.Build.Tasks.Core.dll</Right>
|
||||
</Suppression>
|
||||
|
||||
<!-- We don't have the net7 reference assemblies handy to pass in to compare against the net8 ones -->
|
||||
<Suppression>
|
||||
<DiagnosticId>CP1002</DiagnosticId>
|
||||
<Target>System.Security.Cryptography, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Target>
|
||||
<Left>ref/net7.0/Microsoft.Build.Tasks.Core.dll</Left>
|
||||
<Right>ref/netstandard2.0/Microsoft.Build.Tasks.Core.dll</Right>
|
||||
<IsBaselineSuppression>true</IsBaselineSuppression>
|
||||
</Suppression>
|
||||
|
||||
<!-- PKV004 for netstandard2.0-supporting TFs that we do not have runtime assemblies for.
|
||||
This is intentional, because you can only use MSBuild in the context of a .NET SDK
|
||||
(on net7.0, as of MSBuild 17.4) or in the context of Visual Studio (net472), but we
|
||||
|
@ -65,7 +74,7 @@
|
|||
<DiagnosticId>PKV004</DiagnosticId>
|
||||
<Target>Xamarin.XboxOne,Version=v0.0</Target>
|
||||
</Suppression>
|
||||
<!-- For updating target framework from net 7.0 to net 8.0 in MSBuild 17.8 suppress baseline package validation error PKV006 on net 7.0 -->
|
||||
<!-- For updating target framework from net 7.0 to net 8.0 in MSBuild 17.8 suppress baseline package validation error PKV006 on net 7.0 -->
|
||||
<Suppression>
|
||||
<DiagnosticId>PKV006</DiagnosticId>
|
||||
<Target>net7.0</Target>
|
||||
|
|
|
@ -3942,6 +3942,9 @@ namespace Microsoft.Build.Tasks
|
|||
private int lineNumber;
|
||||
private int column;
|
||||
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
private TextFileException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
|
|
|
@ -38,6 +38,9 @@ namespace Microsoft.Build.Tasks
|
|||
/// <summary>
|
||||
/// Constructor
|
||||
/// </summary>
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
private InvalidParameterValueException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context)
|
||||
{
|
||||
|
|
|
@ -23,6 +23,9 @@ namespace Microsoft.Build.Tasks.ResourceHandling
|
|||
{
|
||||
}
|
||||
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
protected InputFormatNotSupportedException(SerializationInfo info, StreamingContext context) : base(info, context)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -23,6 +23,9 @@ namespace Microsoft.Build.Tasks.ResourceHandling
|
|||
{
|
||||
}
|
||||
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
protected MSBuildResXException(SerializationInfo info, StreamingContext context) : base(info, context)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -13,6 +13,9 @@ namespace Microsoft.Build.Tasks.ResourceHandling
|
|||
{
|
||||
public PreserializedResourceWriterRequiredException() { }
|
||||
|
||||
#if NET8_0_OR_GREATER
|
||||
[Obsolete(DiagnosticId = "SYSLIB0051")]
|
||||
#endif
|
||||
private PreserializedResourceWriterRequiredException(SerializationInfo info, StreamingContext context)
|
||||
: base(info, context) { }
|
||||
}
|
||||
|
|
|
@ -1,6 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- https://learn.microsoft.com/en-us/dotnet/fundamentals/package-validation/diagnostic-ids -->
|
||||
<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<!-- We don't have the net7 reference assemblies handy to pass in to compare against the net8 ones -->
|
||||
<Suppression>
|
||||
<DiagnosticId>CP1002</DiagnosticId>
|
||||
<Target>System.Runtime, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Target>
|
||||
<Left>ref/net7.0/Microsoft.Build.Utilities.Core.dll</Left>
|
||||
<Right>ref/netstandard2.0/Microsoft.Build.Utilities.Core.dll</Right>
|
||||
<IsBaselineSuppression>true</IsBaselineSuppression>
|
||||
</Suppression>
|
||||
<!-- PKV004 for netstandard2.0-supporting TFs that we do not have runtime assemblies for.
|
||||
This is intentional, because you can only use MSBuild in the context of a .NET SDK
|
||||
(on net7.0, as of MSBuild 17.4) or in the context of Visual Studio (net472), but we
|
||||
|
@ -54,7 +62,7 @@
|
|||
<DiagnosticId>PKV004</DiagnosticId>
|
||||
<Target>Xamarin.XboxOne,Version=v0.0</Target>
|
||||
</Suppression>
|
||||
<!-- For updating target framework from net 7.0 to net 8.0 in MSBuild 17.8 suppress baseline package validation error PKV006 on net 7.0 -->
|
||||
<!-- For updating target framework from net 7.0 to net 8.0 in MSBuild 17.8 suppress baseline package validation error PKV006 on net 7.0 -->
|
||||
<Suppression>
|
||||
<DiagnosticId>PKV006</DiagnosticId>
|
||||
<Target>net7.0</Target>
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
namespace Xunit.NetCore.Extensions
|
||||
{
|
||||
/// <summary>
|
||||
/// This test should be run only on .NET (or .NET Core).
|
||||
/// </summary>
|
||||
public class DotNetOnlyFactAttribute : FactAttribute
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="DotNetOnlyFactAttribute"/> class.
|
||||
/// </summary>
|
||||
/// <param name="additionalMessage">The additional message that is appended to skip reason, when test is skipped.</param>
|
||||
public DotNetOnlyFactAttribute(string? additionalMessage = null)
|
||||
{
|
||||
if (!CustomXunitAttributesUtilities.IsBuiltAgainstDotNet)
|
||||
{
|
||||
this.Skip = "This test only runs on .NET.".AppendAdditionalMessage(additionalMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
namespace Xunit.NetCore.Extensions
|
||||
{
|
||||
/// <summary>
|
||||
/// This test should be run only on .NET (or .NET Core).
|
||||
/// </summary>
|
||||
public class DotNetOnlyTheoryAttribute : TheoryAttribute
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="DotNetOnlyTheoryAttribute"/> class.
|
||||
/// </summary>
|
||||
/// <param name="additionalMessage">The additional message that is appended to skip reason, when test is skipped.</param>
|
||||
public DotNetOnlyTheoryAttribute(string? additionalMessage = null)
|
||||
{
|
||||
if (!CustomXunitAttributesUtilities.IsBuiltAgainstDotNet)
|
||||
{
|
||||
this.Skip = "This test only runs on .NET.".AppendAdditionalMessage(additionalMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Xunit.NetCore.Extensions
|
||||
{
|
||||
/// <summary>
|
||||
/// This test should be run only on Unix (Linux, OSX platforms).
|
||||
/// </summary>
|
||||
public class UnixOnlyFactAttribute : FactAttribute
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="UnixOnlyFactAttribute"/> class.
|
||||
/// </summary>
|
||||
/// <param name="additionalMessage">The additional message that is appended to skip reason, when test is skipped.</param>
|
||||
public UnixOnlyFactAttribute(string? additionalMessage = null)
|
||||
{
|
||||
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
|
||||
{
|
||||
this.Skip = "This test requires Unix to run.".AppendAdditionalMessage(additionalMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Xunit.NetCore.Extensions
|
||||
{
|
||||
/// <summary>
|
||||
/// This test should be run only on Unix (Linux, OSX platforms).
|
||||
/// </summary>
|
||||
public class UnixOnlyTheoryAttribute : TheoryAttribute
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="UnixOnlyTheoryAttribute"/> class.
|
||||
/// </summary>
|
||||
/// <param name="additionalMessage">The additional message that is appended to skip reason, when test is skipped.</param>
|
||||
public UnixOnlyTheoryAttribute(string? additionalMessage = null)
|
||||
{
|
||||
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
|
||||
{
|
||||
this.Skip = "This test requires Unix to run.".AppendAdditionalMessage(additionalMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,30 +0,0 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Xunit.NetCore.Extensions
|
||||
{
|
||||
/// <summary>
|
||||
/// This test should be run only on Windows on full .NET Framework.
|
||||
/// </summary>
|
||||
public class WindowsFullFrameworkOnlyFactAttribute : FactAttribute
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="WindowsFullFrameworkOnlyFactAttribute"/> class.
|
||||
/// </summary>
|
||||
/// <param name="additionalMessage">The additional message that is appended to skip reason, when test is skipped.</param>
|
||||
public WindowsFullFrameworkOnlyFactAttribute(string? additionalMessage = null)
|
||||
{
|
||||
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
|
||||
{
|
||||
this.Skip = "This test only runs on Windows on full framework.".AppendAdditionalMessage(additionalMessage);
|
||||
return;
|
||||
}
|
||||
if (!CustomXunitAttributesUtilities.IsBuiltAgainstNetFramework)
|
||||
{
|
||||
this.Skip = "This test only runs on full framework.".AppendAdditionalMessage(additionalMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Xunit.NetCore.Extensions
|
||||
{
|
||||
/// <summary>
|
||||
/// This test should be run only on Windows on full .NET Framework.
|
||||
/// </summary>
|
||||
public class WindowsFullFrameworkOnlyTheoryAttribute : TheoryAttribute
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="WindowsFullFrameworkOnlyTheoryAttribute"/> class.
|
||||
/// Creates the attribute.
|
||||
/// </summary>
|
||||
/// <param name="additionalMessage">The additional message that is appended to skip reason, when test is skipped.</param>
|
||||
public WindowsFullFrameworkOnlyTheoryAttribute(string? additionalMessage = null)
|
||||
{
|
||||
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
|
||||
{
|
||||
this.Skip = "This test only runs on Windows on full framework.".AppendAdditionalMessage(additionalMessage);
|
||||
return;
|
||||
}
|
||||
if (!CustomXunitAttributesUtilities.IsBuiltAgainstNetFramework)
|
||||
{
|
||||
this.Skip = "This test only runs on full framework.".AppendAdditionalMessage(additionalMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Xunit.NetCore.Extensions
|
||||
{
|
||||
/// <summary>
|
||||
/// This test should be run only on Windows.
|
||||
/// </summary>
|
||||
public class WindowsOnlyFactAttribute : FactAttribute
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="WindowsOnlyFactAttribute"/> class.
|
||||
/// </summary>
|
||||
/// <param name="additionalMessage">The additional message that is appended to skip reason, when test is skipped.</param>
|
||||
public WindowsOnlyFactAttribute(string? additionalMessage = null)
|
||||
{
|
||||
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
|
||||
{
|
||||
this.Skip = "This test requires Windows to run.".AppendAdditionalMessage(additionalMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Xunit.NetCore.Extensions
|
||||
{
|
||||
/// <summary>
|
||||
/// This test should be run only on Windows.
|
||||
/// </summary>
|
||||
public class WindowsOnlyTheoryAttribute : TheoryAttribute
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="WindowsOnlyTheoryAttribute"/> class.
|
||||
/// </summary>
|
||||
/// <param name="additionalMessage">The additional message that is appended to skip reason, when test is skipped.</param>
|
||||
public WindowsOnlyTheoryAttribute(string? additionalMessage = null)
|
||||
{
|
||||
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
|
||||
{
|
||||
this.Skip = "This test requires Windows to run.".AppendAdditionalMessage(additionalMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -7,6 +7,8 @@
|
|||
<IsTestProject>false</IsTestProject><!-- while this project references xunit it isn't itself a test -->
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="xunit.core" />
|
||||
<!-- Implicit references to xunit.core and xunit.assert in test projects by Arcade
|
||||
cause restore failures if PackageVersion is in the normal .props file. -->
|
||||
<PackageReference Include="xunit.core" VersionOverride="$(XUnitVersion)" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
</Project>
|
||||
|
|
Загрузка…
Ссылка в новой задаче