Disable source build by default, and opt in instead (#8019)

* Add sln filter for source build

* Use ExcludeSourceBuild instead

* Put the correct default in 🤦‍♂️

* Don't include npm targets when all targets are suppressed

* Don't override arcade for test projects when building from source

* Use default source build jobs now we don't need node
This commit is contained in:
Chris Sienkiewicz 2022-12-14 21:05:57 -08:00 коммит произвёл GitHub
Родитель 34f1c25ea3
Коммит b1ae68ef62
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
8 изменённых файлов: 13 добавлений и 30 удалений

Просмотреть файл

@ -37,6 +37,9 @@
<!-- Working around https://github.com/microsoft/msbuild/pull/4764 -->
<EmbeddedResourceUseDependentUponConvention>false</EmbeddedResourceUseDependentUponConvention>
<!-- By default, nothing builds from source build. Individual projects can opt in instead -->
<ExcludeFromSourceBuild>true</ExcludeFromSourceBuild>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -8,7 +8,7 @@
<Import Project="eng\MPack.targets" />
<Import Project="eng\targets\Packaging.targets" />
<Import Project="eng\targets\Npm.Common.targets" Condition="'$(MSBuildProjectExtension)' == '.npmproj'" />
<Import Project="eng\targets\Npm.Common.targets" Condition="'$(MSBuildProjectExtension)' == '.npmproj' and '$(_SuppressAllTargets)' != 'true'" />
<!-- Workaround https://github.com/dotnet/cli/issues/10528 -->
<PropertyGroup>

Просмотреть файл

@ -110,6 +110,7 @@ stages:
enablePublishBuildArtifacts: true
enablePublishTestResults: true
enableTelemetry: true
enableSourcebuild: true
helixRepo: dotnet/razor
helixType: build.product/
# enableMicrobuild can't be read from a user-defined variable (Azure DevOps limitation)
@ -419,32 +420,6 @@ stages:
artifactType: Container
parallel: true
# Source build
- job: Source_Build_Managed
displayName: Source-Build (Managed)
variables:
- _BuildConfig: Release
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: NetCore-Public
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
workspace:
clean: all
steps:
- task: NodeTool@0
displayName: Install Node 10.x
inputs:
versionSpec: 10.x
- powershell: npm install -g yarn
displayName: Install yarn
condition: succeeded()
- template: /eng/common/templates/steps/source-build.yml
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- stage: publishBuildAssets
displayName: Publish to Build Asset Registry

Просмотреть файл

@ -9,6 +9,7 @@
<IsShipping>false</IsShipping>
<NoWarn>$(NoWarn);RS2008</NoWarn>
<Nullable>enable</Nullable>
<ExcludeFromSourceBuild>false</ExcludeFromSourceBuild>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Description>Transport package for Razor extension binaries. For internal use only.</Description>
@ -6,6 +6,7 @@
<IsShipping>false</IsShipping>
<IncludeBuildOutput>false</IncludeBuildOutput>
<IsPackable>true</IsPackable>
<ExcludeFromSourceBuild>false</ExcludeFromSourceBuild>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Description>Transport package for Razor compiler binaries. For internal use only.</Description>
@ -6,6 +6,7 @@
<IsShipping>false</IsShipping>
<IncludeBuildOutput>false</IncludeBuildOutput>
<IsPackable>true</IsPackable>
<ExcludeFromSourceBuild>false</ExcludeFromSourceBuild>
</PropertyGroup>
<ItemGroup>

Просмотреть файл

@ -1,7 +1,7 @@
<Project>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory).., Directory.Build.props))\Directory.Build.props" />
<PropertyGroup>
<PropertyGroup Condition="'$(DotNetBuildFromSource)' != 'true'">
<!--
The Oniguruma package for regex testing has its own Arcade & SDK independent build mechanisms that automatically look for hierarchical Directory.Build.props files.
Therefore, we have this file here in order to suppress the usage of the global SDK and arcade build system to enable yarn install to pass.
@ -10,4 +10,5 @@
-->
<_SuppressSdkImports>true</_SuppressSdkImports>
</PropertyGroup>
</Project>

Просмотреть файл

@ -4,6 +4,7 @@
<TargetFrameworks>$(DefaultNetCoreTargetFramework);netstandard2.0;$(DefaultNetFxTargetFramework)</TargetFrameworks>
<Description>Razor is a markup syntax for adding server-side logic to web pages. This package contains the language server library assets.</Description>
<EnableApiCheck>false</EnableApiCheck>
<ExcludeFromSourceBuild>false</ExcludeFromSourceBuild>
</PropertyGroup>
</Project>