Welcome to mirror list, hosted at ThFree Co, Russian Federation.

SourceBuild.props « eng - github.com/dotnet/runtime.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: e191178c9068fce19e21a0368a6e7a182b787a43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<Project>

  <PropertyGroup>
    <GitHubRepositoryName>runtime</GitHubRepositoryName>
  </PropertyGroup>

  <!-- Set up the dotnet/runtime source-build command. -->
  <PropertyGroup>
    <BaseInnerSourceBuildCommand>./build.sh</BaseInnerSourceBuildCommand>

    <SourceBuildPortable>true</SourceBuildPortable>
    <SourceBuildPortable Condition="'$(SourceBuildNonPortable)' == 'true'">false</SourceBuildPortable>

    <!-- If TargetRid not specified, detect RID based on portability. -->
    <TargetRid Condition="'$(TargetRid)' == '' and '$(SourceBuildNonPortable)' == 'true'">$([System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier)</TargetRid>
    <TargetRid Condition="'$(TargetRid)' == ''">$(__DistroRid)</TargetRid>

    <!-- Split e.g. 'fedora.33-x64' into 'fedora.33' and 'x64'. -->
    <_targetRidPlatformIndex>$(TargetRid.LastIndexOf('-'))</_targetRidPlatformIndex>
    <TargetRidWithoutPlatform>$(TargetRid.Substring(0, $(_targetRidPlatformIndex)))</TargetRidWithoutPlatform>
    <TargetRidPlatform>$(TargetRid.Substring($(_targetRidPlatformIndex)).TrimStart('-'))</TargetRidPlatform>

    <LogVerbosity Condition="'$(LogVerbosity)' == ''">minimal</LogVerbosity>
  </PropertyGroup>

  <Target Name="GetRuntimeSourceBuildCommandConfiguration"
          BeforeTargets="GetSourceBuildCommandConfiguration">
    <PropertyGroup>
      <InnerBuildArgs>$(InnerBuildArgs) --arch $(TargetRidPlatform)</InnerBuildArgs>
      <InnerBuildArgs>$(InnerBuildArgs) --configuration $(Configuration)</InnerBuildArgs>
      <InnerBuildArgs Condition="'$(SourceBuildNonPortable)' == 'true'">$(InnerBuildArgs) --allconfigurations</InnerBuildArgs>
      <InnerBuildArgs>$(InnerBuildArgs) --verbosity $(LogVerbosity)</InnerBuildArgs>
      <InnerBuildArgs>$(InnerBuildArgs) --nodereuse false</InnerBuildArgs>
      <InnerBuildArgs>$(InnerBuildArgs) --warnAsError false</InnerBuildArgs>
      <InnerBuildArgs>$(InnerBuildArgs) /p:PackageRid=$(TargetRid)</InnerBuildArgs>
      <InnerBuildArgs>$(InnerBuildArgs) /p:NoPgoOptimize=true</InnerBuildArgs>
      <InnerBuildArgs>$(InnerBuildArgs) /p:KeepNativeSymbols=true</InnerBuildArgs>
      <InnerBuildArgs>$(InnerBuildArgs) /p:RuntimeOS=$(TargetRidWithoutPlatform)</InnerBuildArgs>
      <InnerBuildArgs>$(InnerBuildArgs) /p:PortableBuild=$(SourceBuildPortable)</InnerBuildArgs>
      <InnerBuildArgs>$(InnerBuildArgs) /p:BuildDebPackage=false</InnerBuildArgs>
    </PropertyGroup>
  </Target>

  <Target Name="CategorizeRuntimeSupplementalArtifacts"
          BeforeTargets="GetCategorizedIntermediateNupkgContents">
    <ItemGroup>
      <!--
        Runtime artifacts are too large to fit into a single package (Azure DevOps feeds 500 mb constraint).
        Split large components into separate packages.
      -->
      <IntermediateNupkgArtifactFile Include="$(CurrentRepoSourceBuildArtifactsPackagesDir)Shipping\dotnet-runtime-*.tar.gz" Category="runtime" />

      <IntermediateNupkgArtifactFile
        Include="
          $(CurrentRepoSourceBuildArtifactsPackagesDir)Shipping\dotnet-crossgen2-*.tar.gz;
          $(CurrentRepoSourceBuildArtifactsPackagesDir)Shipping\Microsoft.NETCore.App.Crossgen2.*.nupkg"
        Category="Crossgen2Pack" />
    </ItemGroup>
  </Target>

</Project>