Skip to content

Commit 8966415

Browse files
committed
Merge commit 'bbafecc0535e1de3264845e51ea8b3d18eb3ca61' into prkrishn/merge-blazor-wasm
2 parents f789f0e + bbafecc commit 8966415

File tree

261 files changed

+6852
-3830
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

261 files changed

+6852
-3830
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Uses Scheduled Triggers, which aren't supported in YAML yet.
2+
# https://docs.microsoft.com/en-us/azure/devops/pipelines/build/triggers?view=vsts&tabs=yaml#scheduled
3+
4+
# Daily Tests for Blazor
5+
# These use Sauce Labs resources, hence they run daily rather than per-commit.
6+
7+
# We just need one Windows machine because all it does is trigger SauceLabs.
8+
variables:
9+
SAUCE_CONNECT_DOWNLOAD_ON_INSTALL: true
10+
E2ETESTS_SauceTest: true
11+
E2ETESTS_Sauce__TunnelIdentifier: 'blazor-e2e-sc-proxy-tunnel'
12+
E2ETESTS_Sauce__HostName: 'sauce.local'
13+
jobs:
14+
- template: jobs/default-build.yml
15+
parameters:
16+
buildDirectory: src/Components
17+
isTestingJob: true
18+
agentOs: Windows
19+
jobName: BlazorDailyTests
20+
jobDisplayName: "Blazor Daily Tests"
21+
afterBuild:
22+
23+
# macOS/Safari
24+
- script: 'dotnet test --filter "StandaloneAppTest"'
25+
workingDirectory: 'src/Components/test/E2ETest'
26+
displayName: 'Run Blazor tests - macOS/Safari'
27+
condition: succeededOrFailed()
28+
env:
29+
# Secrets need to be explicitly mapped to env variables.
30+
E2ETESTS_Sauce__Username: '$(asplab-sauce-labs-username)'
31+
E2ETESTS_Sauce__AccessKey: '$(asplab-sauce-labs-access-key)'
32+
# Set platform/browser configuration.
33+
E2ETESTS_Sauce__TestName: 'Blazor Daily Tests - macOS/Safari'
34+
E2ETESTS_Sauce__PlatformName: 'macOS 10.14'
35+
E2ETESTS_Sauce__BrowserName: 'Safari'
36+
# Need to explicitly set version here because some older versions don't support timeouts in Safari.
37+
E2ETESTS_Sauce__SeleniumVersion: '3.4.0'
38+
39+
# Android/Chrome
40+
- script: 'dotnet test --filter "StandaloneAppTest"'
41+
workingDirectory: 'src/Components/test/E2ETest'
42+
displayName: 'Run Blazor tests - Android/Chrome'
43+
condition: succeededOrFailed()
44+
env:
45+
# Secrets need to be explicitly mapped to env variables.
46+
E2ETESTS_Sauce__Username: '$(asplab-sauce-labs-username)'
47+
E2ETESTS_Sauce__AccessKey: '$(asplab-sauce-labs-access-key)'
48+
# Set platform/browser configuration.
49+
E2ETESTS_Sauce__TestName: 'Blazor Daily Tests - Android/Chrome'
50+
E2ETESTS_Sauce__PlatformName: 'Android'
51+
E2ETESTS_Sauce__PlatformVersion: '10.0'
52+
E2ETESTS_Sauce__BrowserName: 'Chrome'
53+
E2ETESTS_Sauce__DeviceName: 'Android GoogleAPI Emulator'
54+
E2ETESTS_Sauce__DeviceOrientation: 'portrait'
55+
E2ETESTS_Sauce__AppiumVersion: '1.9.1'
56+
artifacts:
57+
- name: Windows_Logs
58+
path: ../../artifacts/log/
59+
publishOnError: true

