1 <Project TreatAsLocalProperty="RepoRoot">
5 For non-SDK projects that import this file and then import Microsoft.Common.props,
6 tell Microsoft.Common.props not to import Directory.Build.props again
8 <ImportDirectoryBuildProps>false</ImportDirectoryBuildProps>
12 Import the arcade sdk with these requirements.
16 DebugType needs to be not be set to embedded at least for facades
19 <Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" Condition="'$(SkipImportArcadeSdkFromRoot)' != 'true'" />
21 <!-- Set these properties early enough for libraries as they import the Arcade SDK not early enough. -->
22 <PropertyGroup Condition="'$(SkipImportArcadeSdkFromRoot)' == 'true'">
23 <RepoRoot>$([MSBuild]::EnsureTrailingSlash('$(MSBuildThisFileDirectory)'))</RepoRoot>
24 <RepositoryEngineeringDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'eng'))</RepositoryEngineeringDir>
25 <ArtifactsDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts'))</ArtifactsDir>
26 <ArtifactsBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'bin'))</ArtifactsBinDir>
29 <!-- The TFMs to build and test against. -->
31 <NETCoreAppCurrentVersion>5.0</NETCoreAppCurrentVersion>
32 <NetCoreAppCurrentTargetFrameworkMoniker>.NETCoreApp,Version=v$(NETCoreAppCurrentVersion)</NetCoreAppCurrentTargetFrameworkMoniker>
33 <NetCoreAppCurrent>netcoreapp$(NETCoreAppCurrentVersion)</NetCoreAppCurrent>
34 <NetFrameworkCurrent>net472</NetFrameworkCurrent>
38 Get ProjectToBuild and '<subset>ProjectToBuild' items. Using the items lets projects handle
39 $(Subset) automatically when creating project-to-project dependencies.
41 <Import Project="$(RepositoryEngineeringDir)Subsets.props" />
44 <!-- Installer specific, required during restore. -->
45 <InstallerTasksOutputPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'installer.tasks'))</InstallerTasksOutputPath>
46 <InstallerTasksAssemblyPath Condition="'$(MSBuildRuntimeType)' == 'Core'">$([MSBuild]::NormalizePath('$(InstallerTasksOutputPath)', 'Debug', 'netstandard2.0', 'installer.tasks.dll'))</InstallerTasksAssemblyPath>
47 <InstallerTasksAssemblyPath Condition="'$(MSBuildRuntimeType)' != 'Core'">$([MSBuild]::NormalizePath('$(InstallerTasksOutputPath)', 'Debug', 'net46', 'installer.tasks.dll'))</InstallerTasksAssemblyPath>
48 <HostMachineInfoProps>$(ArtifactsObjDir)HostMachineInfo.props</HostMachineInfoProps>
50 <DocsDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'docs'))</DocsDir>
51 <ManPagesDir>$([MSBuild]::NormalizeDirectory('$(DocsDir)', 'manpages'))</ManPagesDir>
52 <CoreLibSharedDir>$([MSBuild]::NormalizeDirectory('$(LibrariesProjectRoot)', 'System.Private.CoreLib', 'src'))</CoreLibSharedDir>
55 <!-- Packaging properties -->
58 This name is used to create a GIT repository URL https://github.com/dotnet/$(GitHubRepositoryName) used
59 to find source code for debugging. It is also used to name the build output manifest for orchestrated builds.
61 <GitHubRepositoryName>runtime</GitHubRepositoryName>
62 <RepositoryUrl>git://github.com/dotnet/runtime</RepositoryUrl>
63 <ProjectUrl>https://github.com/dotnet/runtime</ProjectUrl>
64 <LicenseUrl>https://github.com/dotnet/runtime/blob/master/LICENSE.TXT</LicenseUrl>
65 <RuntimeIdGraphDefinitionFile>$([MSBuild]::NormalizePath('$(LibrariesProjectRoot)', 'pkg', 'Microsoft.NETCore.Platforms', 'runtime.json'))</RuntimeIdGraphDefinitionFile>
66 <LicenseFile>$(RepoRoot)LICENSE.TXT</LicenseFile>
68 <!-- Indicates this is not an officially supported release. Release branches should set this to false. -->
69 <IsPrerelease>true</IsPrerelease>
71 <!-- Experimental packages should not be stable -->
72 <SuppressFinalPackageVersion Condition="'$(SuppressFinalPackageVersion)' == '' and $(MSBuildProjectName.Contains('Experimental'))">true</SuppressFinalPackageVersion>
73 <IsShippingAssembly Condition="$(MSBuildProjectName.Contains('Experimental'))">false</IsShippingAssembly>
75 <!-- We don't want Private packages to be shipped to NuGet.org -->
76 <IsShippingPackage Condition="$(MSBuildProjectName.Contains('Private')) and '$(MSBuildProjectExtension)' == '.pkgproj'">false</IsShippingPackage>
79 <!-- Language configuration -->
81 <!-- default to allowing all language features -->
82 <LangVersion>latest</LangVersion>
83 <LangVersion Condition="'$(Language)' == 'C#'">preview</LangVersion>
84 <Deterministic>true</Deterministic>
86 <!-- Resource naming bug: https://github.com/microsoft/msbuild/issues/4740 -->
87 <EmbeddedResourceUseDependentUponConvention>false</EmbeddedResourceUseDependentUponConvention>
91 <!-- Default to portable build if not explicitly set -->
92 <PortableBuild Condition="'$(PortableBuild)' == ''">true</PortableBuild>
93 <!-- Used for launchSettings.json and runtime config files. -->
94 <AppDesignerFolder>Properties</AppDesignerFolder>
95 <!-- Determine what architecture we are building on. -->
96 <BuildArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())</BuildArchitecture>
99 <Import Project="$(RepositoryEngineeringDir)Analyzers.props" />