|
7 | 7 | <Nullable>enable</Nullable> |
8 | 8 | </PropertyGroup> |
9 | 9 |
|
10 | | - <PropertyGroup Label="CalculateTargetOS"> |
11 | | - <BuildOS>linux</BuildOS> |
12 | | - <BuildOS Condition="$([MSBuild]::IsOSPlatform('OSX'))">osx</BuildOS> |
13 | | - <BuildOS Condition="$([MSBuild]::IsOSPlatform('FREEBSD'))">freebsd</BuildOS> |
14 | | - <BuildOS Condition="$([MSBuild]::IsOSPlatform('NETBSD'))">netbsd</BuildOS> |
15 | | - <BuildOS Condition="$([MSBuild]::IsOSPlatform('ILLUMOS'))">illumos</BuildOS> |
16 | | - <BuildOS Condition="$([MSBuild]::IsOSPlatform('SOLARIS'))">solaris</BuildOS> |
17 | | - <BuildOS Condition="$([MSBuild]::IsOSPlatform('HAIKU'))">haiku</BuildOS> |
18 | | - <BuildOS Condition="$([MSBuild]::IsOSPlatform('WINDOWS'))">windows</BuildOS> |
19 | | - <TargetOS Condition="'$(TargetOS)' == ''">$(BuildOS)</TargetOS> |
20 | | - <HostOS Condition="'$(HostOS)' == ''">$(TargetOS)</HostOS> |
21 | | - </PropertyGroup> |
22 | | - |
23 | | - <!-- This is a list of cases where we aren't producing a whole SDK, just a runtime. This list should be kept in sync with https://github.com/dotnet/runtime/blob/main/eng/DotNetBuild.props#L26 --> |
24 | | - <PropertyGroup Label="ShortStacks"> |
25 | | - <ShortStack Condition="'$(TargetOS)' == 'wasi'">true</ShortStack> |
26 | | - <ShortStack Condition="'$(TargetOS)' == 'browser'">true</ShortStack> |
27 | | - <ShortStack Condition="'$(TargetOS)' == 'ios'">true</ShortStack> |
28 | | - <ShortStack Condition="'$(TargetOS)' == 'iossimulator'">true</ShortStack> |
29 | | - <ShortStack Condition="'$(TargetOS)' == 'tvos'">true</ShortStack> |
30 | | - <ShortStack Condition="'$(TargetOS)' == 'tvossimulator'">true</ShortStack> |
31 | | - <ShortStack Condition="'$(TargetOS)' == 'maccatalyst'">true</ShortStack> |
32 | | - <ShortStack Condition="'$(TargetOS)' == 'android'">true</ShortStack> |
33 | | - <ShortStack Condition="'$(TargetOS)' == 'linux-bionic'">true</ShortStack> |
34 | | - <!-- Mono LLVM builds are short --> |
35 | | - <ShortStack Condition="'$(DotNetBuildMonoEnableLLVM)' == 'true' or '$(DotNetBuildMonoAOTEnableLLVM)' == 'true'">true</ShortStack> |
36 | | - <!-- Short stack builds stop at runtime, not the whole SDK --> |
37 | | - <RootRepo Condition="'$(ShortStack)' == 'true'">runtime</RootRepo> |
38 | | - </PropertyGroup> |
39 | | - |
40 | | - <!-- See https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/Unified-Build-Controls.md#output-controls for |
41 | | - control set definition. --> |
42 | | - <PropertyGroup Label="CalculateArch"> |
43 | | - <!-- Build architecture is what we are building on. --> |
44 | | - <BuildArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant)</BuildArchitecture> |
45 | | - <!-- The target architecture is the what the customer is targeting their outputs to run on. --> |
46 | | - <TargetArchitecture Condition="'$(TargetArchitecture)' == ''">$(BuildArchitecture)</TargetArchitecture> |
47 | | - <!-- The host architecture is the what the customer will build on. Much of the time, Host==Target. --> |
48 | | - <HostArchitecture Condition="'$(HostArchitecture)' == ''">$(TargetArchitecture)</HostArchitecture> |
49 | | - |
50 | | - <Platform Condition="'$(Platform)' == ''">AnyCPU</Platform> |
51 | | - </PropertyGroup> |
52 | | - |
53 | | - <PropertyGroup Label="CalculateRID"> |
54 | | - <!-- Use current machine distro RID if set. Otherwise, fall back to RuntimeInformation.RuntimeIdentifier --> |
55 | | - <BuildRid>$(__DistroRid)</BuildRid> |
56 | | - <BuildRid Condition="'$(BuildRid)' == '' and '$(MSBuildRuntimeType)' == 'core'">$([System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier)</BuildRid> |
57 | | - <BuildRid Condition="'$(BuildRid)' == '' and '$(MSBuildRuntimeType)' != 'core'">win-$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString().ToLowerInvariant)</BuildRid> |
58 | | - |
59 | | - <TargetRid Condition="'$(TargetRid)' == ''">$(BuildRid.Substring(0, $(BuildRid.LastIndexOf('-'))))-$(TargetArchitecture)</TargetRid> |
60 | | - <HostRid Condition="'$(HostRid)' == ''">$(TargetRid)</HostRid> |
61 | | - |
62 | | - <!-- Source-only builds are non portable, except for cross-builds. |
63 | | - Source-only cross-builds default to the portable configuration so the resulting SDK works on a wider range of distros. --> |
64 | | - <PortableBuild Condition="'$(PortableBuild)' == '' and '$(DotNetBuildSourceOnly)' == 'true' and '$(BuildArchitecture)' == '$(TargetArchitecture)'">false</PortableBuild> |
65 | | - <PortableBuild Condition="'$(PortableBuild)' == ''">true</PortableBuild> |
66 | | - |
67 | | - <PortableRid Condition="'$(__PortableTargetOS)' != ''">$(__PortableTargetOS)-$(TargetArchitecture)</PortableRid> |
68 | | - <PortableRid Condition="'$(PortableRid)' == '' and '$(TargetOS)' == 'freebsd'">freebsd-$(TargetArchitecture)</PortableRid> |
69 | | - <PortableRid Condition="'$(PortableRid)' == '' and '$(TargetOS)' == 'osx'">osx-$(TargetArchitecture)</PortableRid> |
70 | | - <PortableRid Condition="'$(PortableRid)' == '' and '$(TargetOS)' == 'linux'">linux-$(TargetArchitecture)</PortableRid> |
71 | | - <PortableRid Condition="$(TargetRid.StartsWith('linux-musl')) or $(TargetRid.StartsWith('alpine'))">linux-musl-$(TargetArchitecture)</PortableRid> |
72 | | - <PortableRid Condition="'$(PortableRid)' == '' and '$(TargetOS)' == 'windows'">win-$(TargetArchitecture)</PortableRid> |
73 | | - |
74 | | - <TargetRid Condition="'$(PortableBuild)' == 'true' and '$(PortableRid)' != ''">$(PortableRid)</TargetRid> |
75 | | - <TargetRid Condition="'$(ShortStack)' == 'true' and '$(TargetOS)' != 'windows'">$(TargetOS)-$(TargetArchitecture)</TargetRid> |
76 | | - <TargetRid Condition="'$(ShortStack)' == 'true' and '$(TargetOS)' == 'windows'">win-$(TargetArchitecture)</TargetRid> |
77 | | - </PropertyGroup> |
| 10 | + <Import Project="$(MSBuildThisFileDirectory)eng/RuntimeIdentifier.props" /> |
78 | 11 |
|
79 | 12 | <Import Project="Sdk.props" Sdk="Microsoft.DotNet.Arcade.Sdk" Condition="'$(SkipArcadeSdkImport)' != 'true'" /> |
80 | 13 |
|
|
138 | 71 |
|
139 | 72 | <ShellExtension Condition="'$(BuildOS)' == 'windows'">.cmd</ShellExtension> |
140 | 73 | <ShellExtension Condition="'$(BuildOS)' != 'windows'">.sh</ShellExtension> |
141 | | - |
142 | | - <!-- While the tarball infrastructure currently only supports non Windows, these properties |
143 | | - are already defined for more flexibility in the future. --> |
144 | | - <ArchiveExtension Condition="'$(BuildOS)' == 'windows'">.zip</ArchiveExtension> |
145 | | - <ArchiveExtension Condition="'$(BuildOS)' != 'windows'">.tar.gz</ArchiveExtension> |
146 | | - </PropertyGroup> |
147 | | - |
148 | | - <PropertyGroup> |
149 | | - <SrcDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src'))</SrcDir> |
150 | | - <ToolsDir>$([MSBuild]::NormalizeDirectory('$(RepositoryEngineeringDir)', 'tools'))</ToolsDir> |
151 | | - <TasksDir>$([MSBuild]::NormalizeDirectory('$(ToolsDir)', 'tasks'))</TasksDir> |
152 | | - <RepoProjectsDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'repo-projects'))</RepoProjectsDir> |
153 | | - |
154 | | - <PrereqsDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'prereqs'))</PrereqsDir> |
155 | | - <KeysDir>$([MSBuild]::NormalizeDirectory('$(PrereqsDir)', 'keys'))</KeysDir> |
156 | | - <PrereqsPackagesDir>$([MSBuild]::NormalizeDirectory('$(PrereqsDir)', 'packages'))</PrereqsPackagesDir> |
157 | | - |
158 | | - <!-- When SB mode, the initial toolsets are unzipped to the "BootstrapPackages" dir. |
159 | | - When running in non-source-build, the bootstrap package is the one restored at the beginning of the build. --> |
160 | | - <BootstrapPackagesDir Condition="'$(DotNetBuildSourceOnly)' == 'true'">$([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'BootstrapPackages'))</BootstrapPackagesDir> |
161 | | - <BootstrapPackagesDir Condition="'$(DotNetBuildSourceOnly)' != 'true'">$(NuGetPackageRoot)</BootstrapPackagesDir> |
162 | | - |
163 | | - <VSMSBuildSdkResolversDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'toolset', 'VSSdkResolvers'))</VSMSBuildSdkResolversDir> |
164 | | - <IntermediateSymbolsRootDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'Symbols'))</IntermediateSymbolsRootDir> |
165 | | - |
166 | | - <ArtifactsAssetManifestsDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'manifests', '$(Configuration)'))</ArtifactsAssetManifestsDir> |
167 | | - <AssetManifestsIntermediateDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'manifests', '$(Configuration)'))</AssetManifestsIntermediateDir> |
168 | | - <ArtifactsAssetsDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'assets', '$(Configuration)'))</ArtifactsAssetsDir> |
169 | | - |
170 | | - <DotNetSdkExtractDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsObjDir)', 'extracted-dotnet-sdk'))</DotNetSdkExtractDir> |
171 | | - |
172 | | - <PrebuiltPackagesPath>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'prebuilt'))</PrebuiltPackagesPath> |
173 | | - <PreviouslyRestoredPackagesPath>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'previouslyRestored'))</PreviouslyRestoredPackagesPath> |
174 | | - <PreviouslySourceBuiltPackagesPath>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'previously-source-built'))</PreviouslySourceBuiltPackagesPath> |
175 | | - <PreviouslySourceBuiltPackagesPath Condition="'$(CustomPreviouslySourceBuiltPackagesPath)' != ''">$([MSBuild]::EnsureTrailingSlash('$(CustomPreviouslySourceBuiltPackagesPath)'))</PreviouslySourceBuiltPackagesPath> |
176 | | - |
177 | | - <PackageReportDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'prebuilt-report'))</PackageReportDir> |
178 | | - <ResultingPrebuiltPackagesDir>$([MSBuild]::NormalizeDirectory('$(PackageReportDir)', 'prebuilt-packages'))</ResultingPrebuiltPackagesDir> |
179 | | - <SbrpRepoSrcDir>$([MSBuild]::NormalizeDirectory('$(SrcDir)', 'source-build-reference-packages', 'src'))</SbrpRepoSrcDir> |
180 | | - <ReferencePackagesDir>$([MSBuild]::NormalizeDirectory('$(PrereqsPackagesDir)', 'reference'))</ReferencePackagesDir> |
181 | | - <PreviouslySourceBuiltReferencePackagesDirName>SourceBuildReferencePackages</PreviouslySourceBuiltReferencePackagesDirName> |
182 | | - <PreviouslySourceBuiltReferencePackagesDir>$([MSBuild]::NormalizeDirectory('$(PreviouslySourceBuiltPackagesPath)', '$(PreviouslySourceBuiltReferencePackagesDirName)'))</PreviouslySourceBuiltReferencePackagesDir> |
183 | | - <SourceBuiltArtifactsTarballName>Private.SourceBuilt.Artifacts</SourceBuiltArtifactsTarballName> |
184 | | - <SourceBuiltPrebuiltsTarballName>Private.SourceBuilt.Prebuilts</SourceBuiltPrebuiltsTarballName> |
185 | | - |
186 | | - <BaselineDataFile>$(ToolsDir)prebuilt-baseline.xml</BaselineDataFile> |
187 | | - </PropertyGroup> |
188 | | - |
189 | | - <!-- Build task assembly paths --> |
190 | | - <PropertyGroup> |
191 | | - <MicrosoftDotNetUnifiedBuildTasksAssembly>$([MSBuild]::NormalizePath('$(ArtifactsBinDir)', 'Microsoft.DotNet.UnifiedBuild.Tasks', '$(Configuration)', 'Microsoft.DotNet.UnifiedBuild.Tasks.dll'))</MicrosoftDotNetUnifiedBuildTasksAssembly> |
192 | | - <MicrosoftDotNetSourceBuildTasksLeakDetectionAssembly>$([MSBuild]::NormalizePath('$(ArtifactsBinDir)', 'Microsoft.DotNet.SourceBuild.Tasks.LeakDetection', '$(Configuration)', 'Microsoft.DotNet.SourceBuild.Tasks.LeakDetection.dll'))</MicrosoftDotNetSourceBuildTasksLeakDetectionAssembly> |
193 | | - </PropertyGroup> |
194 | | - |
195 | | - <PropertyGroup Condition="'$(EnablePoison)' == 'true'"> |
196 | | - <PoisonMarkerFile>.prebuilt.xml</PoisonMarkerFile> |
197 | | - <PoisonReportDataFile>$(PackageReportDir)poison-catalog.xml</PoisonReportDataFile> |
198 | | - <PoisonedReportFile>$(PackageReportDir)poisoned.txt</PoisonedReportFile> |
199 | | - <PoisonUsageReportFile>$(PackageReportDir)poison-usage.xml</PoisonUsageReportFile> |
200 | | - </PropertyGroup> |
201 | | - |
202 | | - <PropertyGroup> |
203 | | - <!-- Respect the VerticalName property which is set to a unique identifier in CI. |
204 | | - Don't use that when building source-only to allow the build to find the previously built manifest file regardless of the vertical name. |
205 | | - Default to VerticalManifest.xml. --> |
206 | | - <MergedAssetManifestName Condition="'$(VerticalName)' != ''">$(VerticalName).xml</MergedAssetManifestName> |
207 | | - <MergedAssetManifestName Condition="'$(DotNetBuildSourceOnly)' == 'true' or '$(MergedAssetManifestName)' == ''">VerticalManifest.xml</MergedAssetManifestName> |
208 | | - <MergedAssetManifestOutputPath>$(ArtifactsAssetManifestsDir)$(MergedAssetManifestName)</MergedAssetManifestOutputPath> |
209 | 74 | </PropertyGroup> |
210 | 75 |
|
| 76 | + <Import Project="$(RepositoryEngineeringDir)VmrLayout.props" /> |
211 | 77 | </Project> |
0 commit comments