This commit is contained in:
Nate McMaster 2019-05-29 13:06:38 -07:00 коммит произвёл GitHub
Родитель 024c686ba0
Коммит 986c224acf
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
27 изменённых файлов: 157 добавлений и 59 удалений

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

@ -7,6 +7,7 @@ root = true
[*] [*]
indent_style = space indent_style = space
# (Please don't specify an indent_size here; that has too many unintended consequences.) # (Please don't specify an indent_size here; that has too many unintended consequences.)
trim_trailing_whitespace = true
# Code files # Code files
[*.{cs,csx,vb,vbx}] [*.{cs,csx,vb,vbx}]

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

@ -15,11 +15,6 @@
Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), AspNetCoreSettings.props))\AspNetCoreSettings.props" Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), AspNetCoreSettings.props))\AspNetCoreSettings.props"
Condition=" '$(CI)' != 'true' AND '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), AspNetCoreSettings.props))' != '' " /> Condition=" '$(CI)' != 'true' AND '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), AspNetCoreSettings.props))' != '' " />
<PropertyGroup Condition="'$(CopyrightMicrosoft)' != ''">
<Copyright>$(CopyrightMicrosoft)</Copyright>
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
</PropertyGroup>
<PropertyGroup Label="Build Settings"> <PropertyGroup Label="Build Settings">
<LangVersion>8.0</LangVersion> <LangVersion>8.0</LangVersion>
<StrongNameKeyId>MicrosoftAspNetCore</StrongNameKeyId> <StrongNameKeyId>MicrosoftAspNetCore</StrongNameKeyId>
@ -28,19 +23,16 @@
<PublishWindowsPdb>true</PublishWindowsPdb> <PublishWindowsPdb>true</PublishWindowsPdb>
<GenerateResxSource>true</GenerateResxSource> <GenerateResxSource>true</GenerateResxSource>
<GenerateResxSourceEmitFormatMethods>true</GenerateResxSourceEmitFormatMethods> <GenerateResxSourceEmitFormatMethods>true</GenerateResxSourceEmitFormatMethods>
<ExcludeFromSourceBuild Condition="'$(IsUnitTestProject)' == 'true'">true</ExcludeFromSourceBuild>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Package and Assembly Metadata"> <PropertyGroup Label="Package and Assembly Metadata">
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
<Product>Microsoft ASP.NET Core</Product> <Product>Microsoft ASP.NET Core</Product>
<PackageIconUrl>https://go.microsoft.com/fwlink/?LinkID=288859</PackageIconUrl> <PackageIconUrl>https://go.microsoft.com/fwlink/?LinkID=288859</PackageIconUrl>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Label="Warning Suppressions"> <PropertyGroup Label="Warning Suppressions">
<!--
Suppress a warning about upcoming deprecation of PackageLicenseUrl. When embedding licenses are supported, replace PackageLicenseUrl with PackageLicenseExpression.
-->
<NoWarn>$(NoWarn);NU5125</NoWarn>
<!-- <!--
Suppress warnings about assembly conflicts. This happens for assemblies that ship in VS so it's irrelevant. Suppress warnings about assembly conflicts. This happens for assemblies that ship in VS so it's irrelevant.
--> -->

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

@ -3,11 +3,6 @@
<Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" /> <Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" />
<Import Project="eng\MPack.targets" /> <Import Project="eng\MPack.targets" />
<ItemGroup>
<!-- Workaround https://github.com/dotnet/sdk/issues/2976 -->
<PackageReference Update="Microsoft.NETCore.Platforms" PrivateAssets="All" />
</ItemGroup>
<!-- Workaround https://github.com/dotnet/cli/issues/10528 --> <!-- Workaround https://github.com/dotnet/cli/issues/10528 -->
<PropertyGroup> <PropertyGroup>
<BundledNETCorePlatformsPackageVersion>$(MicrosoftNETCorePlatformsPackageVersion)</BundledNETCorePlatformsPackageVersion> <BundledNETCorePlatformsPackageVersion>$(MicrosoftNETCorePlatformsPackageVersion)</BundledNETCorePlatformsPackageVersion>

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

