diff options
46 files changed, 332 insertions, 657 deletions
diff --git a/Directory.Build.props b/Directory.Build.props index d654ceb8757..3d391c4b443 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,63 +1,74 @@ -<Project TreatAsLocalProperty="RepoRoot"> - +<Project> <PropertyGroup> - <!-- - For non-SDK projects that import this file and then import Microsoft.Common.props, - tell Microsoft.Common.props not to import Directory.Build.props again - --> + <!-- For non-SDK projects that import this file and then import Microsoft.Common.props, + tell Microsoft.Common.props not to import Directory.Build.props again. --> <ImportDirectoryBuildProps>false</ImportDirectoryBuildProps> </PropertyGroup> - <!-- - Import the arcade sdk with these requirements. - After: - Configuration setup - Before: - DebugType needs to be not be set to embedded at least for facades - OutputPath setup - --> - <Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" Condition="'$(SkipImportArcadeSdkFromRoot)' != 'true'" /> - - <!-- Set these properties early enough for libraries as they import the Arcade SDK not early enough. --> - <PropertyGroup Condition="'$(SkipImportArcadeSdkFromRoot)' == 'true'"> - <RepoRoot>$([MSBuild]::EnsureTrailingSlash('$(MSBuildThisFileDirectory)'))</RepoRoot> - <RepositoryEngineeringDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'eng'))</RepositoryEngineeringDir> - <ArtifactsDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts'))</ArtifactsDir> - <ArtifactsBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'bin'))</ArtifactsBinDir> - <ArtifactsObjDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'obj'))</ArtifactsObjDir> + <PropertyGroup Label="CalculateTargetOS"> + <TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('OSX'))">OSX</TargetOS> + <TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('FREEBSD'))">FreeBSD</TargetOS> + <TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('NETBSD'))">NetBSD</TargetOS> + <TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('ILLUMOS'))">illumos</TargetOS> + <TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('SOLARIS'))">Solaris</TargetOS> + <TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSUnixLike())">Linux</TargetOS> + <TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('WINDOWS'))">windows</TargetOS> + <TargetsMobile Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'Android' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'Browser'">true</TargetsMobile> </PropertyGroup> - <!-- Configuration properties which are needed in both the (isolated) restore and build phases. --> - <Import Project="$(RepositoryEngineeringDir)Configurations.props" /> + <!-- Platform property is required by RepoLayout.props in Arcade SDK. --> + <PropertyGroup Label="CalculateArch"> + <_hostArch>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant)</_hostArch> + <BuildArchitecture Condition="'$(BuildArchitecture)' == ''">$(_hostArch)</BuildArchitecture> + <TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(_hostArch)' == 'arm'">arm</TargetArchitecture> + <TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(_hostArch)' == 'arm64'">arm64</TargetArchitecture> + <TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(TargetOS)' == 'Browser'">wasm</TargetArchitecture> + <TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(TargetsMobile)' == 'true'">x64</TargetArchitecture> + <TargetArchitecture Condition="'$(TargetArchitecture)' == ''">x64</TargetArchitecture> + <Platform Condition="'$(Platform)' == '' and '$(InferPlatformFromTargetArchitecture)' == 'true'">$(TargetArchitecture)</Platform> + </PropertyGroup> - <!-- - Get '<subset>Project' items. Using the items lets projects handle - $(Subset) automatically when creating project-to-project dependencies. - --> - <Import Project="$(RepositoryEngineeringDir)Subsets.props" /> + <!-- Import the Arcade SDK --> + <Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" /> + <!-- The TFMs to build and test against. --> <PropertyGroup> - <!-- Installer specific, required during restore. --> - <InstallerTasksOutputPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'installer.tasks'))</InstallerTasksOutputPath> - <InstallerTasksAssemblyPath Condition="'$(MSBuildRuntimeType)' == 'Core'">$([MSBuild]::NormalizePath('$(InstallerTasksOutputPath)', 'Debug', 'netstandard2.0', 'installer.tasks.dll'))</InstallerTasksAssemblyPath> - <InstallerTasksAssemblyPath Condition="'$(MSBuildRuntimeType)' != 'Core'">$([MSBuild]::NormalizePath('$(InstallerTasksOutputPath)', 'Debug', 'net461', 'installer.tasks.dll'))</InstallerTasksAssemblyPath> - - <DocsDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'docs'))</DocsDir> - <ManPagesDir>$([MSBuild]::NormalizeDirectory('$(DocsDir)', 'manpages'))</ManPagesDir> - - <!-- System.Private.CoreLib --> - <CoreLibSharedDir>$([MSBuild]::NormalizeDirectory('$(LibrariesProjectRoot)', 'System.Private.CoreLib', 'src'))</CoreLibSharedDir> - <CoreLibProject Condition="'$(RuntimeFlavor)' == 'CoreCLR'">$([MSBuild]::NormalizePath('$(CoreClrProjectRoot)', 'System.Private.CoreLib', 'System.Private.CoreLib.csproj'))</CoreLibProject> - <CoreLibProject Condition="'$(RuntimeFlavor)' == 'Mono'">$([MSBuild]::NormalizePath('$(MonoProjectRoot)', 'netcore', 'System.Private.CoreLib', 'System.Private.CoreLib.csproj'))</CoreLibProject> + <NetCoreAppCurrentVersion>$(MajorVersion).$(MinorVersion)</NetCoreAppCurrentVersion> + <AspNetCoreAppCurrentVersion>5.0</AspNetCoreAppCurrentVersion> + <NetCoreAppToolCurrentVersion>5.0</NetCoreAppToolCurrentVersion> + <NetCoreAppCurrentIdentifier>.NETCoreApp</NetCoreAppCurrentIdentifier> + <NetCoreAppCurrentTargetFrameworkMoniker>$(NetCoreAppCurrentIdentifier),Version=v$(NetCoreAppCurrentVersion)</NetCoreAppCurrentTargetFrameworkMoniker> + <NetCoreAppCurrent>net$(NetCoreAppCurrentVersion)</NetCoreAppCurrent> + <AspNetCoreAppCurrent>net$(AspNetCoreAppCurrentVersion)</AspNetCoreAppCurrent> + <NetCoreAppToolCurrent>net$(NetCoreAppToolCurrentVersion)</NetCoreAppToolCurrent> + <NetCoreAppCurrentToolTargetFrameworkMoniker>$(NetCoreAppCurrentIdentifier),Version=v$(NetCoreAppToolCurrentVersion)</NetCoreAppCurrentToolTargetFrameworkMoniker> + <!-- Used by Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk. --> + <NETCoreAppFramework>$(NetCoreAppCurrent)</NETCoreAppFramework> + <SharedFrameworkName>Microsoft.NETCore.App</SharedFrameworkName> + <NetCoreAppCurrentBrandName>.NET $(NetCoreAppCurrentVersion)</NetCoreAppCurrentBrandName> </PropertyGroup> <PropertyGroup> + <LibrariesProjectRoot>$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'src', 'libraries'))</LibrariesProjectRoot> + <CoreClrProjectRoot>$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'src', 'coreclr'))</CoreClrProjectRoot> + <MonoProjectRoot>$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'src', 'mono'))</MonoProjectRoot> + <InstallerProjectRoot>$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'src', 'installer'))</InstallerProjectRoot> + <RepoToolsLocalDir>$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'tools-local'))</RepoToolsLocalDir> + <RepoTasksDir>$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'src', 'tasks'))</RepoTasksDir> + <IbcOptimizationDataDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'ibc'))</IbcOptimizationDataDir> + <XmlDocDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'docs'))</XmlDocDir> + <XmlDocFileRoot>$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'microsoft.private.intellisense', '$(MicrosoftPrivateIntellisenseVersion)', 'IntellisenseFiles', 'net'))</XmlDocFileRoot> + <DocsDir>$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'docs'))</DocsDir> + <ManPagesDir>$([MSBuild]::NormalizeDirectory('$(DocsDir)', 'manpages'))</ManPagesDir> + <AppleAppBuilderDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AppleAppBuilder', 'Debug', '$(NetCoreAppToolCurrent)'))</AppleAppBuilderDir> <AndroidAppBuilderDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AndroidAppBuilder', 'Debug', '$(NetCoreAppToolCurrent)', 'publish'))</AndroidAppBuilderDir> <WasmAppBuilderDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WasmAppBuilder', 'Debug', '$(NetCoreAppToolCurrent)', 'publish'))</WasmAppBuilderDir> <WasmBuildTasksDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WasmBuildTasks', 'Debug', '$(NetCoreAppToolCurrent)', 'publish'))</WasmBuildTasksDir> <MonoAOTCompilerDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'MonoAOTCompiler', 'Debug', '$(NetCoreAppToolCurrent)'))</MonoAOTCompilerDir> + <InstallerTasksAssemblyPath Condition="'$(MSBuildRuntimeType)' == 'Core'">$([MSBuild]::NormalizePath('$(ArtifactsBinDir)', 'installer.tasks', 'Debug', 'netstandard2.0', 'installer.tasks.dll'))</InstallerTasksAssemblyPath> + <InstallerTasksAssemblyPath Condition="'$(MSBuildRuntimeType)' != 'Core'">$([MSBuild]::NormalizePath('$(ArtifactsBinDir)', 'installer.tasks', 'Debug', 'net461', 'installer.tasks.dll'))</InstallerTasksAssemblyPath> <AppleAppBuilderTasksAssemblyPath>$([MSBuild]::NormalizePath('$(AppleAppBuilderDir)', 'AppleAppBuilder.dll'))</AppleAppBuilderTasksAssemblyPath> <AndroidAppBuilderTasksAssemblyPath>$([MSBuild]::NormalizePath('$(AndroidAppBuilderDir)', 'AndroidAppBuilder.dll'))</AndroidAppBuilderTasksAssemblyPath> <WasmAppBuilderTasksAssemblyPath>$([MSBuild]::NormalizePath('$(WasmAppBuilderDir)', 'WasmAppBuilder.dll'))</WasmAppBuilderTasksAssemblyPath> @@ -65,39 +76,155 @@ <MonoAOTCompilerTasksAssemblyPath>$([MSBuild]::NormalizePath('$(MonoAOTCompilerDir)', 'MonoAOTCompiler.dll'))</MonoAOTCompilerTasksAssemblyPath> </PropertyGroup> - <!-- Packaging properties --> + <PropertyGroup Label="CalculateConfiguration"> + <!-- The RuntimeConfiguration property allows to pass in/specify a configuration that applies to both CoreCLR and Mono. --> + <RuntimeConfiguration Condition="'$(RuntimeConfiguration)' == ''">$(Configuration)</RuntimeConfiguration> + <RuntimeConfiguration Condition="'$(RuntimeConfiguration)' == '' and ('$(Configuration)' == 'Debug' or '$(Configuration)' == 'Release')">$(Configuration)</RuntimeConfiguration> + <RuntimeConfiguration Condition="'$(RuntimeConfiguration)' == ''">Debug</RuntimeConfiguration> + <CoreCLRConfiguration Condition="'$(CoreCLRConfiguration)' == ''">$(RuntimeConfiguration)</CoreCLRConfiguration> + <MonoConfiguration Condition="'$(MonoConfiguration)' == '' and '$(RuntimeConfiguration.ToLower())' != 'checked'">$(RuntimeConfiguration)</MonoConfiguration> + <!-- There's no checked configuration on Mono. --> + <MonoConfiguration Condition="'$(MonoConfiguration)' == '' and '$(RuntimeConfiguration.ToLower())' == 'checked'">Debug</MonoConfiguration> + <LibrariesConfiguration Condition="'$(LibrariesConfiguration)' == ''">$(Configuration)</LibrariesConfiguration> + </PropertyGroup> + + <PropertyGroup Label="CalculateOS"> + <!-- Default to portable build if not explicitly set --> + <PortableBuild Condition="'$(PortableBuild)' == ''">true</PortableBuild> + + <_parseDistroRid>$(__DistroRid)</_parseDistroRid> + <_parseDistroRid Condition="'$(_parseDistroRid)' == '' and '$(MSBuildRuntimeType)' == 'core'">$([System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier)</_parseDistroRid> + <_parseDistroRid Condition="'$(_parseDistroRid)' == '' and '$(MSBuildRuntimeType)' != 'core'">win-$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString().ToLowerInvariant)</_parseDistroRid> + <_distroRidIndex>$(_parseDistroRid.LastIndexOfAny("-"))</_distroRidIndex> + + <_runtimeOS>$(RuntimeOS)</_runtimeOS> + <_runtimeOS Condition="'$(_runtimeOS)' == ''">$(_parseDistroRid.SubString(0, $(_distroRidIndex)))</_runtimeOS> + + <!-- _runtimeOS is calculated based on the build system OS, however if building for Browser/iOS/Android we need to let + the build system to use browser/ios/android as the _runtimeOS for produced package RIDs. --> + <_runtimeOS Condition="'$(TargetsMobile)' == 'true'">$(TargetOS.ToLowerInvariant())</_runtimeOS> + + <_runtimeOSVersionIndex>$(_runtimeOS.IndexOfAny(".-0123456789"))</_runtimeOSVersionIndex> + <_runtimeOSFamily Condition="'$(_runtimeOSVersionIndex)' != '-1'">$(_runtimeOS.SubString(0, $(_runtimeOSVersionIndex)))</_runtimeOSFamily> + + <_portableOS>linux</_portableOS> + <_portableOS Condition="'$(_runtimeOS)' == 'linux-musl'">linux-musl</_portableOS> + <_portableOS Condition="$([MSBuild]::IsOSPlatform('OSX'))">osx</_portableOS> + <_portableOS Condition="'$(_runtimeOSFamily)' == 'win' or '$(_runtimeOS)' == 'win' or '$(TargetOS)' == 'windows'">win</_portableOS> + <_portableOS Condition="'$(_runtimeOSFamily)' == 'FreeBSD'">freebsd</_portableOS> + <_portableOS Condition="'$(_runtimeOSFamily)' == 'illumos'">illumos</_portableOS> + <_portableOS Condition="'$(_runtimeOSFamily)' == 'Solaris'">solaris</_portableOS> + <_portableOS Condition="'$(_runtimeOS)' == 'Browser'">browser</_portableOS> + <_portableOS Condition="'$(_runtimeOS)' == 'ios'">ios</_portableOS> + <_portableOS Condition="'$(_runtimeOS)' == 'tvos'">tvos</_portableOS> + <_portableOS Condition="'$(_runtimeOS)' == 'android'">android</_portableOS> + + <_runtimeOS Condition="$(_runtimeOS.StartsWith('tizen'))">linux</_runtimeOS> + <_runtimeOS Condition="'$(PortableBuild)' == 'true'">$(_portableOS)</_runtimeOS> + + <!-- support cross-targeting by choosing a RID to restore when running on a different machine that what we're build for --> + <_portableOS Condition="'$(TargetOS)' == 'Unix' and '$(_runtimeOSFamily)' != 'osx' and '$(_runtimeOSFamily)' != 'FreeBSD' and '$(_runtimeOS)' != 'linux-musl' and '$(_runtimeOSFamily)' != 'illumos' and '$(_runtimeOSFamily)' != 'Solaris'">linux</_portableOS> + </PropertyGroup> + + <PropertyGroup Label="CalculateRID"> + <_toolRuntimeRID Condition="'$(BuildingInsideVisualStudio)' == 'true'">$(_runtimeOS)-x64</_toolRuntimeRID> + <_toolRuntimeRID Condition="'$(_toolRuntimeRID)' == ''">$(_runtimeOS)-$(_hostArch)</_toolRuntimeRID> + <!-- We build linux-musl-arm on a ubuntu container, so we can't use the toolset build for alpine runtime. We need to use portable linux RID for our toolset in order to be able to use it. --> + <_toolRuntimeRID Condition="'$(_runtimeOS)' == 'linux-musl' and $(TargetArchitecture.StartsWith('arm')) and !$(_hostArch.StartsWith('arm'))">linux-x64</_toolRuntimeRID> + + <!-- There are no WebAssembly tools, so use the default ones --> + <_toolRuntimeRID Condition="'$(_runtimeOS)' == 'browser'">linux-x64</_toolRuntimeRID> + <_toolRuntimeRID Condition="'$(_runtimeOS)' == 'browser' and $([MSBuild]::IsOSPlatform('WINDOWS'))">win-x64</_toolRuntimeRID> + <_toolRuntimeRID Condition="'$(_runtimeOS)' == 'browser' and $([MSBuild]::IsOSPlatform('OSX'))">osx-x64</_toolRuntimeRID> + + <!-- There are no Android tools, so use the default ones --> + <_toolRuntimeRID Condition="'$(_runtimeOS)' == 'android'">linux-x64</_toolRuntimeRID> + <_toolRuntimeRID Condition="'$(_runtimeOS)' == 'android' and $([MSBuild]::IsOSPlatform('WINDOWS'))">win-x64</_toolRuntimeRID> + <_toolRuntimeRID Condition="'$(_runtimeOS)' == 'android' and $([MSBuild]::IsOSPlatform('OSX'))">osx-x64</_toolRuntimeRID> + + <!-- There are no iOS or tvOS tools and it can be built on OSX only, so use that --> + <_toolRuntimeRID Condition="'$(_runtimeOS)' == 'ios' or '$(_runtimeOS)' == 'tvos'">osx-x64</_toolRuntimeRID> + + <MicrosoftNetCoreIlasmPackageRuntimeId>$(_toolRuntimeRID)</MicrosoftNetCoreIlasmPackageRuntimeId> + + <_packageRID Condition="'$(PortableBuild)' == 'true'">$(_portableOS)-$(TargetArchitecture)</_packageRID> + <PackageRID Condition="'$(PackageRID)' == ''">$(_packageRID)</PackageRID> + <PackageRID Condition="'$(PackageRID)' == ''">$(_runtimeOS)-$(TargetArchitecture)</PackageRID> + + <_outputRID Condition="'$(TargetOS)' == 'windows'">win-$(TargetArchitecture)</_outputRID> + <_outputRID Condition="'$(TargetOS)' == 'OSX'">osx-$(TargetArchitecture)</_outputRID> + <_outputRID Condition="'$(TargetOS)' == 'Linux'">linux-$(TargetArchitecture)</_outputRID> + <_outputRID Condition="'$(TargetOS)' == 'FreeBSD'">freebsd-$(TargetArchitecture)</_outputRID> + <_outputRID Condition="'$(TargetOS)' == 'NetBSD'">netbsd-$(TargetArchitecture)</_outputRID> + <_outputRID Condition="'$(TargetOS)' == 'illumos'">illumos-$(TargetArchitecture)</_outputRID> + <_outputRID Condition="'$(TargetOS)' == 'Solaris'">solaris-$(TargetArchitecture)</_outputRID> + <_outputRID Condition="'$(TargetOS)' == 'iOS'">ios-$(TargetArchitecture)</_outputRID> + <_outputRID Condition="'$(TargetOS)' == 'tvOS'">tvos-$(TargetArchitecture)</_outputRID> + <_outputRID Condition="'$(TargetOS)' == 'Android'">android-$(TargetArchitecture)</_outputRID> + <_outputRID Condition="'$(TargetOS)' == 'Browser'">browser-$(TargetArchitecture)</_outputRID> + + <OutputRid Condition="'$(OutputRid)' == ''">$(PackageRID)</OutputRid> + <OutputRid Condition="'$(PortableBuild)' == 'true'">$(_outputRID)</OutputRid> + </PropertyGroup> + + <PropertyGroup Label="CalculateTargetOSName" Condition="'$(SkipInferTargetOSName)' != 'true'"> + <TargetsFreeBSD Condition="'$(TargetOS)' == 'FreeBSD'">true</TargetsFreeBSD> + <Targetsillumos Condition="'$(TargetOS)' == 'illumos'">true</Targetsillumos> + <TargetsSolaris Condition="'$(TargetOS)' == 'Solaris'">true</TargetsSolaris> + <TargetsLinux Condition="'$(TargetOS)' == 'Linux' or '$(TargetOS)' == 'Android'">true</TargetsLinux> + <TargetsNetBSD Condition="'$(TargetOS)' == 'NetBSD'">true</TargetsNetBSD> + <TargetsOSX Condition="'$(TargetOS)' == 'OSX'">true</TargetsOSX> + <TargetsiOS Condition="'$(TargetOS)' == 'iOS'">true</TargetsiOS> + <TargetstvOS Condition="'$(TargetOS)' == 'tvOS'">true</TargetstvOS> + <TargetsiOSSimulator Condition="'$(TargetsiOS)' == 'true' and ('$(TargetArchitecture)' == 'x64' or '$(TargetArchitecture)' == 'x86')">true</TargetsiOSSimulator> + <TargetstvOSSimulator Condition="'$(TargetstvOS)' == 'true' and '$(TargetArchitecture)' == 'x64'">true</TargetstvOSSimulator> + <TargetsAndroid Condition="'$(TargetOS)' == 'Android'">true</TargetsAndroid> + <TargetsBrowser Condition="'$(TargetOS)' == 'Browser'">true</TargetsBrowser> + <TargetsWindows Condition="'$(TargetOS)' == 'windows'">true</TargetsWindows> + <TargetsUnix Condition="'$(TargetsFreeBSD)' == 'true' or '$(Targetsillumos)' == 'true' or '$(TargetsSolaris)' == 'true' or '$(TargetsLinux)' == 'true' or '$(TargetsNetBSD)' == 'true' or '$(TargetsOSX)' == 'true' or '$(TargetstvOS)' == 'true' or '$(TargetsiOS)' == 'true' or '$(TargetsAndroid)' == 'true'">true</TargetsUnix> + </PropertyGroup> + + <!--Feature switches --> + <PropertyGroup> + <EnableNgenOptimization Condition="'$(EnableNgenOptimization)' == '' and '$(Configuration)' == 'Release'">true</EnableNgenOptimization> + <!-- Enable NuGet static graph evaluation to optimize incremental restore --> + <RestoreUseStaticGraphEvaluation>true</RestoreUseStaticGraphEvaluation> + <!-- Turn off end of life target framework checks as we intentionally build older .NETCoreApp configurations. --> + <CheckEolTargetFramework>false</CheckEolTargetFramework> + </PropertyGroup> + + <!-- RepositoryEngineeringDir isn't set when Installer tests import this file. --> + <Import Project="$(RepositoryEngineeringDir)native\naming.props" /> + <Import Project="$(RepositoryEngineeringDir)Subsets.props" /> + <Import Project="$(RepositoryEngineeringDir)Analyzers.props" /> + + <PropertyGroup> + <CoreLibSharedDir>$([MSBuild]::NormalizeDirectory('$(LibrariesProjectRoot)', 'System.Private.CoreLib', 'src'))</CoreLibSharedDir> + <CoreLibProject Condition="'$(RuntimeFlavor)' == 'CoreCLR'">$([MSBuild]::NormalizePath('$(CoreClrProjectRoot)', 'System.Private.CoreLib', 'System.Private.CoreLib.csproj'))</CoreLibProject> + <CoreLibProject Condition="'$(RuntimeFlavor)' == 'Mono'">$([MSBuild]::NormalizePath('$(MonoProjectRoot)', 'netcore', 'System.Private.CoreLib', 'System.Private.CoreLib.csproj'))</CoreLibProject> + </PropertyGroup> + + <!-- Packaging --> <PropertyGroup> - <!-- - This name is used to create a GIT repository URL https://github.com/dotnet/$(GitHubRepositoryName) used - to find source code for debugging. It is also used to name the build output manifest for orchestrated builds. - --> <GitHubRepositoryName>runtime</GitHubRepositoryName> <RepositoryUrl>git://github.com/dotnet/runtime</RepositoryUrl> <ProjectUrl>https://github.com/dotnet/runtime</ProjectUrl> <LicenseUrl>https://github.com/dotnet/runtime/blob/master/LICENSE.TXT</LicenseUrl> <RuntimeIdGraphDefinitionFile>$([MSBuild]::NormalizePath('$(LibrariesProjectRoot)', 'pkg', 'Microsoft.NETCore.Platforms', 'runtime.json'))</RuntimeIdGraphDefinitionFile> - <LicenseFile>$(RepoRoot)LICENSE.TXT</LicenseFile> + <LicenseFile>$(MSBuildThisFileDirectory)LICENSE.TXT</LicenseFile> <PackageLicenseExpression>MIT</PackageLicenseExpression> <Copyright>$(CopyrightNetFoundation)</Copyright> - <PackageThirdPartyNoticesFile>$(RepoRoot)THIRD-PARTY-NOTICES.TXT</PackageThirdPartyNoticesFile> + <PackageThirdPartyNoticesFile>$(MSBuildThisFileDirectory)THIRD-PARTY-NOTICES.TXT</PackageThirdPartyNoticesFile> <ReleaseNotes>https://go.microsoft.com/fwlink/?LinkID=799421</ReleaseNotes> - <!-- Indicates this is not an officially supported release. Release branches should set this to false. --> <!-- Keep it in sync with PRERELEASE in eng/native/configureplatform.cmake --> <IsPrerelease>true</IsPrerelease> - <IsExperimentalAssembly>$(MSBuildProjectName.Contains('Experimental'))</IsExperimentalAssembly> - <!-- Experimental packages should not be stable --> <SuppressFinalPackageVersion Condition="'$(SuppressFinalPackageVersion)' == '' and $(IsExperimentalAssembly)">true</SuppressFinalPackageVersion> <IsShippingAssembly Condition="$(IsExperimentalAssembly)">false</IsShippingAssembly> - <!-- We don't want Private packages to be shipped to NuGet.org --> <IsShippingPackage Condition="($(MSBuildProjectName.Contains('Private')) or $(IsExperimentalAssembly)) and '$(MSBuildProjectExtension)' == '.pkgproj'">false</IsShippingPackage> - - <!-- By default the SDK produces ref assembly for 5.0 or later --> - <ProduceReferenceAssembly>false</ProduceReferenceAssembly> - <!-- Set IsPackable true for all pkgproj as Arcade unconditionally overrides the value. --> <IsPackable Condition="'$(MSBuildProjectExtension)' == '.pkgproj'">true</IsPackable> </PropertyGroup> @@ -107,19 +234,18 @@ <!-- default to allowing all language features --> <LangVersion>preview</LangVersion> <LangVersion Condition="'$(MSBuildProjectExtension)' == '.vbproj'">latest</LangVersion> + <!-- Enables Strict mode for Roslyn compiler --> + <Features>strict;nullablePublicOnly</Features> <Deterministic>true</Deterministic> <TreatWarningsAsErrors>true</TreatWarningsAsErrors> - </PropertyGroup> - - <PropertyGroup> + <!-- Always pass portable to override arcade sdk which uses embedded for local builds --> + <DebugType>portable</DebugType> + <DebugSymbols>true</DebugSymbols> <!-- Default to discarding symbols if not explicitly set --> <KeepNativeSymbols Condition="'$(KeepNativeSymbols)' == ''">false</KeepNativeSymbols> <!-- Used for launchSettings.json and runtime config files. --> <AppDesignerFolder>Properties</AppDesignerFolder> - <!-- Determine what architecture we are building on. --> - <BuildArchitecture Condition="'$(BuildArchitecture)' == ''">$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())</BuildArchitecture> + <!-- By default the SDK produces ref assembly for 5.0 or later --> + <ProduceReferenceAssembly>false</ProduceReferenceAssembly> </PropertyGroup> - - <Import Project="$(RepositoryEngineeringDir)Analyzers.props" /> - </Project> diff --git a/Directory.Build.targets b/Directory.Build.targets index e8bb87918af..764d12bb822 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -5,13 +5,11 @@ tell Microsoft.Common.targets not to import Directory.Build.targets again --> <ImportDirectoryBuildTargets>false</ImportDirectoryBuildTargets> - - <EnableNETAnalyzers Condition="'$(EnableAnalyzers)' != 'true'">false</EnableNETAnalyzers> </PropertyGroup> + <Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" /> <Import Project="$(RepositoryEngineeringDir)liveBuilds.targets" /> <Import Project="$(RepositoryEngineeringDir)python.targets" /> - <Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" Condition="'$(SkipImportArcadeSdkFromRoot)' != 'true'" /> <PropertyGroup> <!-- @@ -19,6 +17,12 @@ unconditionally in Microsoft.NETCoreSdk.BundledVersions.props. --> <NETCoreAppMaximumVersion>$(MajorVersion).$(MinorVersion)</NETCoreAppMaximumVersion> + <EnableNETAnalyzers Condition="'$(EnableAnalyzers)' != 'true'">false</EnableNETAnalyzers> + <!-- SDK sets product to assembly but we want it to be our product name --> + <Product>Microsoft%AE .NET</Product> + <!-- Use the .NET product branding version for informational version description --> + <InformationalVersion Condition="'$(InformationalVersion)' == '' and '$(VersionSuffix)' == ''">$(ProductVersion)</InformationalVersion> + <InformationalVersion Condition="'$(InformationalVersion)' == '' and '$(VersionSuffix)' != ''">$(ProductVersion)-$(VersionSuffix)</InformationalVersion> </PropertyGroup> <!-- Packaging --> diff --git a/eng/Configurations.props b/eng/Configurations.props deleted file mode 100644 index 0cad6e6db72..00000000000 --- a/eng/Configurations.props +++ /dev/null @@ -1,186 +0,0 @@ -<Project> - <!-- - This file contains properties and items which are used in both the Arcade - steps and in the repository. - --> - - <PropertyGroup> - <!-- Default to portable build if not explicitly set --> - <PortableBuild Condition="'$(PortableBuild)' == ''">true</PortableBuild> - </PropertyGroup> - - <PropertyGroup> - <LibrariesProjectRoot>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'libraries'))</LibrariesProjectRoot> - <CoreClrProjectRoot>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'coreclr'))</CoreClrProjectRoot> - <MonoProjectRoot>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono'))</MonoProjectRoot> - <InstallerProjectRoot>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'installer'))</InstallerProjectRoot> - <RepoToolsLocalDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'tools-local'))</RepoToolsLocalDir> - <RepoTasksDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'tasks'))</RepoTasksDir> - <IbcOptimizationDataDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'ibc'))</IbcOptimizationDataDir> - <XmlDocDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'docs'))</XmlDocDir> - </PropertyGroup> - - <!-- The TFMs to build and test against. --> - <PropertyGroup> - <!-- - TODO: Update to $(MajorVersion).$(MinorVersion) when all sub-repos import - Arcade at the beginning (SkipImportArcadeSdkFromRoot=false). - --> - <NetCoreAppCurrentVersion>6.0</NetCoreAppCurrentVersion> - <AspNetCoreAppCurrentVersion>5.0</AspNetCoreAppCurrentVersion> - <NetCoreAppToolCurrentVersion>5.0</NetCoreAppToolCurrentVersion> - <NetCoreAppCurrentIdentifier>.NETCoreApp</NetCoreAppCurrentIdentifier> - <NetCoreAppCurrentTargetFrameworkMoniker>$(NetCoreAppCurrentIdentifier),Version=v$(NetCoreAppCurrentVersion)</NetCoreAppCurrentTargetFrameworkMoniker> - <NetCoreAppCurrent>net$(NetCoreAppCurrentVersion)</NetCoreAppCurrent> - <AspNetCoreAppCurrent>net$(AspNetCoreAppCurrentVersion)</AspNetCoreAppCurrent> - <NetCoreAppToolCurrent>net$(NetCoreAppToolCurrentVersion)</NetCoreAppToolCurrent> - <NetCoreAppCurrentToolTargetFrameworkMoniker>$(NetCoreAppCurrentIdentifier),Version=v$(NetCoreAppToolCurrentVersion)</NetCoreAppCurrentToolTargetFrameworkMoniker> - <!-- Used by Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk. --> - <NETCoreAppFramework>$(NetCoreAppCurrent)</NETCoreAppFramework> - <SharedFrameworkName>Microsoft.NETCore.App</SharedFrameworkName> - <NetCoreAppCurrentBrandName>.NET $(NetCoreAppCurrentVersion)</NetCoreAppCurrentBrandName> - </PropertyGroup> - - <!-- Honor the generic RuntimeConfiguration property. --> - <PropertyGroup> - <RuntimeConfiguration Condition="'$(RuntimeConfiguration)' == ''">$(Configuration)</RuntimeConfiguration> - <RuntimeConfiguration Condition="'$(RuntimeConfiguration)' == '' AND ('$(Configuration)' == 'Debug' OR '$(Configuration)' == 'Release')">$(Configuration)</RuntimeConfiguration> - <RuntimeConfiguration Condition="'$(RuntimeConfiguration)' == ''">Debug</RuntimeConfiguration> - <CoreCLRConfiguration Condition="'$(CoreCLRConfiguration)' == ''">$(RuntimeConfiguration)</CoreCLRConfiguration> - <MonoConfiguration Condition="'$(MonoConfiguration)' == '' and '$(RuntimeConfiguration.ToLower())' != 'checked'">$(RuntimeConfiguration)</MonoConfiguration> - <!-- There's no checked configuration on Mono. --> - <MonoConfiguration Condition="'$(MonoConfiguration)' == '' and '$(RuntimeConfiguration.ToLower())' == 'checked'">Debug</MonoConfiguration> - <LibrariesConfiguration Condition="'$(LibrariesConfiguration)' == ''">$(Configuration)</LibrariesConfiguration> - </PropertyGroup> - - <PropertyGroup> - <TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('OSX'))">OSX</TargetOS> - <TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('FREEBSD'))">FreeBSD</TargetOS> - <TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('NETBSD'))">NetBSD</TargetOS> - <TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('ILLUMOS'))">illumos</TargetOS> - <TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('SOLARIS'))">Solaris</TargetOS> - <TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSUnixLike())">Linux</TargetOS> - <TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('WINDOWS'))">windows</TargetOS> - <CoreCLRTargetOS Condition="'$(CoreCLRTargetOS)' == ''">$(TargetOS)</CoreCLRTargetOS> - <MonoTargetOS Condition="'$(MonoTargetOS)' == ''">$(TargetOS)</MonoTargetOS> - <LibrariesTargetOS Condition="'$(LibrariesTargetOS)' == ''">$(TargetOS)</LibrariesTargetOS> - </PropertyGroup> - - <PropertyGroup> - <TargetsMobile Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'Android' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'Browser'">true</TargetsMobile> - </PropertyGroup> - - <PropertyGroup Label="CalculateOS"> - <_runtimeOS>$(RuntimeOS)</_runtimeOS> - - <_parseDistroRid>$(__DistroRid)</_parseDistroRid> - <_parseDistroRid Condition="'$(_parseDistroRid)' == '' and '$(MSBuildRuntimeType)' == 'core'">$([System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier)</_parseDistroRid> - <_parseDistroRid Condition="'$(_parseDistroRid)' == '' and '$(MSBuildRuntimeType)' != 'core'">win-$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString().ToLowerInvariant)</_parseDistroRid> - <_distroRidIndex>$(_parseDistroRid.LastIndexOfAny("-"))</_distroRidIndex> - - <_runtimeOS Condition="'$(_runtimeOS)' == ''">$(_parseDistroRid.SubString(0, $(_distroRidIndex)))</_runtimeOS> - - <!-- _runtimeOS is calculated based on the build system OS, however if building for Browser/iOS/Android we need to let - the build system to use browser/ios/android as the _runtimeOS for produced package RIDs. --> - <_runtimeOS Condition="'$(TargetsMobile)' == 'true'">$(TargetOS.ToLowerInvariant())</_runtimeOS> - - <_runtimeOSVersionIndex>$(_runtimeOS.IndexOfAny(".-0123456789"))</_runtimeOSVersionIndex> - <_runtimeOSFamily Condition="'$(_runtimeOSVersionIndex)' != '-1'">$(_runtimeOS.SubString(0, $(_runtimeOSVersionIndex)))</_runtimeOSFamily> - - <_portableOS>linux</_portableOS> - <_portableOS Condition="'$(_runtimeOS)' == 'linux-musl'">linux-musl</_portableOS> - <_portableOS Condition="$([MSBuild]::IsOSPlatform('OSX'))">osx</_portableOS> - <_portableOS Condition="'$(_runtimeOSFamily)' == 'win' or '$(_runtimeOS)' == 'win' or '$(TargetOS)' == 'windows'">win</_portableOS> - <_portableOS Condition="'$(_runtimeOSFamily)' == 'FreeBSD'">freebsd</_portableOS> - <_portableOS Condition="'$(_runtimeOSFamily)' == 'illumos'">illumos</_portableOS> - <_portableOS Condition="'$(_runtimeOSFamily)' == 'Solaris'">solaris</_portableOS> - <_portableOS Condition="'$(_runtimeOS)' == 'Browser'">browser</_portableOS> - <_portableOS Condition="'$(_runtimeOS)' == 'ios'">ios</_portableOS> - <_portableOS Condition="'$(_runtimeOS)' == 'tvos'">tvos</_portableOS> - <_portableOS Condition="'$(_runtimeOS)' == 'android'">android</_portableOS> - - <_runtimeOS Condition="$(_runtimeOS.StartsWith('tizen'))">linux</_runtimeOS> - <_runtimeOS Condition="'$(PortableBuild)' == 'true'">$(_portableOS)</_runtimeOS> - - <!-- support cross-targeting by choosing a RID to restore when running on a different machine that what we're build for --> - <_portableOS Condition="'$(TargetOS)' == 'Unix' and '$(_runtimeOSFamily)' != 'osx' and '$(_runtimeOSFamily)' != 'FreeBSD' and '$(_runtimeOS)' != 'linux-musl' and '$(_runtimeOSFamily)' != 'illumos' and '$(_runtimeOSFamily)' != 'Solaris'">linux</_portableOS> - </PropertyGroup> - - <PropertyGroup Label="CalculateArch"> - <_hostArch>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant)</_hostArch> - <TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(_hostArch)' == 'arm'">arm</TargetArchitecture> - <TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(_hostArch)' == 'arm64'">arm64</TargetArchitecture> - <TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(TargetOS)' == 'Browser'">wasm</TargetArchitecture> - <TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(TargetsMobile)' == 'true'">x64</TargetArchitecture> - <TargetArchitecture Condition="'$(TargetArchitecture)' == ''">x64</TargetArchitecture> - </PropertyGroup> - - <PropertyGroup Label="CalculateRID"> - <_toolRuntimeRID Condition="'$(BuildingInsideVisualStudio)' == 'true'">$(_runtimeOS)-x64</_toolRuntimeRID> - <_toolRuntimeRID Condition="'$(_toolRuntimeRID)' == ''">$(_runtimeOS)-$(_hostArch)</_toolRuntimeRID> - <!-- We build linux-musl-arm on a ubuntu container, so we can't use the toolset build for alpine runtime. We need to use portable linux RID for our toolset in order to be able to use it. --> - <_toolRuntimeRID Condition="'$(_runtimeOS)' == 'linux-musl' and $(TargetArchitecture.StartsWith('arm')) and !$(_hostArch.StartsWith('arm'))">linux-x64</_toolRuntimeRID> - - <!-- There are no WebAssembly tools, so use the default ones --> - <_toolRuntimeRID Condition="'$(_runtimeOS)' == 'browser'">linux-x64</_toolRuntimeRID> - <_toolRuntimeRID Condition="'$(_runtimeOS)' == 'browser' and $([MSBuild]::IsOSPlatform('WINDOWS'))">win-x64</_toolRuntimeRID> - <_toolRuntimeRID Condition="'$(_runtimeOS)' == 'browser' and $([MSBuild]::IsOSPlatform('OSX'))">osx-x64</_toolRuntimeRID> - - <!-- There are no Android tools, so use the default ones --> - <_toolRuntimeRID Condition="'$(_runtimeOS)' == 'android'">linux-x64</_toolRuntimeRID> - <_toolRuntimeRID Condition="'$(_runtimeOS)' == 'android' and $([MSBuild]::IsOSPlatform('WINDOWS'))">win-x64</_toolRuntimeRID> - <_toolRuntimeRID Condition="'$(_runtimeOS)' == 'android' and $([MSBuild]::IsOSPlatform('OSX'))">osx-x64</_toolRuntimeRID> - - <!-- There are no iOS or tvOS tools and it can be built on OSX only, so use that --> - <_toolRuntimeRID Condition="'$(_runtimeOS)' == 'ios' or '$(_runtimeOS)' == 'tvos'">osx-x64</_toolRuntimeRID> - - <MicrosoftNetCoreIlasmPackageRuntimeId>$(_toolRuntimeRID)</MicrosoftNetCoreIlasmPackageRuntimeId> - - <_packageRID Condition="'$(PortableBuild)' == 'true'">$(_portableOS)-$(TargetArchitecture)</_packageRID> - <PackageRID Condition="'$(PackageRID)' == ''">$(_packageRID)</PackageRID> - <PackageRID Condition="'$(PackageRID)' == ''">$(_runtimeOS)-$(TargetArchitecture)</PackageRID> - - <_outputRID Condition="'$(TargetOS)' == 'windows'">win-$(TargetArchitecture)</_outputRID> - <_outputRID Condition="'$(TargetOS)' == 'OSX'">osx-$(TargetArchitecture)</_outputRID> - <_outputRID Condition="'$(TargetOS)' == 'Linux'">linux-$(TargetArchitecture)</_outputRID> - <_outputRID Condition="'$(TargetOS)' == 'FreeBSD'">freebsd-$(TargetArchitecture)</_outputRID> - <_outputRID Condition="'$(TargetOS)' == 'NetBSD'">netbsd-$(TargetArchitecture)</_outputRID> - <_outputRID Condition="'$(TargetOS)' == 'illumos'">illumos-$(TargetArchitecture)</_outputRID> - <_outputRID Condition="'$(TargetOS)' == 'Solaris'">solaris-$(TargetArchitecture)</_outputRID> - <_outputRID Condition="'$(TargetOS)' == 'iOS'">ios-$(TargetArchitecture)</_outputRID> - <_outputRID Condition="'$(TargetOS)' == 'tvOS'">tvos-$(TargetArchitecture)</_outputRID> - <_outputRID Condition="'$(TargetOS)' == 'Android'">android-$(TargetArchitecture)</_outputRID> - <_outputRID Condition="'$(TargetOS)' == 'Browser'">browser-$(TargetArchitecture)</_outputRID> - - <OutputRid Condition="'$(OutputRid)' == ''">$(PackageRID)</OutputRid> - <OutputRid Condition="'$(PortableBuild)' == 'true'">$(_outputRID)</OutputRid> - </PropertyGroup> - - <PropertyGroup Label="CalculateTargetOSName" Condition="'$(SkipInferTargetOSName)' != 'true'"> - <TargetsFreeBSD Condition="'$(TargetOS)' == 'FreeBSD'">true</TargetsFreeBSD> - <Targetsillumos Condition="'$(TargetOS)' == 'illumos'">true</Targetsillumos> - <TargetsSolaris Condition="'$(TargetOS)' == 'Solaris'">true</TargetsSolaris> - <TargetsLinux Condition="'$(TargetOS)' == 'Linux' or '$(TargetOS)' == 'Android'">true</TargetsLinux> - <TargetsNetBSD Condition="'$(TargetOS)' == 'NetBSD'">true</TargetsNetBSD> - <TargetsOSX Condition="'$(TargetOS)' == 'OSX'">true</TargetsOSX> - <TargetsiOS Condition="'$(TargetOS)' == 'iOS'">true</TargetsiOS> - <TargetstvOS Condition="'$(TargetOS)' == 'tvOS'">true</TargetstvOS> - <TargetsiOSSimulator Condition="'$(TargetsiOS)' == 'true' and ('$(TargetArchitecture)' == 'x64' or '$(TargetArchitecture)' == 'x86')">true</TargetsiOSSimulator> - <TargetstvOSSimulator Condition="'$(TargetstvOS)' == 'true' and '$(TargetArchitecture)' == 'x64'">true</TargetstvOSSimulator> - <TargetsAndroid Condition="'$(TargetOS)' == 'Android'">true</TargetsAndroid> - <TargetsBrowser Condition="'$(TargetOS)' == 'Browser'">true</TargetsBrowser> - <TargetsWindows Condition="'$(TargetOS)' == 'windows'">true</TargetsWindows> - <TargetsUnix Condition="'$(TargetsFreeBSD)' == 'true' or '$(Targetsillumos)' == 'true' or '$(TargetsSolaris)' == 'true' or '$(TargetsLinux)' == 'true' or '$(TargetsNetBSD)' == 'true' or '$(TargetsOSX)' == 'true' or '$(TargetstvOS)' == 'true' or '$(TargetsiOS)' == 'true' or '$(TargetsAndroid)' == 'true'">true</TargetsUnix> - </PropertyGroup> - - <!--Feature switches --> - <PropertyGroup> - <EnableNgenOptimization Condition="'$(EnableNgenOptimization)' == '' and '$(Configuration)' == 'Release'">true</EnableNgenOptimization> - <!-- Enable NuGet static graph evaluation to optimize incremental restore --> - <RestoreUseStaticGraphEvaluation>true</RestoreUseStaticGraphEvaluation> - <!-- Turn off end of life target framework checks as we intentionally build older .NETCoreApp configurations. --> - <CheckEolTargetFramework>false</CheckEolTargetFramework> - </PropertyGroup> - - <Import Project="$(MSBuildThisFileDirectory)native\naming.props" /> -</Project> diff --git a/eng/Signing.props b/eng/Signing.props index 2d29ea85ea4..a0fb8225d1b 100644 --- a/eng/Signing.props +++ b/eng/Signing.props @@ -1,10 +1,5 @@ <Project InitialTargets="SetupFilesToSign"> - <!-- If this file was pulled in via prepare-artifacts.proj (a non-SDK project, these files are already - imported. --> - <Import Project="$(RepositoryEngineeringDir)Configurations.props" Condition="'$(PrepareArtifacts)' != 'true'" /> - <Import Project="$(RepositoryEngineeringDir)liveBuilds.targets" Condition="'$(PrepareArtifacts)' != 'true'" /> - <PropertyGroup> <!-- Windows arm/arm64 jobs don't have MSIs to sign. Keep it simple: allow not finding any matches @@ -45,10 +40,10 @@ <FileExtensionSignInfo Include=".deb;.rpm" CertificateName="LinuxSign" /> </ItemGroup> <ItemGroup Condition="'$(PrepareArtifacts)' == 'true' and '$(PostBuildSign)' == 'true'"> - <ItemsToSignWithPaths Include="$(DownloadDirectory)**/*.msi" /> - <ItemsToSignWithPaths Include="$(DownloadDirectory)**/*.exe" /> - <ItemsToSignWithPaths Include="$(DownloadDirectory)**/*.nupkg" /> - <ItemsToSignWithPaths Include="$(DownloadDirectory)**/*.zip" /> + <ItemsToSignWithPaths Include="$(DownloadDirectory)**\*.msi" /> + <ItemsToSignWithPaths Include="$(DownloadDirectory)**\*.exe" /> + <ItemsToSignWithPaths Include="$(DownloadDirectory)**\*.nupkg" /> + <ItemsToSignWithPaths Include="$(DownloadDirectory)**\*.zip" /> <ItemsToSignWithoutPaths Include="@(ItemsToSignWithPaths->'%(Filename)%(Extension)')" /> <ItemsToSignPostBuild Include="@(ItemsToSignWithoutPaths->Distinct())" /> @@ -61,8 +56,8 @@ </PropertyGroup> <ItemGroup Condition="'$(SignDiagnostics)' == 'true'"> - <ItemsToSign Include="$(DiagnosticsFilesRoot)/**/mscordaccore*.dll" /> - <ItemsToSign Include="$(DiagnosticsFilesRoot)/**/mscordbi.dll" /> + <ItemsToSign Include="$(DiagnosticsFilesRoot)\**\mscordaccore*.dll" /> + <ItemsToSign Include="$(DiagnosticsFilesRoot)\**\mscordbi.dll" /> <!-- The DAC should be signed with the SHA2 cert (both long and short name). We already add the short-name DAC above, so add the long-name DAC here. diff --git a/eng/Versions.props b/eng/Versions.props index ca6dc2805ec..ef177be01be 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -18,10 +18,6 @@ <UsingToolMicrosoftNetCompilers>true</UsingToolMicrosoftNetCompilers> <UsingToolIbcOptimization>true</UsingToolIbcOptimization> <UsingToolXliff>false</UsingToolXliff> - <UsingToolNetFrameworkReferenceAssemblies>true</UsingToolNetFrameworkReferenceAssemblies> - <!-- Blob storage container that has the "Latest" channel to publish to. --> - <ContainerName>dotnet</ContainerName> - <ChecksumContainerName>$(ContainerName)</ChecksumContainerName> <!-- The NETStandard.Library targeting pack uses this patch version, which does not match the runtime's. After publishing a new version of the NETStandard targeting pack in a servicing @@ -124,8 +120,13 @@ <!-- Not auto-updated. --> <MicrosoftDiaSymReaderNativeVersion>1.7.0</MicrosoftDiaSymReaderNativeVersion> <SystemCommandLineVersion>2.0.0-beta1.20253.1</SystemCommandLineVersion> + <CommandLineParserVersion>2.2.0</CommandLineParserVersion> <NETStandardLibraryRefVersion>2.1.0</NETStandardLibraryRefVersion> <NetStandardLibraryVersion>2.0.3</NetStandardLibraryVersion> + <XunitPerformanceApiPackageVersion>1.0.0-beta-build0015</XunitPerformanceApiPackageVersion> + <MicrosoftDiagnosticsTracingTraceEventPackageVersion>2.0.49</MicrosoftDiagnosticsTracingTraceEventPackageVersion> + <MicrosoftDiagnosticsToolsRuntimeClientVersion>1.0.4-preview6.19326.1</MicrosoftDiagnosticsToolsRuntimeClientVersion> + <MicrosoftDiagnosticsNETCoreClientVersion>0.2.61701</MicrosoftDiagnosticsNETCoreClientVersion> <!-- These are used as reference assemblies only, so they must not take a ProdCon/source-build version. Insert "RefOnly" to avoid assignment via PVP. @@ -164,26 +165,6 @@ <runtimeosx1012x64MicrosoftNETCoreRuntimeMonoLLVMSdkVersion>9.0.1-alpha.1.20621.1</runtimeosx1012x64MicrosoftNETCoreRuntimeMonoLLVMSdkVersion> <runtimeosx1012x64MicrosoftNETCoreRuntimeMonoLLVMToolsVersion>9.0.1-alpha.1.20621.1</runtimeosx1012x64MicrosoftNETCoreRuntimeMonoLLVMToolsVersion> </PropertyGroup> - <!-- Package names --> - <PropertyGroup> - <WindowsCoreFxOptimizationDataPackage>optimization.windows_nt-x64.ibc.corefx</WindowsCoreFxOptimizationDataPackage> - <LinuxCoreFxOptimizationDataPackage>optimization.linux-x64.ibc.corefx</LinuxCoreFxOptimizationDataPackage> - <MicrosoftPrivateIntellisensePackage>microsoft.private.intellisense</MicrosoftPrivateIntellisensePackage> - <MicrosoftDotNetXUnitConsoleRunnerPackage>Microsoft.DotNet.XUnitConsoleRunner</MicrosoftDotNetXUnitConsoleRunnerPackage> - <MicrosoftNETCoreAppPackage>Microsoft.NETCore.App</MicrosoftNETCoreAppPackage> - <WindowsOptimizationIBCCoreCLRPackage>optimization.windows_nt-x64.IBC.CoreCLR</WindowsOptimizationIBCCoreCLRPackage> - <LinuxOptimizationIBCCoreCLRPackage>optimization.linux-x64.IBC.CoreCLR</LinuxOptimizationIBCCoreCLRPackage> - <optimizationPGOCoreCLRPackage>optimization.PGO.CoreCLR</optimizationPGOCoreCLRPackage> - <MicrosoftDotNetBuildTasksFeedPackage>Microsoft.DotNet.Build.Tasks.Feed</MicrosoftDotNetBuildTasksFeedPackage> - <MicrosoftNETCoreTargetsPackage>Microsoft.NETCore.Targets</MicrosoftNETCoreTargetsPackage> - <MicrosoftNETCoreRuntimeCoreCLRPackage>Microsoft.NETCore.Runtime.CoreCLR</MicrosoftNETCoreRuntimeCoreCLRPackage> - <MicrosoftNETCoreRuntimeICUTransportPackage>Microsoft.NETCore.Runtime.ICU.Transport</MicrosoftNETCoreRuntimeICUTransportPackage> - <!-- XmlDocFileRoot needs to be defined here since we use it in packaging.props and docs.targets. - It also uses Arcade defined property NuGetPackageRoot, this is the only codepath shared in between - packaging.props and docs.targets with arcade properties defined. - --> - <XmlDocFileRoot>$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', '$(MicrosoftPrivateIntellisensePackage)', '$(MicrosoftPrivateIntellisenseVersion)', 'IntellisenseFiles', 'net'))</XmlDocFileRoot> - </PropertyGroup> <!-- Override isolated build dependency versions with versions from Repo API. --> <Import Project="$(DotNetPackageVersionPropsPath)" Condition="'$(DotNetPackageVersionPropsPath)' != ''" /> </Project> diff --git a/eng/liveBuilds.targets b/eng/liveBuilds.targets index aeee8b277f1..96181b33cfc 100644 --- a/eng/liveBuilds.targets +++ b/eng/liveBuilds.targets @@ -9,13 +9,13 @@ <!-- Honor the RuntimeArtifactsPath property. --> <CoreCLRArtifactsPath Condition="'$(CoreCLRArtifactsPath)' == '' and '$(RuntimeArtifactsPath)' != ''">$([MSBuild]::NormalizeDirectory('$(RuntimeArtifactsPath)'))</CoreCLRArtifactsPath> <MonoArtifactsPath Condition="'$(MonoArtifactsPath)' == '' and '$(RuntimeArtifactsPath)' != ''">$([MSBuild]::NormalizeDirectory('$(RuntimeArtifactsPath)'))</MonoArtifactsPath> - <LibrariesTargetOSConfigurationArchitecture Condition="'$(LibrariesTargetOSConfigurationArchitecture)' == ''">$(LibrariesTargetOS)-$(LibrariesConfiguration)-$(TargetArchitecture)</LibrariesTargetOSConfigurationArchitecture> + <LibrariesTargetOSConfigurationArchitecture Condition="'$(LibrariesTargetOSConfigurationArchitecture)' == ''">$(TargetOS)-$(LibrariesConfiguration)-$(TargetArchitecture)</LibrariesTargetOSConfigurationArchitecture> </PropertyGroup> <!-- Set up default live asset paths if no overrides provided. --> <PropertyGroup> - <CoreCLRArtifactsPath Condition="'$(CoreCLRArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts', 'bin', 'coreclr', '$(CoreCLRTargetOS).$(TargetArchitecture).$(CoreCLRConfiguration)'))</CoreCLRArtifactsPath> - <MonoArtifactsPath Condition="'$(MonoArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts', 'bin', 'mono', '$(MonoTargetOS).$(TargetArchitecture).$(MonoConfiguration)'))</MonoArtifactsPath> + <CoreCLRArtifactsPath Condition="'$(CoreCLRArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts', 'bin', 'coreclr', '$(TargetOS).$(TargetArchitecture).$(CoreCLRConfiguration)'))</CoreCLRArtifactsPath> + <MonoArtifactsPath Condition="'$(MonoArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts', 'bin', 'mono', '$(TargetOS).$(TargetArchitecture).$(MonoConfiguration)'))</MonoArtifactsPath> <LibrariesArtifactsPath Condition="'$(LibrariesArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts'))</LibrariesArtifactsPath> <LibrariesAllConfigurationsArtifactsPath Condition="'$(LibrariesAllConfigurationsArtifactsPath)' == ''">$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts'))</LibrariesAllConfigurationsArtifactsPath> </PropertyGroup> diff --git a/eng/restore/docs.targets b/eng/restore/docs.targets index 072564d9ac7..764bc5bbefb 100644 --- a/eng/restore/docs.targets +++ b/eng/restore/docs.targets @@ -1,7 +1,7 @@ <Project> <ItemGroup> - <PackageDownload Include="$(MicrosoftPrivateIntellisensePackage)" Version="[$(MicrosoftPrivateIntellisenseVersion)]" /> + <PackageDownload Include="Microsoft.Private.Intellisense" Version="[$(MicrosoftPrivateIntellisenseVersion)]" /> </ItemGroup> <!-- the intellisense package doesn't use nuget conventions so we need to select manually --> @@ -43,4 +43,4 @@ </Target> -</Project>
\ No newline at end of file +</Project> diff --git a/eng/restore/optimizationData.targets b/eng/restore/optimizationData.targets index a8466b7cd0c..9b431aa953a 100644 --- a/eng/restore/optimizationData.targets +++ b/eng/restore/optimizationData.targets @@ -1,10 +1,10 @@ <Project> <ItemGroup> - <IBCPackage Include="$(WindowsCoreFxOptimizationDataPackage)" Version="$(optimizationwindows_ntx64IBCCoreFxVersion)" /> - <IBCPackage Include="$(LinuxCoreFxOptimizationDataPackage)" Version="$(optimizationlinuxx64IBCCoreFxVersion)" /> - <IBCPackage Include="$(WindowsOptimizationIBCCoreCLRPackage)" Version="$(optimizationwindows_ntx64IBCCoreCLRVersion)" /> - <IBCPackage Include="$(LinuxOptimizationIBCCoreCLRPackage)" Version="$(optimizationlinuxx64IBCCoreCLRVersion)" /> + <IBCPackage Include="optimization.windows_nt-x64.ibc.corefx" Version="$(optimizationwindows_ntx64IBCCoreFxVersion)" /> + <IBCPackage Include="optimization.linux-x64.ibc.corefx" Version="$(optimizationlinuxx64IBCCoreFxVersion)" /> + <IBCPackage Include="optimization.windows_nt-x64.IBC.CoreCLR" Version="$(optimizationwindows_ntx64IBCCoreCLRVersion)" /> + <IBCPackage Include="optimization.linux-x64.IBC.CoreCLR" Version="$(optimizationlinuxx64IBCCoreCLRVersion)" /> <PackageDownload Include="@(IBCPackage)" Version="[%(Version)]" /> </ItemGroup> diff --git a/eng/versioning.targets b/eng/versioning.targets index 4a14c7e0c2d..2eede86003f 100644 --- a/eng/versioning.targets +++ b/eng/versioning.targets @@ -68,13 +68,6 @@ <!-- corefx has always added a description set to assembly name so include that here --> <Description Condition="'$(Description)' == ''">$(AssemblyName)</Description> - - <!-- SDK sets product to assembly but we want it to be our product name --> - <Product>Microsoft%AE .NET</Product> - - <!-- Use the .NET product branding version for informational version description --> - <InformationalVersion>$(ProductVersion)</InformationalVersion> - <InformationalVersion Condition="'$(VersionSuffix)' != ''">$(InformationalVersion)-$(VersionSuffix)</InformationalVersion> </PropertyGroup> <Target Name="_ComputeBuildToolsAssemblyInfoAttributes" diff --git a/src/coreclr/Directory.Build.props b/src/coreclr/Directory.Build.props index 76efd96a314..0117eb8dbe3 100644 --- a/src/coreclr/Directory.Build.props +++ b/src/coreclr/Directory.Build.props @@ -1,23 +1,25 @@ <Project> - <PropertyGroup> - <SkipImportArcadeSdkFromRoot>true</SkipImportArcadeSdkFromRoot> + <InferPlatformFromTargetArchitecture>true</InferPlatformFromTargetArchitecture> + + <!-- TODO: Clean-up casing and remove __BuildType to remove this block. --> + <Configuration Condition="'$(Configuration)' == ''">$(__BuildType)</Configuration> + <Configuration Condition="'$(Configuration)' == 'debug'">Debug</Configuration> + <Configuration Condition="'$(Configuration)' == 'release'">Release</Configuration> + <Configuration Condition="'$(Configuration)' == 'checked'">Checked</Configuration> </PropertyGroup> - <Import Project="..\..\Directory.Build.props" /> - <!-- Ensure our properties are set before Arcade defines defaults --> - <Import Project="dir.common.props" /> - <Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" /> + <Import Project="..\..\Directory.Build.props" /> <PropertyGroup> - <SignAssembly Condition="'$(UsingMicrosoftNETSdk)'!='true'">false</SignAssembly> - </PropertyGroup> + <BaseIntermediateOutputPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'coreclr', '$(MSBuildProjectName)'))</BaseIntermediateOutputPath> + <IntermediateOutputPath Condition="'$(PlatformName)' == 'AnyCPU'">$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath> + <IntermediateOutputPath Condition="'$(PlatformName)' != 'AnyCPU'">$(BaseIntermediateOutputPath)$(PlatformName)\$(Configuration)\</IntermediateOutputPath> + <ProjectDir>$(MSBuildThisFileDirectory)</ProjectDir> + <RuntimeBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'coreclr', '$(TargetOS).$(TargetArchitecture).$(Configuration)'))</RuntimeBinDir> - <PropertyGroup> + <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> + <SignAssembly Condition="'$(UsingMicrosoftNETSdk)' != 'true'">false</SignAssembly> <CL_MPCount>$(NumberOfCores)</CL_MPCount> </PropertyGroup> - <PropertyGroup> - <!-- Enables Strict mode for Roslyn compiler --> - <Features>strict;nullablePublicOnly</Features> - </PropertyGroup> </Project> diff --git a/src/coreclr/Directory.Build.targets b/src/coreclr/Directory.Build.targets index 09081a3d612..6d5b00ba7c4 100644 --- a/src/coreclr/Directory.Build.targets +++ b/src/coreclr/Directory.Build.targets @@ -1,18 +1,6 @@ -<?xml version="1.0" encoding="utf-8"?> <Project> <Import Project="..\..\Directory.Build.targets" /> - <Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" /> - - <PropertyGroup> - <!-- SDK sets product to assembly but we want it to be our product name --> - <Product>Microsoft%AE .NET</Product> - - <!-- Use the .NET product branding version for informational version description --> - <InformationalVersion>$(ProductVersion)</InformationalVersion> - <InformationalVersion Condition="'$(VersionSuffix)' != ''">$(InformationalVersion)-$(VersionSuffix)</InformationalVersion> - </PropertyGroup> - <ItemGroup> <BuiltBinary Include="$(TargetPath)" /> </ItemGroup> diff --git a/src/coreclr/System.Private.CoreLib/System.Private.CoreLib.csproj b/src/coreclr/System.Private.CoreLib/System.Private.CoreLib.csproj index 06390a99641..a2a5b776f4c 100644 --- a/src/coreclr/System.Private.CoreLib/System.Private.CoreLib.csproj +++ b/src/coreclr/System.Private.CoreLib/System.Private.CoreLib.csproj @@ -8,10 +8,6 @@ <EnsureRuntimePackageDependencies>false</EnsureRuntimePackageDependencies> <TargetFramework>$(NetCoreAppCurrent)</TargetFramework> - <!-- Ensure a portable PDB is emitted for the project. A PDB is needed for crossgen. --> - <DebugType>Portable</DebugType> - <DebugSymbols>true</DebugSymbols> - <!-- Force System.Private.CoreLib.dll into a special IL output directory --> <OutputPath>$(RuntimeBinDir)/IL/</OutputPath> <Configurations>Debug;Release;Checked</Configurations> @@ -42,6 +38,8 @@ <!-- These prevent the default MsBuild targets from referencing System.dll and mscorlib.dll --> <ExcludeMscorlibFacade>true</ExcludeMscorlibFacade> <RuntimeMetadataVersion>v4.0.30319</RuntimeMetadataVersion> + <!-- Override InformationalVersion during servicing as it's returned via public api. --> + <InformationalVersion Condition="'$(PreReleaseVersionLabel)' == 'servicing'">$(ProductVersion)</InformationalVersion> <TreatWarningsAsErrors>true</TreatWarningsAsErrors> <NoWarn>$(NoWarn),0419,0649,CA2249,CA1830</NoWarn> <Nullable>enable</Nullable> @@ -91,7 +89,6 @@ <!-- Signing --> <PropertyGroup> - <SignAssembly>true</SignAssembly> <StrongNameKeyId>SilverlightPlatform</StrongNameKeyId> </PropertyGroup> diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj index f1e9eb80fa6..fadc1f514c8 100644 --- a/src/coreclr/crossgen-corelib.proj +++ b/src/coreclr/crossgen-corelib.proj @@ -1,8 +1,11 @@ -<Project> - <Import Project="Directory.Build.props" /> - <Import Project="Directory.Build.targets" /> - - <Target Name="Build"> +<Project Sdk="Microsoft.Build.NoTargets"> + <PropertyGroup> + <!-- NoTargets SDK needs a TFM set. So we used the latest .NETCoreApp supported one. --> + <TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework> + </PropertyGroup> + + <Target Name="InvokeCrossgen" + AfterTargets="Build"> <PropertyGroup> <!-- Default for using Crossgen2 when not set externally --> <UseCrossgen2 Condition="'$(UseCrossgen2)' == ''">false</UseCrossgen2> @@ -105,8 +108,4 @@ <Message Importance="High" Text="Crossgenning of System.Private.CoreLib succeeded. Finished at $(TIME)" /> <Message Importance="High" Text="Product binaries are available at $(BinDir)" /> </Target> - - <Target Name="Restore" /> - <Target Name="Test" /> - <Target Name="Pack" /> </Project> diff --git a/src/coreclr/dependencies.props b/src/coreclr/dependencies.props deleted file mode 100644 index 31713f8f725..00000000000 --- a/src/coreclr/dependencies.props +++ /dev/null @@ -1,44 +0,0 @@ -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - - <!-- Source of truth for dependency tooling: the commit hash of the dotnet/versions master branch as of the last auto-upgrade. --> - <PropertyGroup> - <CoreClrCurrentRef>5d3c9a7c54c1c59b764de0e2dfb6bbb4ce29476c</CoreClrCurrentRef> - </PropertyGroup> - - <!-- Tests/infrastructure dependency versions. --> - <PropertyGroup> - <XunitPerformanceApiPackageVersion>1.0.0-beta-build0015</XunitPerformanceApiPackageVersion> - <MicrosoftDiagnosticsTracingTraceEventPackageVersion>2.0.49</MicrosoftDiagnosticsTracingTraceEventPackageVersion> - <MicrosoftDiagnosticsToolsRuntimeClientVersion>1.0.4-preview6.19326.1</MicrosoftDiagnosticsToolsRuntimeClientVersion> - <MicrosoftDiagnosticsNETCoreClientVersion>0.2.61701</MicrosoftDiagnosticsNETCoreClientVersion> - <CommandLineParserVersion>2.2.0</CommandLineParserVersion> - - <!-- Scenario tests install this version of Microsoft.NetCore.App, then patch coreclr binaries via xcopy. At the moment it is - updated manually whenever breaking changes require it to move forward, but it would be nice if we could update it automatically - as we do with many of the package versions above --> - <BaselineMicrosoftNetCoreAppPackageVersion>2.1.0-preview3-26416-01</BaselineMicrosoftNetCoreAppPackageVersion> - </PropertyGroup> - - <!-- Package dependency verification/auto-upgrade configuration. --> - <PropertyGroup> - <BaseDotNetBuildInfo>build-info/dotnet/</BaseDotNetBuildInfo> - <DependencyBranch>master</DependencyBranch> - <CurrentRefXmlPath>$(MSBuildThisFileFullPath)</CurrentRefXmlPath> - </PropertyGroup> - - <ItemGroup> - <RemoteDependencyBuildInfo Include="CoreClr"> - <BuildInfoPath>$(BaseDotNetBuildInfo)coreclr/$(DependencyBranch)</BuildInfoPath> - <CurrentRef>$(CoreClrCurrentRef)</CurrentRef> - </RemoteDependencyBuildInfo> - - <DependencyBuildInfo Include="@(RemoteDependencyBuildInfo)"> - <RawVersionsBaseUrl>https://raw.githubusercontent.com/dotnet/versions</RawVersionsBaseUrl> - </DependencyBuildInfo> - </ItemGroup> - - <!-- Override isolated build dependency versions with versions from Repo API. --> - <Import Project="$(DotNetPackageVersionPropsPath)" - Condition="'$(DotNetPackageVersionPropsPath)' != ''" /> - -</Project> diff --git a/src/coreclr/dir.common.props b/src/coreclr/dir.common.props deleted file mode 100644 index ffd190f9947..00000000000 --- a/src/coreclr/dir.common.props +++ /dev/null @@ -1,56 +0,0 @@ -<Project> - - <!-- This file contains build properties that apply to product - projects and test projects. It's imported by - tests/dir.common.props, and the global dir.props. --> - - <PropertyGroup> - <CoreclrDir>$(MSBuildThisFileDirectory)</CoreclrDir> - </PropertyGroup> - - <!-- Set default Configuration and Platform --> - <PropertyGroup> - <!-- TODO: Cleanup use of __BuildArch and __BuildType in the CI scripts --> - - <TargetArchitecture Condition="'$(TargetArchitecture)' == ''">$(__BuildArch)</TargetArchitecture> - <TargetArchitecture Condition="'$(TargetArchitecture)'==''">x64</TargetArchitecture> - - <Configuration Condition="'$(Configuration)'==''">$(__BuildType)</Configuration> - <Configuration Condition="'$(Configuration)'==''">Debug</Configuration> - <Configuration Condition="'$(Configuration)' == 'debug'">Debug</Configuration> - <Configuration Condition="'$(Configuration)' == 'release'">Release</Configuration> - <Configuration Condition="'$(Configuration)' == 'checked'">Checked</Configuration> - - <Platform Condition="'$(Platform)' == ''">$(TargetArchitecture)</Platform> - - <PlatformConfigPathPart>$(TargetOS).$(TargetArchitecture).$(Configuration)</PlatformConfigPathPart> - </PropertyGroup> - - <!-- Common properties --> - <PropertyGroup> - <ProjectDir>$(MSBuildThisFileDirectory)</ProjectDir> - - <BaseIntermediateOutputPath>$(RepoRoot)artifacts\obj\coreclr\$(MSBuildProjectName)\</BaseIntermediateOutputPath> - - <SourceDir>$(ProjectDir)src\</SourceDir> - <RuntimeBinDir>$(ArtifactsDir)bin\coreclr\$(PlatformConfigPathPart)\</RuntimeBinDir> - - <!-- We don't append back slash because this path is used by nuget.exe as output directory and it - fails to write packages to it if the path contains the forward slash. - --> - <PackagesBinDir>$(RuntimeBinDir).nuget\</PackagesBinDir> - </PropertyGroup> - - <!-- Set the kind of PDB to Portable --> - <PropertyGroup> - <DebugType Condition="'$(DebugType)' == ''">Portable</DebugType> - </PropertyGroup> - - <!-- Output paths --> - <PropertyGroup> - <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> - </PropertyGroup> - - <!-- Provides properties for dependency versions and configures dependency verification/auto-upgrade. --> - <Import Project="$(MSBuildThisFileDirectory)dependencies.props" /> -</Project> diff --git a/src/coreclr/runtime.proj b/src/coreclr/runtime.proj index f92e3864633..28f3555eafe 100644 --- a/src/coreclr/runtime.proj +++ b/src/coreclr/runtime.proj @@ -1,8 +1,11 @@ -<Project> - <Import Project="Directory.Build.props" /> - <Import Project="Directory.Build.targets" /> +<Project Sdk="Microsoft.Build.NoTargets"> + <PropertyGroup> + <!-- NoTargets SDK needs a TFM set. So we used the latest .NETCoreApp supported one. --> + <TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework> + </PropertyGroup> - <Target Name="Build"> + <Target Name="BuildRuntime" + AfterTargets="Build"> <ItemGroup> <_CoreClrBuildArg Condition="'$(TargetArchitecture)' != ''" Include="-$(TargetArchitecture)" /> <_CoreClrBuildArg Include="$(CMakeArgs)" /> @@ -36,10 +39,7 @@ </PropertyGroup> <!-- Use IgnoreStandardErrorWarningFormat because Arcade sets WarnAsError and there's an existing warning in the native build. --> - <Exec Command=""$(MSBuildThisFileDirectory)$(_CoreClrBuildScript)" @(_CoreClrBuildArg->'%(Identity)',' ')" IgnoreStandardErrorWarningFormat="true" /> + <Exec Command=""$(MSBuildThisFileDirectory)$(_CoreClrBuildScript)" @(_CoreClrBuildArg->'%(Identity)',' ')" + IgnoreStandardErrorWarningFormat="true" /> </Target> - - <Target Name="Restore" /> - <Target Name="Test" /> - <Target Name="Pack" /> </Project> diff --git a/src/installer/Directory.Build.props b/src/installer/Directory.Build.props index 15472af36dc..6506d42f9bb 100644 --- a/src/installer/Directory.Build.props +++ b/src/installer/Directory.Build.props @@ -1,5 +1,4 @@ <Project> - <Import Project="..\..\Directory.Build.props" /> <!-- @@ -24,18 +23,9 @@ <!-- Platform detection --> <PropertyGroup> - <RunningOnUnix Condition="'$(OS)'!='Windows_NT'">true</RunningOnUnix> - </PropertyGroup> - - <PropertyGroup> - <TargetArchitecture Condition="'$(TargetArchitecture)' == '' AND '$(BuildArchitecture)' == 'arm64'">$(BuildArchitecture)</TargetArchitecture> - <TargetArchitecture Condition="'$(TargetArchitecture)' == ''">x64</TargetArchitecture> - <Platform Condition="'$(Platform)'==''">$(TargetArchitecture)</Platform> - </PropertyGroup> - - - <PropertyGroup> - <DebugType Condition="'$(DebugType)' == ''">Portable</DebugType> + <RunningOnUnix Condition="'$(OS)' != 'Windows_NT'">true</RunningOnUnix> + <!-- Don't set platform too early as test app paths are currently hardcoded. --> + <Platform Condition="'$(Platform)' == ''">$(TargetArchitecture)</Platform> </PropertyGroup> <PropertyGroup Condition="'$(DisableSourceLink)' == 'true'"> @@ -46,14 +36,10 @@ <!-- Set up Default symbol and optimization for Configuration --> <PropertyGroup Condition="'$(Configuration)'=='Debug'"> - <DebugSymbols Condition="'$(DebugSymbols)' == ''">true</DebugSymbols> - <Optimize Condition="'$(Optimize)' == ''">false</Optimize> <DefineConstants>$(DefineConstants),DEBUG,TRACE</DefineConstants> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)' == 'Release'"> - <DebugSymbols Condition="'$(DebugSymbols)' == ''">true</DebugSymbols> - <Optimize Condition="'$(Optimize)' == ''">true</Optimize> <DefineConstants>$(DefineConstants),TRACE</DefineConstants> </PropertyGroup> diff --git a/src/installer/managed/CommonManaged.props b/src/installer/managed/CommonManaged.props index 803db57b7c9..573218cf62d 100644 --- a/src/installer/managed/CommonManaged.props +++ b/src/installer/managed/CommonManaged.props @@ -15,7 +15,6 @@ <PropertyGroup> <!-- Historically, the key for the managed projects is the AspNetCore key Arcade carries. --> <StrongNameKeyId>MicrosoftAspNetCore</StrongNameKeyId> - <SignAssembly>true</SignAssembly> <PublicSign Condition=" '$(OS)' != 'Windows_NT' ">true</PublicSign> </PropertyGroup> </Project> diff --git a/src/installer/publish/Directory.Build.props b/src/installer/publish/Directory.Build.props index de832e52530..982caf65d4f 100644 --- a/src/installer/publish/Directory.Build.props +++ b/src/installer/publish/Directory.Build.props @@ -13,6 +13,10 @@ </PropertyGroup> <PropertyGroup> + <!-- Blob storage container that has the "Latest" channel to publish to. --> + <ContainerName>dotnet</ContainerName> + <ChecksumContainerName>$(ContainerName)</ChecksumContainerName> + <BaseUrl Condition="'$(BaseUrl)' == ''">https://dotnetcli.blob.core.windows.net/</BaseUrl> <ChecksumExtension>.sha512</ChecksumExtension> @@ -24,7 +28,7 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="$(MicrosoftDotNetBuildTasksFeedPackage)" Version="$(MicrosoftDotNetBuildTasksFeedVersion)" /> + <PackageReference Include="Microsoft.DotNet.Build.Tasks.Feed" Version="$(MicrosoftDotNetBuildTasksFeedVersion)" /> <PackageReference Include="Microsoft.DotNet.VersionTools.Tasks" Version="$(MicrosoftDotNetVersionToolsTasksVersion)" /> </ItemGroup> diff --git a/src/installer/tests/Assets/TestUtils/TestProjects.props b/src/installer/tests/Assets/TestUtils/TestProjects.props index 72150d0f0b5..969dc3cc012 100644 --- a/src/installer/tests/Assets/TestUtils/TestProjects.props +++ b/src/installer/tests/Assets/TestUtils/TestProjects.props @@ -2,23 +2,16 @@ <!-- This file is imported by the test projects from the artifacts dir or the src/tests dir. It provides basic info needed for restore and build with the vanilla SDK. - Since this file doesn't include the Arcade SDK, we need to find the root eng folder - in a different manner than using the $(RepositoryEngineeringDir) variable. --> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory),global.json))\eng\Configurations.props" /> - <PropertyGroup> + <NetCoreAppCurrent>net6.0</NetCoreAppCurrent> + <!-- Turn off end of life target framework checks as we intentionally build older .NETCoreApp configurations. --> + <CheckEolTargetFramework>false</CheckEolTargetFramework> <!-- If the test project needs an app host, use the one for the test target RID. This fixes win-x86 tests that assumed a win-x64 app host RID based on the runner SDK. --> <AppHostRuntimeIdentifier>$(TestTargetRid)</AppHostRuntimeIdentifier> - - - <!-- Default AssemblyVersion for test projects. We need to set it as it is set for all projects - in Versions.props to match our product version scheme and test projects are sensitive to assembly versions --> - <AssemblyVersion>1.0.0.0</AssemblyVersion> </PropertyGroup> - -</Project> +</Project>
\ No newline at end of file diff --git a/src/installer/tests/Assets/TestUtils/TestProjects.targets b/src/installer/tests/Assets/TestUtils/TestProjects.targets index baecdb67e01..175962ee44e 100644 --- a/src/installer/tests/Assets/TestUtils/TestProjects.targets +++ b/src/installer/tests/Assets/TestUtils/TestProjects.targets @@ -4,7 +4,7 @@ provides basic info needed for restore and build with the vanilla SDK. --> <PropertyGroup> - <NETCoreAppMaximumVersion>$(NetCoreAppCurrentVersion)</NETCoreAppMaximumVersion> + <NETCoreAppMaximumVersion>6.0</NETCoreAppMaximumVersion> </PropertyGroup> <!-- We are using to best emulate the live version. This should be removed once we start using the live bits. @@ -28,4 +28,4 @@ AppHostRuntimeIdentifiers="linux-arm;linux-arm64;linux-musl-arm64;linux-musl-x64;linux-x64;osx-x64;rhel.6-x64;tizen.4.0.0-armel;tizen.5.0.0-armel;win-arm;win-arm64;win-x64;win-x86" TargetFramework="net6.0" /> </ItemGroup> -</Project> +</Project>
\ No newline at end of file diff --git a/src/libraries/Directory.Build.props b/src/libraries/Directory.Build.props index 49def0855af..d551bed727e 100644 --- a/src/libraries/Directory.Build.props +++ b/src/libraries/Directory.Build.props @@ -1,19 +1,20 @@ <Project TreatAsLocalProperty="TargetOS"> <PropertyGroup> - <SkipImportArcadeSdkFromRoot>true</SkipImportArcadeSdkFromRoot> <SkipInferTargetOSName>true</SkipInferTargetOSName> + <DisableArcadeTestFramework>true</DisableArcadeTestFramework> + + <!-- Set OutDirName to change BaseOutputPath and BaseIntermediateOutputPath to include the ref subfolder. --> + <_sepChar>$([System.IO.Path]::DirectorySeparatorChar)</_sepChar> + <IsReferenceAssembly Condition="$(MSBuildProjectFullPath.Contains('$(_sepChar)ref$(_sepChar)'))">true</IsReferenceAssembly> + <OutDirName Condition="'$(IsReferenceAssembly)' == 'true'">$(MSBuildProjectName)$(_sepChar)ref</OutDirName> </PropertyGroup> + <Import Project="..\..\Directory.Build.props" /> <Import Project="NetCoreAppLibrary.props" /> - <PropertyGroup Condition="$(MSBuildProjectName.StartsWith('Microsoft.Extensions.'))"> - <IsAspNetCoreApp>true</IsAspNetCoreApp> - </PropertyGroup> - <PropertyGroup> <BeforeTargetFrameworkInferenceTargets>$(RepositoryEngineeringDir)BeforeTargetFrameworkInference.targets</BeforeTargetFrameworkInferenceTargets> <IsSourceProject>$([System.Text.RegularExpressions.Regex]::IsMatch($(MSBuildProjectDirectory), 'src%24'))</IsSourceProject> - <IsReferenceAssembly Condition="'$(IsReferenceAssembly)' == '' and ($(MSBuildProjectFullPath.Contains('\ref\')) or $(MSBuildProjectFullPath.Contains('/ref/')))">true</IsReferenceAssembly> <RuntimeGraph>$(LibrariesProjectRoot)OSGroups.json</RuntimeGraph> <ShouldUnsetParentConfigurationAndPlatform>false</ShouldUnsetParentConfigurationAndPlatform> <!-- Remove once is fixed: https://github.com/dotnet/roslyn/issues/42344 --> @@ -23,12 +24,11 @@ <Import Sdk="Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk" Project="Sdk.props" /> <PropertyGroup> - <!-- Initialize BuildSettings from the individual properties. --> - <Configuration Condition="'$(Configuration)' == ''">Debug</Configuration> <BuildTargetFramework Condition="'$(BuildTargetFramework)' == '' and '$(TargetFramework)' != ''">$([System.Text.RegularExpressions.Regex]::Replace('$(TargetFramework)', '(-[^;]+)', ''))</BuildTargetFramework> <!-- Build all .NET Framework configurations when net48 is passed in. This is for convenience. --> <AdditionalBuildTargetFrameworks Condition="'$(BuildTargetFramework)' == 'net48'">net45;net451;net452;net46;net461;net462;net47;net471;net472</AdditionalBuildTargetFrameworks> <AdditionalBuildTargetFrameworks Condition="'$(DotNetBuildFromSource)' == 'true' and '$(BuildAllProjects)' == 'true'">$(AdditionalBuildTargetFrameworks);netstandard2.0</AdditionalBuildTargetFrameworks> + <!-- Initialize BuildSettings from the individual properties. --> <BuildSettings>$(BuildTargetFramework)-$(TargetOS)-$(Configuration)-$(TargetArchitecture)</BuildSettings> <BuildSettings Condition="'$(BuildTargetFramework)' == ''">$(NetCoreAppCurrent)-$(TargetOS)-$(Configuration)-$(TargetArchitecture)</BuildSettings> </PropertyGroup> @@ -63,11 +63,6 @@ </PropertyGroup> <PropertyGroup> - <!-- By default make all libraries to be AnyCPU but individual projects can override it if they need to --> - <Platform>AnyCPU</Platform> - </PropertyGroup> - - <PropertyGroup> <RunApiCompatForSrc>$(IsSourceProject)</RunApiCompatForSrc> <RunMatchingRefApiCompat>$(IsSourceProject)</RunMatchingRefApiCompat> <ApiCompatEnforceOptionalRules>true</ApiCompatEnforceOptionalRules> @@ -85,39 +80,17 @@ <BinPlaceTestSharedFramework Condition="'$(BuildingNETCoreAppVertical)' == 'true'">true</BinPlaceTestSharedFramework> </PropertyGroup> - <!-- - Import the arcade sdk with these requirements. - After: - Configuration setup - - Before: - DebugType needs to be not be set to embedded at least for facades - OutputPath setup - --> - <PropertyGroup> - <DisableArcadeTestFramework>true</DisableArcadeTestFramework> - </PropertyGroup> - - <Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" /> - <!-- Import packaging props --> <Import Project="$(RepositoryEngineeringDir)packaging.props" /> <PropertyGroup> <RefRootPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'ref'))</RefRootPath> - <!-- Assembly bin directory where implementation and ref output are placed --> - <AssemblyBinDirOutputPath Condition="'$(ReferenceAssemblyOutputPath)' == ''">$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', '$(MSBuildProjectName)'))</AssemblyBinDirOutputPath> - <BaseIntermediateOutputPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', '$(MSBuildProjectName)'))</BaseIntermediateOutputPath> - <BaseIntermediateOutputPath Condition="'$(IsReferenceAssembly)' == 'true'">$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', '$(MSBuildProjectName)', 'ref'))</BaseIntermediateOutputPath> - <BaseOutputPath Condition="'$(IsReferenceAssembly)' == 'true'">$([MSBuild]::NormalizeDirectory('$(AssemblyBinDirOutputPath)', 'ref'))</BaseOutputPath> </PropertyGroup> + <Import Project="$(RepositoryEngineeringDir)referenceAssemblies.props" Condition="'$(IsReferenceAssembly)' == 'true'" /> <Import Project="$(RepositoryEngineeringDir)targetframeworksuffix.props" Condition="'$(DesignTimeBuild)' != 'true'" /> <PropertyGroup> - <!-- Always pass portable to override arcade sdk which uses embedded for local builds --> - <DebugType>portable</DebugType> - <!-- Default any assembly not specifying a key to use the Open Key --> <StrongNameKeyId>Open</StrongNameKeyId> <!-- Microsoft.Extensions projects have a separate StrongNameKeyId --> @@ -127,34 +100,14 @@ <EnableSourceLink Condition="'$(ContinuousIntegrationBuild)' != 'true' and '$(OfficialBuildId)' == ''">false</EnableSourceLink> </PropertyGroup> - <!-- Set up Default symbol and optimization for Configuration --> - <Choose> - <When Condition="'$(Configuration)' == 'Debug'"> - <PropertyGroup> - <DebugSymbols Condition="'$(DebugSymbols)' == ''">true</DebugSymbols> - <Optimize Condition="'$(Optimize)' == ''">false</Optimize> - <DefineConstants>$(DefineConstants),TRACE,DEBUG</DefineConstants> - </PropertyGroup> - </When> - <When Condition="'$(Configuration)' == 'Release'"> - <PropertyGroup> - <DebugSymbols Condition="'$(DebugSymbols)' == ''">true</DebugSymbols> - <Optimize Condition="'$(Optimize)' == ''">true</Optimize> - <DefineConstants>$(DefineConstants),TRACE</DefineConstants> - </PropertyGroup> - </When> - </Choose> - <!-- Disable some standard properties for building our projects --> <PropertyGroup> - <DisableImplicitConfigurationDefines>true</DisableImplicitConfigurationDefines> <!-- We can't generate an apphost without restoring the targeting pack. --> <UseAppHost>false</UseAppHost> </PropertyGroup> <!-- Language configuration --> <PropertyGroup> - <Features>strict;nullablePublicOnly</Features> <!-- We decided to keep this disabled by default: https://github.com/dotnet/runtime/issues/15152 --> <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow> <GenFacadesIgnoreBuildAndRevisionMismatch>true</GenFacadesIgnoreBuildAndRevisionMismatch> @@ -207,9 +160,6 @@ <CommonTestPath>$([MSBuild]::NormalizeDirectory('$(CommonPathRoot)', 'tests'))</CommonTestPath> </PropertyGroup> - <!-- Import it at the end of the props file to override the OutputPath for reference assemblies and use common directory props --> - <Import Project="$(RepositoryEngineeringDir)referenceAssemblies.props" Condition="'$(IsReferenceAssembly)' == 'true'" /> - <PropertyGroup> <DisableProjectRestore Condition="'$(MSBuildProjectExtension)' == '.pkgproj'">true</DisableProjectRestore> </PropertyGroup> diff --git a/src/libraries/Directory.Build.targets b/src/libraries/Directory.Build.targets index 1ff4f7f0bff..1a4b0210028 100644 --- a/src/libraries/Directory.Build.targets +++ b/src/libraries/Directory.Build.targets @@ -1,5 +1,14 @@ <Project InitialTargets="UpdateProjectReferencesWithAttributes"> + <PropertyGroup> + <!-- Override strong name key to default to Open for test projects, + Tests which wish to control this should set TestStrongNameKeyId. --> + <TestStrongNameKeyId Condition="'$(TestStrongNameKeyId)' == '' and $(MSBuildProjectName.StartsWith('Microsoft.Extensions.'))">MicrosoftAspNetCore</TestStrongNameKeyId> + <TestStrongNameKeyId Condition="'$(TestStrongNameKeyId)' == ''">Open</TestStrongNameKeyId> + <StrongNameKeyId Condition="'$(IsTestProject)' == 'true' or '$(IsTestSupportProject)' == 'true'">$(TestStrongNameKeyId)</StrongNameKeyId> + </PropertyGroup> + <!-- resources.targets need to be imported before the Arcade SDK. --> + <Import Project="$(RepositoryEngineeringDir)resources.targets" /> <Import Project="..\..\Directory.Build.targets" /> <PropertyGroup> @@ -30,26 +39,6 @@ ('$(IsReferenceAssembly)' == 'true' or '$(IsSourceProject)' == 'true')">true</DisableImplicitAssemblyReferences> </PropertyGroup> - <PropertyGroup> - <!-- Override strong name key to default to Open for test projects, - Tests which wish to control this should set TestStrongNameKeyId. --> - <TestStrongNameKeyId Condition="'$(TestStrongNameKeyId)' == '' and $(MSBuildProjectName.StartsWith('Microsoft.Extensions.'))">MicrosoftAspNetCore</TestStrongNameKeyId> - <TestStrongNameKeyId Condition="'$(TestStrongNameKeyId)' == ''">Open</TestStrongNameKeyId> - <StrongNameKeyId Condition="'$(IsTestProject)' == 'true' or '$(IsTestSupportProject)' == 'true'">$(TestStrongNameKeyId)</StrongNameKeyId> - </PropertyGroup> - - <Import Project="$(RepositoryEngineeringDir)resources.targets" /> - <Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" /> - - <PropertyGroup> - <ArtifactsPackagesDir>$([MSBuild]::NormalizePath('$(ArtifactsDir)', 'packages', '$(Configuration)'))</ArtifactsPackagesDir> - <ArtifactsShippingPackagesDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsPackagesDir)', 'Shipping'))</ArtifactsShippingPackagesDir> - <ArtifactsNonShippingPackagesDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsPackagesDir)', 'NonShipping'))</ArtifactsNonShippingPackagesDir> - - <PackageOutputPath Condition="'$(IsShippingPackage)' == 'true'">$(ArtifactsShippingPackagesDir)</PackageOutputPath> - <PackageOutputPath Condition="'$(IsShippingPackage)' != 'true'">$(ArtifactsNonShippingPackagesDir)</PackageOutputPath> - </PropertyGroup> - <Import Project="$(RepositoryEngineeringDir)versioning.targets" /> <!-- Libraries-specific binplacing properties --> @@ -286,5 +275,4 @@ </ItemGroup> </When> </Choose> - </Project> diff --git a/src/libraries/NetCoreAppLibrary.props b/src/libraries/NetCoreAppLibrary.props index 6bd027958ad..bbdbe325e4b 100644 --- a/src/libraries/NetCoreAppLibrary.props +++ b/src/libraries/NetCoreAppLibrary.props @@ -160,4 +160,7 @@ <NetCoreAppLibrary Include="$(NetCoreAppLibrary)" /> <NetCoreAppLibraryNoReference Include="$(NetCoreAppLibraryNoReference)" /> </ItemGroup> + <PropertyGroup> + <IsAspNetCoreApp Condition="$(MSBuildProjectName.StartsWith('Microsoft.Extensions.'))">true</IsAspNetCoreApp> + </PropertyGroup> </Project>
\ No newline at end of file diff --git a/src/libraries/System.Private.DataContractSerialization/src/System.Private.DataContractSerialization.csproj b/src/libraries/System.Private.DataContractSerialization/src/System.Private.DataContractSerialization.csproj index 0eec0d2fdb8..24b46e79bd9 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System.Private.DataContractSerialization.csproj +++ b/src/libraries/System.Private.DataContractSerialization/src/System.Private.DataContractSerialization.csproj @@ -2,7 +2,6 @@ <PropertyGroup> <NoWarn>$(NoWarn);1634;1691;649</NoWarn> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> - <DebugSymbols>true</DebugSymbols> <DefineConstants>$(DefineConstants);FEATURE_SERIALIZATION</DefineConstants> <TargetFrameworks>$(NetCoreAppCurrent)</TargetFrameworks> <!-- Too much private reflection. Do not bother with trimming --> diff --git a/src/libraries/System.Runtime.CompilerServices.Unsafe/src/System.Runtime.CompilerServices.Unsafe.ilproj b/src/libraries/System.Runtime.CompilerServices.Unsafe/src/System.Runtime.CompilerServices.Unsafe.ilproj index dbfb6fb94c1..71f1a02ea6a 100644 --- a/src/libraries/System.Runtime.CompilerServices.Unsafe/src/System.Runtime.CompilerServices.Unsafe.ilproj +++ b/src/libraries/System.Runtime.CompilerServices.Unsafe/src/System.Runtime.CompilerServices.Unsafe.ilproj @@ -22,9 +22,10 @@ <ItemGroup> <Compile Include="System.Runtime.CompilerServices.Unsafe.il" /> </ItemGroup> - <ItemGroup Condition="'$(TargetFramework)' == '$(NetCoreAppCurrent)' or - '$(TargetFramework)' == 'netcoreapp2.0'"> - <Reference Include="System.Runtime" /> + <ItemGroup> + <!-- mscorlib is passed in as an explicit reference from C# targets but not via the IL SDK. --> + <Reference Include="$(CoreAssembly)" + Condition="!$(TargetFramework.StartsWith('netstandard'))" /> </ItemGroup> <Target Name="GenerateVersionFile" diff --git a/src/libraries/shims/manual/Directory.Build.props b/src/libraries/shims/manual/Directory.Build.props index ac7cd2bb106..69066861fd3 100644 --- a/src/libraries/shims/manual/Directory.Build.props +++ b/src/libraries/shims/manual/Directory.Build.props @@ -11,8 +11,6 @@ <PropertyGroup> <IsRuntimeAssembly>true</IsRuntimeAssembly> - <BaseIntermediateOutputPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', '$(OutDirName)'))</BaseIntermediateOutputPath> - <IntermediateOutputPath>$(BaseIntermediateOutputPath)$(TargetFramework)-$(Configuration)</IntermediateOutputPath> <TargetFrameworks>$(NetCoreAppCurrent)</TargetFrameworks> </PropertyGroup> @@ -21,8 +19,7 @@ $(NetCoreAppCurrentRuntimePath)Microsoft.Win32.*.dll; $(NetCoreAppCurrentRuntimePath)netstandard.dll" Exclude="$(NetCoreAppCurrentRuntimePath)$(MSBuildProjectName).dll; - $(NetCoreAppCurrentRuntimePath)System.*.Native.dll" - /> + $(NetCoreAppCurrentRuntimePath)System.*.Native.dll" /> <ProjectReference Include="$(CoreLibProject)" /> </ItemGroup> </Project> diff --git a/src/mono/Directory.Build.props b/src/mono/Directory.Build.props index 319ae93e9f7..7d83083b935 100644 --- a/src/mono/Directory.Build.props +++ b/src/mono/Directory.Build.props @@ -1,25 +1,14 @@ <Project> <PropertyGroup> - <SkipImportArcadeSdkFromRoot>true</SkipImportArcadeSdkFromRoot> + <InferPlatformFromTargetArchitecture>true</InferPlatformFromTargetArchitecture> </PropertyGroup> - <Import Project="..\..\Directory.Build.props" /> - - <!-- Set default Platform --> - <PropertyGroup> - <HostArch>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant)</HostArch> - <TargetArchitecture Condition="'$(TargetArchitecture)' == ''">$(HostArch)</TargetArchitecture> - <Platform>$(TargetArchitecture)</Platform> - <PlatformConfigPathPart>$(TargetOS).$(Platform).$(Configuration)</PlatformConfigPathPart> - </PropertyGroup> + <Import Project="..\..\Directory.Build.props" /> - <!-- Common properties --> <PropertyGroup> - <ProjectDir>$(MSBuildThisFileDirectory)</ProjectDir> - <SourceDir>$([MSBuild]::NormalizeDirectory('$(ProjectDir)', 'src'))</SourceDir> - <RuntimeBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'mono', '$(PlatformConfigPathPart)'))</RuntimeBinDir> - <BaseIntermediateOutputPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'mono', '$(MSBuildProjectName)'))</BaseIntermediateOutputPath> + <IntermediateOutputPath Condition="'$(PlatformName)' == 'AnyCPU'">$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath> + <IntermediateOutputPath Condition="'$(PlatformName)' != 'AnyCPU'">$(BaseIntermediateOutputPath)$(PlatformName)\$(Configuration)\</IntermediateOutputPath> </PropertyGroup> <PropertyGroup> @@ -42,29 +31,14 @@ <AndroidApiVersion>21</AndroidApiVersion> </PropertyGroup> - <!-- Set the kind of PDB to Portable --> - <PropertyGroup> - <DebugType Condition="'$(DebugType)' == ''">Portable</DebugType> - </PropertyGroup> - <!-- Output paths --> <PropertyGroup> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> </PropertyGroup> - <!-- Ensure our properties are set before Arcade defines defaults --> - <Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" /> - - <PropertyGroup> - <SignAssembly Condition="'$(UsingMicrosoftNETSdk)'!='true'">false</SignAssembly> - </PropertyGroup> - - <PropertyGroup> - <!-- Enables Strict mode for Roslyn compiler --> - <Features>strict;nullablePublicOnly</Features> - </PropertyGroup> - <PropertyGroup> + <PlatformConfigPathPart>$(TargetOS).$(Platform).$(Configuration)</PlatformConfigPathPart> + <RuntimeBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'mono', '$(TargetOS).$(Platform).$(Configuration)'))</RuntimeBinDir> <MonoObjDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'mono', '$(PlatformConfigPathPart)'))</MonoObjDir> <MonoLLVMDir Condition="'$(MonoLLVMDir)' == ''">$([MSBuild]::NormalizeDirectory('$(MonoObjDir)', 'llvm'))</MonoLLVMDir> <MonoAOTLLVMDir Condition="'$(MonoAOTLLVMDir)' == ''">$([MSBuild]::NormalizeDirectory('$(MonoObjDir)', 'cross', 'llvm'))</MonoAOTLLVMDir> diff --git a/src/mono/Directory.Build.targets b/src/mono/Directory.Build.targets index 736370c38db..fb807fd715f 100644 --- a/src/mono/Directory.Build.targets +++ b/src/mono/Directory.Build.targets @@ -1,17 +1,6 @@ <Project> <Import Project="..\..\Directory.Build.targets" /> - <Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" /> - <!-- Import targets here to have TargetPath and other macros defined. Limit to CoreLib. --> <Import Condition="'$(MSBuildProjectName)' == 'System.Private.CoreLib'" Project="$(RepositoryEngineeringDir)illink.targets" /> - - <PropertyGroup> - <!-- SDK sets product to assembly but we want it to be our product name --> - <Product>Microsoft%AE .NET</Product> - - <!-- Use the .NET product branding version for informational version description --> - <InformationalVersion>$(ProductVersion)</InformationalVersion> - <InformationalVersion Condition="'$(VersionSuffix)' != ''">$(InformationalVersion)-$(VersionSuffix)</InformationalVersion> - </PropertyGroup> </Project> diff --git a/src/mono/llvm/llvm-init.proj b/src/mono/llvm/llvm-init.proj index b0cd9dc7b94..3012500d0ca 100644 --- a/src/mono/llvm/llvm-init.proj +++ b/src/mono/llvm/llvm-init.proj @@ -1,33 +1,32 @@ <Project Sdk="Microsoft.Build.NoTargets"> - <PropertyGroup> <TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework> </PropertyGroup> <PropertyGroup> - <MonoLLVMHostOS Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">linux</MonoLLVMHostOS> - <MonoLLVMHostOS Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">osx.10.12</MonoLLVMHostOS> - <MonoLLVMHostOS Condition="'$(OS)' == 'Windows_NT'">win</MonoLLVMHostOS> - <MonoLLVMSDKVersion Condition="'$(MonoLLVMHostOS)' == 'linux'">$(runtimelinuxx64MicrosoftNETCoreRuntimeMonoLLVMSdkVersion)</MonoLLVMSDKVersion> - <MonoLLVMSDKVersion Condition="'$(MonoLLVMHostOS)' == 'win'">$(runtimewinx64MicrosoftNETCoreRuntimeMonoLLVMSdkVersion)</MonoLLVMSDKVersion> - <MonoLLVMSDKVersion Condition="'$(MonoLLVMHostOS)' == 'osx.10.12'">$(runtimeosx1012x64MicrosoftNETCoreRuntimeMonoLLVMSdkVersion)</MonoLLVMSDKVersion> - <MonoLLVMToolsVersion Condition="'$(MonoLLVMHostOS)' == 'linux'">$(runtimelinuxx64MicrosoftNETCoreRuntimeMonoLLVMToolsVersion)</MonoLLVMToolsVersion> - <MonoLLVMToolsVersion Condition="'$(MonoLLVMHostOS)' == 'win'">$(runtimewinx64MicrosoftNETCoreRuntimeMonoLLVMToolsVersion)</MonoLLVMToolsVersion> - <MonoLLVMToolsVersion Condition="'$(MonoLLVMHostOS)' == 'osx.10.12'">$(runtimeosx1012x64MicrosoftNETCoreRuntimeMonoLLVMToolsVersion)</MonoLLVMToolsVersion> + <MonoLLVMHostOS Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">linux</MonoLLVMHostOS> + <MonoLLVMHostOS Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">osx.10.12</MonoLLVMHostOS> + <MonoLLVMHostOS Condition="'$(OS)' == 'Windows_NT'">win</MonoLLVMHostOS> + <MonoLLVMSDKVersion Condition="'$(MonoLLVMHostOS)' == 'linux'">$(runtimelinuxx64MicrosoftNETCoreRuntimeMonoLLVMSdkVersion)</MonoLLVMSDKVersion> + <MonoLLVMSDKVersion Condition="'$(MonoLLVMHostOS)' == 'win'">$(runtimewinx64MicrosoftNETCoreRuntimeMonoLLVMSdkVersion)</MonoLLVMSDKVersion> + <MonoLLVMSDKVersion Condition="'$(MonoLLVMHostOS)' == 'osx.10.12'">$(runtimeosx1012x64MicrosoftNETCoreRuntimeMonoLLVMSdkVersion)</MonoLLVMSDKVersion> + <MonoLLVMToolsVersion Condition="'$(MonoLLVMHostOS)' == 'linux'">$(runtimelinuxx64MicrosoftNETCoreRuntimeMonoLLVMToolsVersion)</MonoLLVMToolsVersion> + <MonoLLVMToolsVersion Condition="'$(MonoLLVMHostOS)' == 'win'">$(runtimewinx64MicrosoftNETCoreRuntimeMonoLLVMToolsVersion)</MonoLLVMToolsVersion> + <MonoLLVMToolsVersion Condition="'$(MonoLLVMHostOS)' == 'osx.10.12'">$(runtimeosx1012x64MicrosoftNETCoreRuntimeMonoLLVMToolsVersion)</MonoLLVMToolsVersion> </PropertyGroup> <!-- On Linux, we need to treat the target arch as the host arch, i.e. treat arm64 Linux as a desktop platform --> <PropertyGroup> - <MonoLLVMTargetArchitecture Condition="'$(MonoLLVMHostOS)' == 'linux' and '$(TargetArchitecture)' != 'wasm'">$(TargetArchitecture)</MonoLLVMTargetArchitecture> - <MonoLLVMTargetArchitecture Condition="'$(MonoLLVMHostOS)' != 'linux' or '$(TargetArchitecture)' == 'wasm'">$(HostArch)</MonoLLVMTargetArchitecture> + <MonoLLVMTargetArchitecture Condition="'$(MonoLLVMHostOS)' == 'linux' and '$(TargetArchitecture)' != 'wasm'">$(TargetArchitecture)</MonoLLVMTargetArchitecture> + <MonoLLVMTargetArchitecture Condition="'$(MonoLLVMHostOS)' != 'linux' or '$(TargetArchitecture)' == 'wasm'">$(BuildArchitecture)</MonoLLVMTargetArchitecture> </PropertyGroup> <ItemGroup> <PackageReference Include="runtime.$(MonoLLVMHostOS)-$(MonoLLVMTargetArchitecture).Microsoft.NETCore.Runtime.Mono.LLVM.Sdk" Version="$(MonoLLVMSDKVersion)"/> <PackageReference Include="runtime.$(MonoLLVMHostOS)-$(MonoLLVMTargetArchitecture).Microsoft.NETCore.Runtime.Mono.LLVM.Tools" Version="$(MonoLLVMToolsVersion)"/> - <PackageReference Include="runtime.$(MonoLLVMHostOS)-$(HostArch).Microsoft.NETCore.Runtime.Mono.LLVM.Sdk" Version="$(MonoLLVMSDKVersion)"/> - <PackageReference Include="runtime.$(MonoLLVMHostOS)-$(HostArch).Microsoft.NETCore.Runtime.Mono.LLVM.Tools" Version="$(MonoLLVMToolsVersion)"/> + <PackageReference Include="runtime.$(MonoLLVMHostOS)-$(BuildArchitecture).Microsoft.NETCore.Runtime.Mono.LLVM.Sdk" Version="$(MonoLLVMSDKVersion)"/> + <PackageReference Include="runtime.$(MonoLLVMHostOS)-$(BuildArchitecture).Microsoft.NETCore.Runtime.Mono.LLVM.Tools" Version="$(MonoLLVMToolsVersion)"/> </ItemGroup> <Target Name="CopyLLVMToTree" AfterTargets="Build"> @@ -36,8 +35,8 @@ <LLVMFiles Include="$(NuGetPackageRoot)\runtime.$(MonoLLVMHostOS)-$(MonoLLVMTargetArchitecture).microsoft.netcore.runtime.mono.llvm.tools\$(MonoLLVMSDKVersion)\tools\$(MonoLLVMHostOS)-$(MonoLLVMTargetArchitecture)\**" /> </ItemGroup> <ItemGroup> - <AOTLLVMFiles Include="$(NuGetPackageRoot)\runtime.$(MonoLLVMHostOS)-$(HostArch).microsoft.netcore.runtime.mono.llvm.sdk\$(MonoLLVMSDKVersion)\tools\$(MonoLLVMHostOS)-$(HostArch)\**" /> - <AOTLLVMFiles Include="$(NuGetPackageRoot)\runtime.$(MonoLLVMHostOS)-$(HostArch).microsoft.netcore.runtime.mono.llvm.tools\$(MonoLLVMSDKVersion)\tools\$(MonoLLVMHostOS)-$(HostArch)\**" /> + <AOTLLVMFiles Include="$(NuGetPackageRoot)\runtime.$(MonoLLVMHostOS)-$(BuildArchitecture).microsoft.netcore.runtime.mono.llvm.sdk\$(MonoLLVMSDKVersion)\tools\$(MonoLLVMHostOS)-$(BuildArchitecture)\**" /> + <AOTLLVMFiles Include="$(NuGetPackageRoot)\runtime.$(MonoLLVMHostOS)-$(BuildArchitecture).microsoft.netcore.runtime.mono.llvm.tools\$(MonoLLVMSDKVersion)\tools\$(MonoLLVMHostOS)-$(BuildArchitecture)\**" /> </ItemGroup> <Copy SourceFiles="@(LLVMFiles)" DestinationFolder="$(MonoLLVMDir)\%(RecursiveDir)"> @@ -48,5 +47,4 @@ <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/> </Copy> </Target> - </Project> diff --git a/src/mono/mono.proj b/src/mono/mono.proj index 2038dab8fda..8bc7108838d 100644 --- a/src/mono/mono.proj +++ b/src/mono/mono.proj @@ -47,7 +47,7 @@ </PropertyGroup> <ItemGroup Condition="'$(TargetsBrowser)' == 'true'"> - <PackageReference Include="$(MicrosoftNETCoreRuntimeICUTransportPackage)" PrivateAssets="all" Version="$(MicrosoftNETCoreRuntimeICUTransportVersion)" GeneratePathProperty="true" /> + <PackageReference Include="Microsoft.NETCore.Runtime.ICU.Transport" PrivateAssets="all" Version="$(MicrosoftNETCoreRuntimeICUTransportVersion)" GeneratePathProperty="true" /> </ItemGroup> <!-- CI specific build options --> diff --git a/src/mono/netcore/System.Private.CoreLib/System.Private.CoreLib.csproj b/src/mono/netcore/System.Private.CoreLib/System.Private.CoreLib.csproj index 72ba24d3d91..d9fc6e0a7a2 100644 --- a/src/mono/netcore/System.Private.CoreLib/System.Private.CoreLib.csproj +++ b/src/mono/netcore/System.Private.CoreLib/System.Private.CoreLib.csproj @@ -10,10 +10,6 @@ <EnsureRuntimePackageDependencies>false</EnsureRuntimePackageDependencies> <TargetFramework>$(NetCoreAppCurrent)</TargetFramework> - <!-- Ensure a portable PDB is emitted for the project. A PDB is needed for crossgen. --> - <DebugType>Portable</DebugType> - <DebugSymbols>true</DebugSymbols> - <!-- Force System.Private.CoreLib.dll into a special IL output directory --> <OutputPath>$(RuntimeBinDir)IL/</OutputPath> <Configurations>Debug;Release;Checked</Configurations> @@ -35,6 +31,8 @@ <!-- These prevent the default MsBuild targets from referencing System.dll and mscorlib.dll --> <ExcludeMscorlibFacade>true</ExcludeMscorlibFacade> <RuntimeMetadataVersion>v4.0.30319</RuntimeMetadataVersion> + <!-- Override InformationalVersion during servicing as it's returned via public api. --> + <InformationalVersion Condition="'$(PreReleaseVersionLabel)' == 'servicing'">$(ProductVersion)</InformationalVersion> <TreatWarningsAsErrors>true</TreatWarningsAsErrors> <NoWarn>$(NoWarn),0419,0649</NoWarn> <Nullable>enable</Nullable> @@ -88,7 +86,6 @@ <!-- Signing --> <PropertyGroup> - <SignAssembly>true</SignAssembly> <StrongNameKeyId>SilverlightPlatform</StrongNameKeyId> </PropertyGroup> diff --git a/src/mono/netcore/sample/iOS/Program.csproj b/src/mono/netcore/sample/iOS/Program.csproj index a300148a88a..a873f64da64 100644 --- a/src/mono/netcore/sample/iOS/Program.csproj +++ b/src/mono/netcore/sample/iOS/Program.csproj @@ -2,7 +2,6 @@ <PropertyGroup> <OutputType>Exe</OutputType> <OutputPath>bin</OutputPath> - <DebugType>Portable</DebugType> <TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework> <TargetOS>iOS</TargetOS> <MicrosoftNetCoreAppRuntimePackDir>$(ArtifactsBinDir)microsoft.netcore.app.runtime.ios-$(TargetArchitecture)\$(Configuration)\runtimes\ios-$(TargetArchitecture)\</MicrosoftNetCoreAppRuntimePackDir> diff --git a/src/mono/wasm/debugger/tests/debugger-test/debugger-test.csproj b/src/mono/wasm/debugger/tests/debugger-test/debugger-test.csproj index 5122122d948..3a2fc8fb37e 100644 --- a/src/mono/wasm/debugger/tests/debugger-test/debugger-test.csproj +++ b/src/mono/wasm/debugger/tests/debugger-test/debugger-test.csproj @@ -1,11 +1,9 @@ <Project Sdk="Microsoft.NET.Sdk" DefaultTargets="WasmBuildApp"> <PropertyGroup> <AllowUnsafeBlocks>true</AllowUnsafeBlocks> - <OutputType>Library</OutputType> <NoWarn>219</NoWarn> <TreatWarningsAsErrors>true</TreatWarningsAsErrors> <RunAnalyzers>false</RunAnalyzers> - <DebugType>portable</DebugType> </PropertyGroup> <ItemGroup> diff --git a/src/mono/wasm/debugger/tests/lazy-debugger-test/lazy-debugger-test.csproj b/src/mono/wasm/debugger/tests/lazy-debugger-test/lazy-debugger-test.csproj index 3e9cf0c1436..104e755ef8f 100644 --- a/src/mono/wasm/debugger/tests/lazy-debugger-test/lazy-debugger-test.csproj +++ b/src/mono/wasm/debugger/tests/lazy-debugger-test/lazy-debugger-test.csproj @@ -4,6 +4,5 @@ <OutputType>Library</OutputType> <NoWarn>219</NoWarn> <RunAnalyzers>false</RunAnalyzers> - <DebugType>portable</DebugType> </PropertyGroup> </Project> diff --git a/src/mono/wasm/wasm.proj b/src/mono/wasm/wasm.proj index dedeef8d609..1993f1d252f 100644 --- a/src/mono/wasm/wasm.proj +++ b/src/mono/wasm/wasm.proj @@ -22,7 +22,7 @@ </Target> <ItemGroup> - <PackageReference Include="$(MicrosoftNETCoreRuntimeICUTransportPackage)" PrivateAssets="all" Version="$(MicrosoftNETCoreRuntimeICUTransportVersion)" GeneratePathProperty="true" /> + <PackageReference Include="Microsoft.NETCore.Runtime.ICU.Transport" PrivateAssets="all" Version="$(MicrosoftNETCoreRuntimeICUTransportVersion)" GeneratePathProperty="true" /> <PackageReference Include="System.Runtime.TimeZoneData" PrivateAssets="all" Version="$(SystemRuntimeTimeZoneDataVersion)" GeneratePathProperty="true" /> </ItemGroup> diff --git a/src/tasks/WasmAppBuilder/WasmAppBuilder.csproj b/src/tasks/WasmAppBuilder/WasmAppBuilder.csproj index 1c8d831d0df..1427b291bb9 100644 --- a/src/tasks/WasmAppBuilder/WasmAppBuilder.csproj +++ b/src/tasks/WasmAppBuilder/WasmAppBuilder.csproj @@ -1,7 +1,6 @@ <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework> - <OutputType>Library</OutputType> <EnableDefaultCompileItems>false</EnableDefaultCompileItems> <Nullable>enable</Nullable> <NoWarn>$(NoWarn),CA1050</NoWarn> diff --git a/src/tasks/tasks.proj b/src/tasks/tasks.proj index 4922e0dda06..ac868c66d41 100644 --- a/src/tasks/tasks.proj +++ b/src/tasks/tasks.proj @@ -5,7 +5,7 @@ Condition="'$(TargetOS)' != 'Android'" /> <ProjectReference Remove="$(MSBuildThisFileDirectory)AppleAppBuilder\AppleAppBuilder.csproj" Condition="'$(TargetOS)' != 'iOS' and '$(TargetOS)' != 'tvOS'" /> - <ProjectReference Remove="$(MSBuildThisFileDirectoryWasmAppBuilder\WasmAppBuilder.csproj" + <ProjectReference Remove="$(MSBuildThisFileDirectory)WasmAppBuilder\WasmAppBuilder.csproj" Condition="'$(TargetOS)' != 'Browser'" /> <ProjectReference Remove="$(MSBuildThisFileDirectory)WasmBuildTasks\WasmBuildTasks.csproj" Condition="'$(TargetOS)' != 'Browser'" /> diff --git a/src/tests/Common/external/external.csproj b/src/tests/Common/external/external.csproj index e889fb69383..5b21bf541b0 100644 --- a/src/tests/Common/external/external.csproj +++ b/src/tests/Common/external/external.csproj @@ -78,7 +78,7 @@ <PackageReference Include="Newtonsoft.Json" Version="12.0.1" /> <PackageReference Include="Newtonsoft.Json.Bson" Version="1.0.2" /> <PackageReference Include="xunit" Version="$(XUnitVersion)" /> - <PackageReference Include="$(MicrosoftDotNetXUnitConsoleRunnerPackage)" Version="$(MicrosoftDotNetXUnitConsoleRunnerVersion)" GeneratePathProperty="True" /> + <PackageReference Include="Microsoft.DotNet.XUnitConsoleRunner" Version="$(MicrosoftDotNetXUnitConsoleRunnerVersion)" GeneratePathProperty="True" /> <PackageReference Include="xunit.runner.utility" Version="$(XUnitVersion)" /> </ItemGroup> @@ -89,7 +89,7 @@ <ItemGroup> <ReferenceCopyLocalPaths Include="$(PkgMicrosoft_DotNet_XunitConsoleRunner)\tools\$(XUnitRunnerTargetFramework)\*.*"> <Private>false</Private> - <NuGetPackageId>$(MicrosoftDotNetXUnitConsoleRunnerPackage)</NuGetPackageId> + <NuGetPackageId>Microsoft.DotNet.XUnitConsoleRunner</NuGetPackageId> <NuGetPackageVersion>$(MicrosoftDotNetXUnitConsoleRunnerVersion)</NuGetPackageVersion> </ReferenceCopyLocalPaths> </ItemGroup> diff --git a/src/tests/Common/helixpublishwitharcade.proj b/src/tests/Common/helixpublishwitharcade.proj index 4104f3dc4dd..82119af141d 100644 --- a/src/tests/Common/helixpublishwitharcade.proj +++ b/src/tests/Common/helixpublishwitharcade.proj @@ -180,7 +180,7 @@ <MSBuild Projects="$(RepoRoot)src\tests\Common\xunitconsolerunner.depproj" Targets="Restore" /> <ItemGroup> - <_XUnitConsoleRunnerFiles Include="$(NuGetPackageRoot)$(MicrosoftDotNetXUnitConsoleRunnerPackage)\$(MicrosoftDotNetXUnitConsoleRunnerVersion)\**\xunit.console.*" /> + <_XUnitConsoleRunnerFiles Include="$(NuGetPackageRoot)Microsoft.DotNet.XUnitConsoleRunner\$(MicrosoftDotNetXUnitConsoleRunnerVersion)\**\xunit.console.*" /> </ItemGroup> <Copy SourceFiles="@(_XUnitConsoleRunnerFiles)" DestinationFolder="$(CoreRootDirectory)\xunit" /> diff --git a/src/tests/Common/scripts/scripts.csproj b/src/tests/Common/scripts/scripts.csproj index 91a9fbba9e7..c7b9426b098 100644 --- a/src/tests/Common/scripts/scripts.csproj +++ b/src/tests/Common/scripts/scripts.csproj @@ -14,7 +14,7 @@ <PackageReference Include="Microsoft.DotNet.xunit.performance"> <Version>1.0.0-alpha-build0040</Version> </PackageReference> - <PackageReference Include="$(MicrosoftDotNetXUnitConsoleRunnerPackage)"> + <PackageReference Include="Microsoft.DotNet.XUnitConsoleRunner"> <Version>$(MicrosoftDotNetXUnitConsoleRunnerVersion)</Version> </PackageReference> <PackageReference Include="Microsoft.DotNet.BuildTools.TestSuite"> diff --git a/src/tests/Common/xunitconsolerunner.depproj b/src/tests/Common/xunitconsolerunner.depproj index 9afad38da52..73db22f392f 100644 --- a/src/tests/Common/xunitconsolerunner.depproj +++ b/src/tests/Common/xunitconsolerunner.depproj @@ -4,6 +4,6 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="$(MicrosoftDotNetXUnitConsoleRunnerPackage)" Version="$(MicrosoftDotNetXUnitConsoleRunnerVersion)" /> + <PackageReference Include="Microsoft.DotNet.XUnitConsoleRunner" Version="$(MicrosoftDotNetXUnitConsoleRunnerVersion)" /> </ItemGroup> </Project> diff --git a/src/tests/Directory.Build.props b/src/tests/Directory.Build.props index 30bf6a62966..70f887117c1 100644 --- a/src/tests/Directory.Build.props +++ b/src/tests/Directory.Build.props @@ -66,19 +66,16 @@ <!-- Setup Default symbol and optimization for Configuration --> <PropertyGroup Condition="'$(Configuration)' == 'Debug'"> - <DebugSymbols Condition="'$(DebugSymbols)' == ''">true</DebugSymbols> <Optimize Condition="'$(Optimize)' == ''">false</Optimize> <DebugType Condition="'$(DebugType)' == ''">full</DebugType> <DefineConstants>$(DefineConstants);DEBUG;TRACE;XUNIT_PERF</DefineConstants> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)' == 'Release'"> - <DebugSymbols Condition="'$(DebugSymbols)' == ''">true</DebugSymbols> <Optimize Condition="'$(Optimize)' == ''">true</Optimize> <DebugType Condition="'$(DebugType)' == ''">pdbonly</DebugType> <DefineConstants>$(DefineConstants);TRACE;XUNIT_PERF</DefineConstants> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)' == 'Checked'"> - <DebugSymbols Condition="'$(DebugSymbols)' == ''">true</DebugSymbols> <Optimize Condition="'$(Optimize)' == ''">true</Optimize> <DebugType Condition="'$(DebugType)' == ''">full</DebugType> <DefineConstants>$(DefineConstants);DEBUG;TRACE;XUNIT_PERF</DefineConstants> @@ -142,4 +139,10 @@ <TestWrapperTargetsWindows Condition=" ('$(TargetsWindows)' != '' And '$(TargetsWindows)' ) OR ('$(TargetOS)' == 'Android' And '$(TargetArchitecture)' == 'arm64' )">true</TestWrapperTargetsWindows> </PropertyGroup> + <PropertyGroup> + <!-- Scenario tests install this version of Microsoft.NetCore.App, then patch coreclr binaries via xcopy. At the moment it is + updated manually whenever breaking changes require it to move forward, but it would be nice if we could update it automatically + as we do with many of the package versions above --> + <BaselineMicrosoftNetCoreAppPackageVersion>2.1.0-preview3-26416-01</BaselineMicrosoftNetCoreAppPackageVersion> + </PropertyGroup> </Project> diff --git a/src/tests/performance/Scenario/JitBench/JitBench.csproj b/src/tests/performance/Scenario/JitBench/JitBench.csproj index 605402f6d37..edf4df2f930 100644 --- a/src/tests/performance/Scenario/JitBench/JitBench.csproj +++ b/src/tests/performance/Scenario/JitBench/JitBench.csproj @@ -32,7 +32,7 @@ </ItemGroup> <ItemGroup> - <!-- BaselineMicrosoftNetCoreAppPackageVersion comes from dependencies.props in the root of the coreclr tree --> + <!-- BaselineMicrosoftNetCoreAppPackageVersion comes from Versions.props --> <VersioningConstantsLines Include="namespace JitBench { public static class VersioningConstants { public static string MicrosoftNETCoreAppVersion="$(BaselineMicrosoftNetCoreAppPackageVersion)"%3B } }" /> <Compile Include="$(BaseIntermediateOutputPath)AutoGeneratedVersioningConstants.cs" /> </ItemGroup> diff --git a/src/tests/performance/Scenario/JitBench/unofficial_dotnet/JitBench.csproj b/src/tests/performance/Scenario/JitBench/unofficial_dotnet/JitBench.csproj index 81ad5b9512c..6beb6cfff07 100644 --- a/src/tests/performance/Scenario/JitBench/unofficial_dotnet/JitBench.csproj +++ b/src/tests/performance/Scenario/JitBench/unofficial_dotnet/JitBench.csproj @@ -39,7 +39,7 @@ </ItemGroup> <ItemGroup> - <!-- BaselineMicrosoftNetCoreAppPackageVersion comes from dependencies.props in the root of the coreclr tree --> + <!-- BaselineMicrosoftNetCoreAppPackageVersion comes from Versions.props. --> <VersioningConstantsLines Include="namespace JitBench { public static class VersioningConstants { public static string MicrosoftNETCoreAppVersion="$(BaselineMicrosoftNetCoreAppPackageVersion)"%3B } }" /> <Compile Include="$(BaseIntermediateOutputPath)AutoGeneratedVersioningConstants.cs" /> </ItemGroup> diff --git a/src/tests/run.proj b/src/tests/run.proj index c85deaa0eb5..93f290e2e48 100644 --- a/src/tests/run.proj +++ b/src/tests/run.proj @@ -117,7 +117,7 @@ $(_XunitEpilog) <ItemGroup> <PackageReference Include="xunit" Version="$(XUnitVersion)" /> - <PackageReference Include="$(MicrosoftDotNetXUnitConsoleRunnerPackage)" Version="$(MicrosoftDotNetXUnitConsoleRunnerVersion)" /> + <PackageReference Include="Microsoft.DotNet.XUnitConsoleRunner" Version="$(MicrosoftDotNetXUnitConsoleRunnerVersion)" /> </ItemGroup> <Import Sdk="Microsoft.NET.Sdk" Project="Sdk.targets" /> |