.azure/pipelines/ci.yml

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ trigger:
77
batch: true
88
branches:
99
include:
10+
- blazor-wasm
1011
- master
1112
- release/*
12-
- internal/release/3.*
1313

1414
# Run PR validation on all branches
1515
pr:
@@ -80,11 +80,18 @@ variables:
8080
value: test
8181
- name: _PublishArgs
8282
value: ''
83+
<<<<<<< HEAD
84+
=======
85+
# used for post-build phases, internal builds only
86+
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
87+
- group: DotNet-AspNet-SDLValidation-Params
88+
>>>>>>> bbafecc0535e1de3264845e51ea8b3d18eb3ca61
8389

8490
stages:
8591
- stage: build
8692
displayName: Build
8793
jobs:
94+
<<<<<<< HEAD
8895
# Code check
8996
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
9097
- template: jobs/default-build.yml
@@ -109,6 +116,8 @@ stages:
109116
publishOnError: true
110117
includeForks: true
111118

119+
=======
120+
>>>>>>> bbafecc0535e1de3264845e51ea8b3d18eb3ca61
112121
# Build Windows (x64/x86)
113122
- template: jobs/default-build.yml
114123
parameters:
@@ -142,12 +151,13 @@ stages:
142151
-arch x64
143152
-pack
144153
-all
145-
-buildNative
154+
-NoBuildNative
146155
/bl:artifacts/log/build.x64.binlog
147156
$(_BuildArgs)
148157
$(_InternalRuntimeDownloadArgs)
149158
displayName: Build x64
150159

160+
<<<<<<< HEAD
151161
# Build the x86 shared framework
152162
# TODO: make it possible to build for one Windows architecture at a time
153163
# This is going to actually build x86 native assets. See https://github.com/aspnet/AspNetCore/issues/7196
@@ -173,6 +183,8 @@ stages:
173183
$(_InternalRuntimeDownloadArgs)
174184
displayName: Build SiteExtension
175185

186+
=======
187+
>>>>>>> bbafecc0535e1de3264845e51ea8b3d18eb3ca61
176188
# This runs code-signing on all packages, zips, and jar files as defined in build/CodeSign.targets. If https://github.com/dotnet/arcade/issues/1957 is resolved,
177189
# consider running code-signing inline with the other previous steps.
178190
# Sign check is disabled because it is run in a separate step below, after installers are built.
@@ -200,16 +212,6 @@ stages:
200212
/p:PublishInstallerBaseVersion=true
201213
displayName: Build Installers
202214

203-
# A few files must also go to the VS package feed.
204-
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
205-
- task: NuGetCommand@2
206-
displayName: Push Visual Studio packages
207-
inputs:
208-
command: push
209-
packagesToPush: 'artifacts/packages/**/VS.Redist.Common.AspNetCore.*.nupkg'
210-
nuGetFeedType: external
211-
publishFeedCredentials: 'DevDiv - VS package feed'
212-
213215
artifacts:
214216
- name: Windows_Logs
215217
path: artifacts/log/
@@ -218,6 +220,7 @@ stages:
218220
- name: Windows_Packages
219221
path: artifacts/packages/
220222

223+
<<<<<<< HEAD
221224
# Build Windows ARM
222225
- template: jobs/default-build.yml
223226
parameters:
@@ -512,6 +515,8 @@ stages:
512515
parameters:
513516
inputName: Linux_musl_arm64
514517

518+
=======
519+
>>>>>>> bbafecc0535e1de3264845e51ea8b3d18eb3ca61
515520
# Test jobs
516521
- template: jobs/default-build.yml
517522
parameters:
@@ -656,6 +661,7 @@ stages:
656661
publishOnError: true
657662
includeForks: true
658663

664+
<<<<<<< HEAD
659665
# Source build
660666
- job: Source_Build
661667
displayName: 'Test: Linux Source Build'
@@ -714,23 +720,17 @@ stages:
714720
artifactType: Container
715721
parallel: true
716722

723+
=======
724+
>>>>>>> bbafecc0535e1de3264845e51ea8b3d18eb3ca61
717725
# Publish to the BAR
718726
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
719727
- template: /eng/common/templates/job/publish-build-assets.yml
720728
parameters:
721729
dependsOn:
722730
- Windows_build
723-
- Windows_arm_build
724-
- CodeSign_Xplat_MacOS_x64
725-
- CodeSign_Xplat_Linux_x64
726-
- CodeSign_Xplat_Linux_arm
727-
- CodeSign_Xplat_Linux_arm64
728-
- CodeSign_Xplat_Linux_musl_x64
729-
- CodeSign_Xplat_Linux_musl_arm64
730731
# In addition to the dependencies above, ensure the build was successful overall.
731732
- Linux_Test
732733
- MacOS_Test
733-
- Source_Build
734734
- Windows_Templates_Test
735735
- Windows_Test
736736
pool:

.config/dotnet-tools.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"version": 1,
3+
"isRoot": true,
4+
"tools": {
5+
"dotnet-serve": {
6+
"version": "1.5.0",
7+
"commands": [
8+
"dotnet-serve"
9+
]
10+
}
11+
}
12+
}