@ -2,7 +2,6 @@
<configuration> <configuration>
<packageSources> <packageSources>
<clear /> <clear />
<add key="arcade" value="https://dotnetfeed.blob.core.windows.net/dotnet-tools-internal/index.json" />
<add key="dotnet-core" value="https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json" /> <add key="dotnet-core" value="https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json" />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" /> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
</packageSources> </packageSources>

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

@ -1,3 +1,7 @@
#
# See https://docs.microsoft.com/azure/devops/pipelines/yaml-schema for reference.
#
variables: variables:
- name: Build.Repository.Clean - name: Build.Repository.Clean
value: true value: true
@ -10,18 +14,18 @@ variables:
- name: _DotNetArtifactsCategory - name: _DotNetArtifactsCategory
value: ASPNETCORETOOLING value: ASPNETCORETOOLING
resources:
containers:
- container: LinuxContainer
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-14.04-cross-0cd4667-20170319080304
options: --init # This ensures all the stray defunct processes are reaped.
trigger: trigger:
- master batch: true
- release/* branches:
include:
- master
- release/*
pr: pr:
- "*" autoCancel: true
branches:
include:
- '*'
jobs: jobs:
# This job checks for code quality # This job checks for code quality
@ -50,6 +54,60 @@ jobs:
- powershell: ./restore.cmd -ci; ./eng/scripts/CodeCheck.ps1 -ci - powershell: ./restore.cmd -ci; ./eng/scripts/CodeCheck.ps1 -ci
displayName: Run eng/scripts/CodeCheck.ps1 displayName: Run eng/scripts/CodeCheck.ps1
- job: Source_Build
jobName: Source_Build
displayName: 'Test: Linux Source Build'
container:
image: centos:7
options: --init # This ensures all the stray defunct processes are reaped.
pool:
vmImage: ubuntu-16.04
variables:
- DotNetCoreSdkDir: $(Agent.ToolsDirectory)/dotnet
- DOTNET_SYSTEM_GLOBALIZATION_INVARIANT: true
- _BuildConfig: Release
steps:
- script: |
source eng/common/native/common-library.sh
mkdir -p $HOME/bin
GetFile https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64 $HOME/bin/jq
chmod +x $HOME/bin/jq
echo "##vso[task.prependpath]$HOME/bin"
displayName: Install jq
- task: UseDotNet@2
displayName: 'Use .NET Core sdk'
inputs:
packageType: sdk
# The SDK version selected here is intentionally supposed to use the latest release
# For the purpose of building Linux distros, we can't depend on features of the SDK
# which may not exist in pre-built versions of the SDK
version: 3.0.x
installationPath: $(DotNetCoreSdkDir)
includePreviewVersions: true
- script: ./eng/scripts/ci-source-build.sh --ci --configuration $(_BuildConfig)
displayName: Run ci-source-build.sh
- task: PublishBuildArtifacts@1
displayName: Upload package artifacts
# Only capture source build artifacts in PRs for the sake of inspecting
# changes that impact source-build. The artifacts from this build pipeline are never actually used.
condition: and(succeeded(), eq(variables['Build.Reason'], 'PullRequest'))
inputs:
pathtoPublish: artifacts/packages/
artifactName: Source_Build_Packages
artifactType: Container
parallel: true
- task: PublishBuildArtifacts@1
displayName: Publish Logs
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)'
PublishLocation: Container
ArtifactName: Source_Build_Logs
continueOnError: true
condition: always()
# Three jobs for each of the three OSes we want to run on # Three jobs for each of the three OSes we want to run on
- template: /eng/common/templates/jobs/jobs.yml - template: /eng/common/templates/jobs/jobs.yml
parameters: parameters:
@ -165,8 +223,10 @@ jobs:
condition: succeeded() condition: succeeded()
- job: Linux - job: Linux
container:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-14.04-cross-0cd4667-20170319080304
options: --init # This ensures all the stray defunct processes are reaped.
pool: pool:
container: LinuxContainer
vmImage: ubuntu-16.04 vmImage: ubuntu-16.04
strategy: strategy:
matrix: matrix:
@ -181,3 +241,4 @@ jobs:
name: Build name: Build
displayName: Build displayName: Build
condition: succeeded() condition: succeeded()

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

@ -1,3 +1,3 @@
@echo off @echo off
powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\common\Build.ps1""" -build -restore -pack -test %*" powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0eng\common\Build.ps1""" -restore -build -pack %*"
exit /b %ErrorLevel% exit /b %ErrorLevel%

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

@ -13,4 +13,4 @@ while [[ -h $source ]]; do
done done
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
"$scriptroot/eng/common/build.sh" --pack --build --restore --test $@ "$scriptroot/eng/common/build.sh" --restore --build --pack $@

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

@ -1,5 +1,5 @@
<Project> <Project>
<Target Name="_EnsureVSIXWasGenerated" AfterTargets="GenerateVisualStudioInsertionManifests" Condition="'$(OS)'=='WINDOWS_NT'"> <Target Name="_EnsureVSIXWasGenerated" AfterTargets="GenerateVisualStudioInsertionManifests" Condition="'$(OS)'=='WINDOWS_NT' AND '$(DotNetBuildFromSource)' != 'true'">
<PropertyGroup> <PropertyGroup>
<VSSetupDir>$(ArtifactsDir)VSSetup\</VSSetupDir> <VSSetupDir>$(ArtifactsDir)VSSetup\</VSSetupDir>
<RazorExtensionVSIXName>Microsoft.VisualStudio.RazorExtension.vsix</RazorExtensionVSIXName> <RazorExtensionVSIXName>Microsoft.VisualStudio.RazorExtension.vsix</RazorExtensionVSIXName>

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

@ -3,7 +3,7 @@
Name="GenerateMPack" Name="GenerateMPack"
AfterTargets="Build" AfterTargets="Build"
DependsOnTargets="_MPackWriteAddinInfo" DependsOnTargets="_MPackWriteAddinInfo"
Condition="'$(IsMPackProject)'=='true' and '$(TargetFramework)'!=''"> Condition="'$(IsMPackProject)'=='true' and '$(TargetFramework)'!='' and ('$(DotNetBuildFromSource)' != 'true' or '$(ExcludeFromSourceBuild)' != 'true')">
<!-- <!--
In our case the mpack archive requires the following: In our case the mpack archive requires the following:

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

@ -33,7 +33,7 @@
<AddinVersion Condition="'$(OfficialBuildId)' == ''">$(AddinVersion).42424242.42</AddinVersion> <AddinVersion Condition="'$(OfficialBuildId)' == ''">$(AddinVersion).42424242.42</AddinVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<RestoreSources> <RestoreSources Condition="'$(DotNetBuildOffline)' != 'true'">
$(RestoreSources); $(RestoreSources);
https://dotnetfeed.blob.core.windows.net/aspnet-extensions/index.json; https://dotnetfeed.blob.core.windows.net/aspnet-extensions/index.json;
https://dotnet.myget.org/F/roslyn/api/v3/index.json; https://dotnet.myget.org/F/roslyn/api/v3/index.json;

0
eng/common/dotnet-install.sh поставляемый Normal file → Executable file
Просмотреть файл

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

@ -2,4 +2,6 @@
# We could potentially try to find an existing installation that has all the required runtimes, # We could potentially try to find an existing installation that has all the required runtimes,
# but it's unlikely one will be available. # but it's unlikely one will be available.
use_installed_dotnet_cli="false" if [ "${DotNetBuildFromSource:-false}" = false ]; then
use_installed_dotnet_cli="false"
fi

34
eng/scripts/ci-source-build.sh Executable file
Просмотреть файл

@ -0,0 +1,34 @@
#!/usr/bin/env bash
#
# This script is meant for testing source build by imitating some of the input parameters and conditions.
#
set -euo pipefail
scriptroot="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
reporoot="$(dirname "$(dirname "$scriptroot")")"
# For local development, make a backup copy of this file first
if [ ! -f "$reporoot/global.bak.json" ]; then
mv "$reporoot/global.json" "$reporoot/global.bak.json"
fi
# Detect the current version of .NET Core installed
export SDK_VERSION=$(dotnet --version)
echo "The ambient version of .NET Core SDK version = $SDK_VERSION"
# Update the global.json file to match the current .NET environment
cat "$reporoot/global.bak.json" | \
jq '.sdk.version=env.SDK_VERSION' | \
jq '.tools.dotnet=env.SDK_VERSION' | \
jq 'del(.tools.runtimes)' \
> "$reporoot/global.json"
# Restore the original global.json file
trap "{
mv "$reporoot/global.bak.json" "$reporoot/global.json"
}" EXIT
export DotNetBuildFromSource='true'
"$reporoot/build.sh" "$@"

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

@ -6,6 +6,7 @@
<ServerGarbageCollection>true</ServerGarbageCollection> <ServerGarbageCollection>true</ServerGarbageCollection>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<IsPackable>false</IsPackable> <IsPackable>false</IsPackable>
<ExcludeFromSourceBuild>true</ExcludeFromSourceBuild>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

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

@ -6,6 +6,8 @@
<RootNamespace>Microsoft.AspNetCore.Components.Razor</RootNamespace> <RootNamespace>Microsoft.AspNetCore.Components.Razor</RootNamespace>
<Description>Extensions to the Razor compiler to support building Razor Components.</Description> <Description>Extensions to the Razor compiler to support building Razor Components.</Description>
<IsProductPackage>true</IsProductPackage> <IsProductPackage>true</IsProductPackage>
<!-- Excluded because this assembly has a 3rd party dependency. -->
<ExcludeFromSourceBuild>true</ExcludeFromSourceBuild>
<!-- Copy package references to output, needed so the build project can find them --> <!-- Copy package references to output, needed so the build project can find them -->
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>

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

@ -5,6 +5,7 @@
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<EnableApiCheck>false</EnableApiCheck> <EnableApiCheck>false</EnableApiCheck>
<IsShipping>false</IsShipping> <IsShipping>false</IsShipping>
<ExcludeFromSourceBuild>true</ExcludeFromSourceBuild>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

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

@ -5,6 +5,7 @@
<TargetFramework>net472</TargetFramework> <TargetFramework>net472</TargetFramework>
<EnableApiCheck>false</EnableApiCheck> <EnableApiCheck>false</EnableApiCheck>
<IsShipping>false</IsShipping> <IsShipping>false</IsShipping>
<ExcludeFromSourceBuild>true</ExcludeFromSourceBuild>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

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

@ -5,6 +5,7 @@
<Description>Razor is a markup syntax for adding server-side logic to web pages. This package contains the Visual Studio agnostic Razor design-time infrastructure.</Description> <Description>Razor is a markup syntax for adding server-side logic to web pages. This package contains the Visual Studio agnostic Razor design-time infrastructure.</Description>
<EnableApiCheck>false</EnableApiCheck> <EnableApiCheck>false</EnableApiCheck>
<IsShipping>false</IsShipping> <IsShipping>false</IsShipping>
<ExcludeFromSourceBuild>true</ExcludeFromSourceBuild>
<NoWarn>$(NoWarn);VSTHRD200</NoWarn> <NoWarn>$(NoWarn);VSTHRD200</NoWarn>
</PropertyGroup> </PropertyGroup>

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

@ -7,6 +7,7 @@
<RulesDirectory>..\Microsoft.NET.Sdk.Razor\build\netstandard2.0\Rules\</RulesDirectory> <RulesDirectory>..\Microsoft.NET.Sdk.Razor\build\netstandard2.0\Rules\</RulesDirectory>
<CodeAnalysisRuleSet>Microsoft.VisualStudio.LanguageServices.Razor.ruleset</CodeAnalysisRuleSet> <CodeAnalysisRuleSet>Microsoft.VisualStudio.LanguageServices.Razor.ruleset</CodeAnalysisRuleSet>
<IsShipping>false</IsShipping> <IsShipping>false</IsShipping>
<ExcludeFromSourceBuild>true</ExcludeFromSourceBuild>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

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

@ -6,6 +6,7 @@
<EnableApiCheck>false</EnableApiCheck> <EnableApiCheck>false</EnableApiCheck>
<CodeAnalysisRuleSet>Microsoft.VisualStudio.LiveShare.Razor.ruleset</CodeAnalysisRuleSet> <CodeAnalysisRuleSet>Microsoft.VisualStudio.LiveShare.Razor.ruleset</CodeAnalysisRuleSet>
<IsShipping>false</IsShipping> <IsShipping>false</IsShipping>
<ExcludeFromSourceBuild>true</ExcludeFromSourceBuild>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

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

@ -6,6 +6,7 @@
<EnableApiCheck>false</EnableApiCheck> <EnableApiCheck>false</EnableApiCheck>
<NoWarn>$(NoWarn);MSB3277</NoWarn> <NoWarn>$(NoWarn);MSB3277</NoWarn>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors> <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<ExcludeFromSourceBuild>true</ExcludeFromSourceBuild>
<IsShipping>false</IsShipping> <IsShipping>false</IsShipping>
</PropertyGroup> </PropertyGroup>

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

@ -5,6 +5,7 @@
<TargetFramework>net472</TargetFramework> <TargetFramework>net472</TargetFramework>
<IsMPackProject>true</IsMPackProject> <IsMPackProject>true</IsMPackProject>
<AddinName>Microsoft.VisualStudio.Mac.RazorAddin</AddinName> <AddinName>Microsoft.VisualStudio.Mac.RazorAddin</AddinName>
<ExcludeFromSourceBuild>true</ExcludeFromSourceBuild>
<IsPackable>false</IsPackable> <IsPackable>false</IsPackable>
</PropertyGroup> </PropertyGroup>

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

@ -19,6 +19,7 @@
<!-- Update the VSToolsPath to ensure VSIX builds --> <!-- Update the VSToolsPath to ensure VSIX builds -->
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
<ExcludeFromSourceBuild>true</ExcludeFromSourceBuild>
<IsPackable>false</IsPackable> <IsPackable>false</IsPackable>
</PropertyGroup> </PropertyGroup>

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

@ -17,6 +17,7 @@
<!-- Don't automatically include dependencies --> <!-- Don't automatically include dependencies -->
<IncludePackageReferencesInVSIXContainer>false</IncludePackageReferencesInVSIXContainer> <IncludePackageReferencesInVSIXContainer>false</IncludePackageReferencesInVSIXContainer>
<ExcludeFromSourceBuild>true</ExcludeFromSourceBuild>
<IsPackable>false</IsPackable> <IsPackable>false</IsPackable>
</PropertyGroup> </PropertyGroup>

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

@ -8,6 +8,7 @@
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<EnableApiCheck>false</EnableApiCheck> <EnableApiCheck>false</EnableApiCheck>
<IsShipping>false</IsShipping> <IsShipping>false</IsShipping>
<ExcludeFromSourceBuild>true</ExcludeFromSourceBuild>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

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

@ -2,6 +2,7 @@
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory).., Directory.Build.props))\Directory.Build.props" Condition="'$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.props))'!= ''" /> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory).., Directory.Build.props))\Directory.Build.props" Condition="'$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.props))'!= ''" />
<PropertyGroup> <PropertyGroup>
<ExcludeFromSourceBuild>true</ExcludeFromSourceBuild>
<DeveloperBuildTestTfms>netcoreapp3.0</DeveloperBuildTestTfms> <DeveloperBuildTestTfms>netcoreapp3.0</DeveloperBuildTestTfms>
<StandardTestTfms>$(DeveloperBuildTestTfms)</StandardTestTfms> <StandardTestTfms>$(DeveloperBuildTestTfms)</StandardTestTfms>
<StandardTestTfms Condition=" '$(DeveloperBuild)' != 'true' ">$(StandardTestTfms)</StandardTestTfms> <StandardTestTfms Condition=" '$(DeveloperBuild)' != 'true' ">$(StandardTestTfms)</StandardTestTfms>

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

@ -107,7 +107,7 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
</Target> </Target>
<Target Name="RestoreTestProjects" BeforeTargets="Restore;Build"> <Target Name="RestoreTestProjects" BeforeTargets="Restore;Build" Condition="'$(DotNetBuildFromSource)' != 'true'">
<MSBuild Projects="..\testapps\RestoreTestProjects\RestoreTestProjects.csproj" Targets="Restore" /> <MSBuild Projects="..\testapps\RestoreTestProjects\RestoreTestProjects.csproj" Targets="Restore" />
</Target> </Target>