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

SourceBuild.props « eng - github.com/dotnet/aspnetcore.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 63ebed2d9cc432c1f1f229f1c7a64ad138374fd3 (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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<Project>

  <PropertyGroup>
    <GitHubRepositoryName>aspnetcore</GitHubRepositoryName>
    <SourceBuildManagedOnly>true</SourceBuildManagedOnly>
  </PropertyGroup>

  <Target Name="PrepareGlobalJsonForSourceBuild"
          AfterTargets="PrepareInnerSourceBuildRepoRoot"
          BeforeTargets="RunInnerSourceBuildCommand">
    <Exec
      Command="./eng/scripts/prepare-sourcebuild-globaljson.sh"
      WorkingDirectory="$(InnerSourceBuildRepoRoot)" />
  </Target>

  <!--
    Remove inner source .globalconfig file as both the inner and outer config files get loaded and cause a conflict.
    Leaving the inner will cause all conflicting settings to be ignored.
    https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/configuration-files#general-options
  -->
  <Target Name="RemoveInnerGlobalConfig"
          DependsOnTargets="PrepareInnerSourceBuildRepoRoot"
          BeforeTargets="RunInnerSourceBuildCommand">

    <Delete Files="$(InnerSourceBuildRepoRoot).globalconfig" />
  </Target>

  <!--
    Build RepoTasks - this is normally triggered via the build script but the inner ArPow source-build is run via msbuild
  -->
  <Target Name="BuildRepoTasks"
          Condition="'$(ArcadeInnerBuildFromSource)' == 'true'"
          BeforeTargets="Execute">

    <!-- If the alternative runtime location and key are present, pass those through -->
    <PropertyGroup>
      <_AdditionalRepoTaskBuildArgs />
      <_AdditionalRepoTaskBuildArgs Condition="'$(DotNetRuntimeSourceFeed)' != ''" >$(_AdditionalRepoTaskBuildArgs) --runtimesourcefeed $(DotNetRuntimeSourceFeed)</_AdditionalRepoTaskBuildArgs>
      <_AdditionalRepoTaskBuildArgs Condition="'$(DotNetRuntimeSourceFeedKey)' != ''" >$(_AdditionalRepoTaskBuildArgs) --runtimesourcefeedkey $(DotNetRuntimeSourceFeedKey)</_AdditionalRepoTaskBuildArgs>
    </PropertyGroup>

    <!-- Call the build.sh script to build the repo tasks. Set IgnoreStandardErrorWarningFormat
         to true. This avoids fatal errors, because in internal builds there are usually a few failed installation
         attempts as the install script walks through potential locations for a runtime.
         The overall build script will return a proper exit code, but we don't want to pick up the printed error messages. -->
    <Exec
      Command="./eng/build.sh --only-build-repo-tasks -bl $(_AdditionalRepoTaskBuildArgs)"
      IgnoreStandardErrorWarningFormat="true"
      WorkingDirectory="$(InnerSourceBuildRepoRoot)"
      EnvironmentVariables="@(InnerBuildEnv)" />
  </Target>

  <Target Name="CustomizeInnerBuildArgs"
          BeforeTargets="GetSourceBuildCommandConfiguration">

    <PropertyGroup>
      <InnerBuildArgs>$(InnerBuildArgs) /p:SourceBuildRuntimeIdentifier=$(TargetRuntimeIdentifier)</InnerBuildArgs>
      <InnerBuildArgs Condition="'$(SourceBuildUseMonoRuntime)' == 'true'">$(InnerBuildArgs) /p:CrossgenOutput=false</InnerBuildArgs>
    </PropertyGroup>
  </Target>

  <Target Name="GetAspnetcoreCategorizedIntermediateNupkgContents"
          BeforeTargets="GetCategorizedIntermediateNupkgContents">
    <PropertyGroup>
      <InstallersArtifactsDir>$(CurrentRepoSourceBuildArtifactsDir)\installers\$(Configuration)\</InstallersArtifactsDir>
    </PropertyGroup>

    <ItemGroup>
      <!--
        Add the internal installers artifacts required by dotnet/installer.
      -->
      <IntermediateNupkgArtifactFile Include="$(InstallersArtifactsDir)aspnetcore-runtime-*.tar.gz" />
      <IntermediateNupkgArtifactFile Include="$(InstallersArtifactsDir)aspnetcore_base_runtime.version" />
    </ItemGroup>
  </Target>

</Project>