SourceBuild.props 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <Project>
  2. <PropertyGroup>
  3. <GitHubRepositoryName>aspnetcore</GitHubRepositoryName>
  4. <SourceBuildManagedOnly>true</SourceBuildManagedOnly>
  5. <CloneSubmodulesToInnerSourceBuildRepo>false</CloneSubmodulesToInnerSourceBuildRepo>
  6. </PropertyGroup>
  7. <Target Name="PrepareGlobalJsonForSourceBuild"
  8. AfterTargets="PrepareInnerSourceBuildRepoRoot"
  9. BeforeTargets="RunInnerSourceBuildCommand">
  10. <Exec
  11. Command="./eng/scripts/prepare-sourcebuild-globaljson.sh"
  12. WorkingDirectory="$(InnerSourceBuildRepoRoot)" />
  13. </Target>
  14. <!--
  15. Init submodules - temporarary workaround for https://github.com/dotnet/sourcelink/pull/653
  16. -->
  17. <Target Name="InitSubmodules"
  18. DependsOnTargets="PrepareInnerSourceBuildRepoRoot"
  19. BeforeTargets="RunInnerSourceBuildCommand">
  20. <Exec
  21. Command="git submodule update --init --recursive"
  22. WorkingDirectory="$(InnerSourceBuildRepoRoot)"
  23. EnvironmentVariables="@(InnerBuildEnv)" />
  24. </Target>
  25. <!--
  26. Remove inner source .globalconfig file as both the inner and outer config files get loaded and cause a conflict.
  27. Leaving the inner will cause all conflicting settings to be ignored.
  28. https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/configuration-files#general-options
  29. -->
  30. <Target Name="RemoveInnerGlobalConfig"
  31. DependsOnTargets="PrepareInnerSourceBuildRepoRoot"
  32. BeforeTargets="RunInnerSourceBuildCommand">
  33. <Delete Files="$(InnerSourceBuildRepoRoot).globalconfig" />
  34. </Target>
  35. <!--
  36. Build RepoTasks - this is normally triggered via the build script but the inner ArPow source-build is run via msbuild
  37. -->
  38. <Target Name="BuildRepoTasks"
  39. Condition="'$(ArcadeInnerBuildFromSource)' == 'true'"
  40. BeforeTargets="Execute">
  41. <!-- If the alternative runtime location and key are present, pass those through -->
  42. <PropertyGroup>
  43. <_AdditionalRepoTaskBuildArgs />
  44. <_AdditionalRepoTaskBuildArgs Condition="'$(DotNetRuntimeSourceFeed)' != ''" >$(_AdditionalRepoTaskBuildArgs) --runtimesourcefeed $(DotNetRuntimeSourceFeed)</_AdditionalRepoTaskBuildArgs>
  45. <_AdditionalRepoTaskBuildArgs Condition="'$(DotNetRuntimeSourceFeedKey)' != ''" >$(_AdditionalRepoTaskBuildArgs) --runtimesourcefeedkey $(DotNetRuntimeSourceFeedKey)</_AdditionalRepoTaskBuildArgs>
  46. </PropertyGroup>
  47. <!-- Call the build.sh script to build the repo tasks. Set IgnoreStandardErrorWarningFormat
  48. to true. This avoids fatal errors, because in internal builds there are usually a few failed installation
  49. attempts as the install script walks through potential locations for a runtime.
  50. The overall build script will return a proper exit code, but we don't want to pick up the printed error messages. -->
  51. <Exec
  52. Command="./eng/build.sh --only-build-repo-tasks -bl $(_AdditionalRepoTaskBuildArgs)"
  53. IgnoreStandardErrorWarningFormat="true"
  54. WorkingDirectory="$(InnerSourceBuildRepoRoot)"
  55. EnvironmentVariables="@(InnerBuildEnv)" />
  56. </Target>
  57. <Target Name="CustomizeInnerBuildArgs"
  58. BeforeTargets="GetSourceBuildCommandConfiguration">
  59. <PropertyGroup>
  60. <InnerBuildArgs>$(InnerBuildArgs) /p:SourceBuildRuntimeIdentifier=$(TargetRuntimeIdentifier)</InnerBuildArgs>
  61. </PropertyGroup>
  62. </Target>
  63. </Project>