NuGet.config

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,32 @@
33
<packageSources>
44
<clear />
55
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
6+
<<<<<<< HEAD
67
<add key="darc-pub-dotnet-corefx-8a3ffed" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-corefx-8a3ffed5/nuget/v3/index.json" />
78
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
89
<add key="dotnet-core" value="https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json" />
910
<add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
1011
<add key="dotnet3.1" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3.1/nuget/v3/index.json" />
1112
<add key="dotnet3.1-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3.1-transport/nuget/v3/index.json" />
1213
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
14+
=======
15+
<add key="darc-pub-dotnet-core-setup-65f04fb" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-core-setup-65f04fb6/nuget/v3/index.json" />
16+
<add key="darc-pub-dotnet-corefx-0f7f38c" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-corefx-0f7f38c4/nuget/v3/index.json" />
17+
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
18+
<add key="dotnet-core" value="https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json" />
19+
<add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
20+
<add key="aspnet-blazor" value="https://dotnetfeed.blob.core.windows.net/aspnet-blazor/index.json" />
21+
<add key="aspnet-extensions" value="https://dotnetfeed.blob.core.windows.net/aspnet-extensions/index.json" />
22+
<add key="aspnet-entityframeworkcore" value="https://dotnetfeed.blob.core.windows.net/aspnet-entityframeworkcore/index.json" />
23+
<add key="aspnet-aspnetcore-tooling" value="https://dotnetfeed.blob.core.windows.net/aspnet-aspnetcore-tooling/index.json" />
24+
<add key="aspnet-stable" value="https://dotnetfeed.blob.core.windows.net/dotnet-core-3-1-rtm-014727/index.json" />
25+
<add key="grpc-nuget-dev" value="https://grpc.jfrog.io/grpc/api/nuget/v3/grpc-nuget-dev" />
26+
<add key="roslyn" value="https://dotnet.myget.org/F/roslyn/api/v3/index.json" />
27+
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
28+
<add key="aspnetcore-dev" value="https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json" />
29+
<add key="aspnetcore-tools" value="https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json" />
30+
<add key="roslyn-tools" value="https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json" />
31+
<add key="blazor-wasm" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3.1-blazor/nuget/v3/index.json" />
32+
>>>>>>> bbafecc0535e1de3264845e51ea8b3d18eb3ca61
1333
</packageSources>
1434
</configuration>

eng/Build.props

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@
3434
$(RepoRoot)src\Installers\**\*.*proj;
3535
$(RepoRoot)src\SignalR\clients\ts\**\node_modules\**\*.*proj;
3636
$(RepoRoot)src\Components\Web.JS\node_modules\**\*.*proj;
37-
$(RepoRoot)src\Components\Blazor\Templates\src\content\**\*.*proj;
37+
$(RepoRoot)src\Components\Blazor\Build\testassets\**\*.*proj;
38+
$(RepoRoot)src\ProjectTemplates\BlazorWasm.ProjectTemplates\content\**\*.csproj;
3839
$(RepoRoot)src\ProjectTemplates\Web.ProjectTemplates\content\**\*.csproj;
3940
$(RepoRoot)src\ProjectTemplates\Web.ProjectTemplates\content\**\*.fsproj;
4041
$(RepoRoot)src\ProjectTemplates\Web.Spa.ProjectTemplates\content\**\*.csproj;
@@ -49,6 +50,11 @@
4950
" />
5051
</ItemGroup>
5152

53+
<PropertyGroup>
54+
<!-- For the Blazor WASM branch, only build a subset of projects -->
55+
<ProjectToBuild>$(RepoRoot)src\Components\**\*.csproj;$(RepoRoot)src\ProjectTemplates\**\*.csproj</ProjectToBuild>
56+
</PropertyGroup>
57+
5258
<Choose>
5359
<!-- Project selection can be overridden on the command line by passing in -projects -->
5460
<When Condition="'$(ProjectToBuild)' != ''">

eng/common/tools.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
257257
if ($msbuildCmd -ne $null) {
258258
# Workaround for https://github.com/dotnet/roslyn/issues/35793
259259
# Due to this issue $msbuildCmd.Version returns 0.0.0.0 for msbuild.exe 16.2+
260-
$msbuildVersion = [Version]::new((Get-Item $msbuildCmd.Path).VersionInfo.ProductVersion.Split(@('-', '+'))[0])
260+
$msbuildVersion = [Version]::new((Get-Item $msbuildCmd.Path).VersionInfo.ProductVersion.Split([char[]]@('-', '+'))[0])
261261

262262
if ($msbuildVersion -ge $vsMinVersion) {
263263
return $global:_MSBuildExe = $msbuildCmd.Path

eng/scripts/CodeCheck.ps1

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -170,10 +170,11 @@ try {
170170
& $PSScriptRoot\GenerateReferenceAssemblies.ps1 -ci:$ci
171171
}
172172

173-
Write-Host "Re-generating package baselines"
174-
Invoke-Block {
175-
& dotnet run -p "$repoRoot/eng/tools/BaselineGenerator/"
176-
}
173+
# Temporarily disable package baseline generation while we stage for publishing
174+
# Write-Host "Re-generating package baselines"
175+
# Invoke-Block {
176+
# & dotnet run -p "$repoRoot/eng/tools/BaselineGenerator/"
177+
# }
177178

178179
Write-Host "Run git diff to check for pending changes"
179180

global.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
{
22
"sdk": {
3+
<<<<<<< HEAD
34
"version": "3.1.103"
45
},
56
"tools": {
67
"dotnet": "3.1.103",
8+
=======
9+
"version": "3.1.100"
10+
},
11+
"tools": {
12+
"dotnet": "3.1.100",
13+
>>>>>>> bbafecc0535e1de3264845e51ea8b3d18eb3ca61
714
"runtimes": {
815
"dotnet/x64": [
916
"$(MicrosoftNETCoreAppInternalPackageVersion)"
@@ -25,7 +32,12 @@
2532
},
2633
"msbuild-sdks": {
2734
"Yarn.MSBuild": "1.15.2",
35+
<<<<<<< HEAD
2836
"Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.20213.4",
2937
"Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.20213.4"
38+
=======
39+
"Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19577.5",
40+
"Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19577.5"
41+
>>>>>>> bbafecc0535e1de3264845e51ea8b3d18eb3ca61
3042
}
3143
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<Project>
2+
<PropertyGroup>
3+
<!-- Override version labels -->
4+
<VersionPrefix>3.2.0</VersionPrefix>
5+
<PreReleaseVersionLabel>preview1</PreReleaseVersionLabel>
6+
<DotNetFinalVersionKind />
7+
</PropertyGroup>
8+
</Project>
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
// Copyright (c) .NET Foundation. All rights reserved.
2+
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3+
4+
namespace Microsoft.AspNetCore.Blazor
5+
{
6+
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
7+
public static partial class JSInteropMethods
8+
{
9+
[Microsoft.JSInterop.JSInvokableAttribute("NotifyLocationChanged")]
10+
public static void NotifyLocationChanged(string uri, bool isInterceptedLink) { }
11+
}
12+
}
13+
namespace Microsoft.AspNetCore.Blazor.Hosting
14+
{
15+
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
16+
public readonly partial struct RootComponentMapping
17+
{
18+
private readonly object _dummy;
19+
public RootComponentMapping(System.Type componentType, string selector) { throw null; }
20+
public System.Type ComponentType { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } }
21+
public string Selector { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } }
22+
}
23+
public partial class RootComponentMappingCollection : System.Collections.ObjectModel.Collection<Microsoft.AspNetCore.Blazor.Hosting.RootComponentMapping>
24+
{
25+
public RootComponentMappingCollection() { }
26+
public void Add(System.Type componentType, string selector) { }
27+
public void AddRange(System.Collections.Generic.IEnumerable<Microsoft.AspNetCore.Blazor.Hosting.RootComponentMapping> items) { }
28+
public void Add<TComponent>(string selector) where TComponent : Microsoft.AspNetCore.Components.IComponent { }
29+
}
30+
public sealed partial class WebAssemblyHost : System.IAsyncDisposable
31+
{
32+
internal WebAssemblyHost() { }
33+
public Microsoft.Extensions.Configuration.IConfiguration Configuration { get { throw null; } }
34+
public System.IServiceProvider Services { get { throw null; } }
35+
[System.Diagnostics.DebuggerStepThroughAttribute]
36+
public System.Threading.Tasks.ValueTask DisposeAsync() { throw null; }
37+
public System.Threading.Tasks.Task RunAsync() { throw null; }
38+
}
39+
public sealed partial class WebAssemblyHostBuilder
40+
{
41+
internal WebAssemblyHostBuilder() { }
42+
public Microsoft.Extensions.Configuration.IConfigurationBuilder Configuration { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } }
43+
public Microsoft.AspNetCore.Blazor.Hosting.RootComponentMappingCollection RootComponents { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } }
44+
public Microsoft.Extensions.DependencyInjection.IServiceCollection Services { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } }
45+
public Microsoft.AspNetCore.Blazor.Hosting.WebAssemblyHost Build() { throw null; }
46+
public static Microsoft.AspNetCore.Blazor.Hosting.WebAssemblyHostBuilder CreateDefault(string[] args = null) { throw null; }
47+
}
48+
}
49+
namespace Microsoft.AspNetCore.Blazor.Http
50+
{
51+
public enum FetchCredentialsOption
52+
{
53+
Omit = 0,
54+
SameOrigin = 1,
55+
Include = 2,
56+
}
57+
public static partial class WebAssemblyHttpMessageHandlerOptions
58+
{
59+
public static Microsoft.AspNetCore.Blazor.Http.FetchCredentialsOption DefaultCredentials { get { throw null; } set { } }
60+
}
61+
}
62+
namespace Microsoft.AspNetCore.Blazor.Rendering
63+
{
64+
public static partial class WebAssemblyEventDispatcher
65+
{
66+
[Microsoft.JSInterop.JSInvokableAttribute("DispatchEvent")]
67+
public static System.Threading.Tasks.Task DispatchEvent(Microsoft.AspNetCore.Components.RenderTree.WebEventDescriptor eventDescriptor, string eventArgsJson) { throw null; }
68+
}
69+
}

0 commit comments

Comments
 (0)