Commit Graph

33 Commits

Author SHA1 Message Date
Pranav K 4c50b6cb16
Merge blazor-wasm in to master 2020-05-27 11:00:38 -07:00
John Luo 50f3a16571 aspnetcore-tooling migration fixups 2020-05-26 12:31:49 -07:00
Pranav K 8efeefb3d1
Merge branch 'blazor-wasm' into prkrishn/merge-blazor-wasm 2020-05-16 21:10:28 -07:00
Pranav K 8966415b6b
Merge commit 'bbafecc0535e1de3264845e51ea8b3d18eb3ca61' into prkrishn/merge-blazor-wasm 2020-05-15 10:12:32 -07:00
Doug Bunting 54722a52b6
A quick collection of quick fixes (#20993)
* Quick fix: Simplify devBuilds.yml
  - remove an excess build step

* Quick fix: Move `SetupNugetSources` script invocations above `parameters.beforeBuild`
  - ensure NuGet.config is ready for all internal builds
  - remove now-duplicate `SetupNugetSources` invocations wherever default-build.yml is used

* Quick fix: Clean up SiteExtensions/build.cmd
  - quote all rooted paths
  - check `%ERRORLEVEL%` after every `CALL`
  - nits:
    - add a few more `ECHO` commands
    - wrap long lines

* Quick fix: Ensure `$(BuildNative)` is always set correctly
  - fix problems using `-all` or `/p:BuildAllProjects=true` without `-buildNative`
    - ensure `$(BuildNative)` is `false` where it's not supported
  - move some duplicated settings into eng/Common.props and `<Import />` the new file
  - remove now-duplicated parts of conditions using `$(BuildNative)`

* Quick fix: Consistently use `--build-*`
  - avoid `/p:Build*`  on the command line (except with eng/scripts/ci-source-build.sh)
  - nits:
    - remove now-useless `-buildNative` with `-all`
    - expand and correct a couple of related comments and messages

* Quick fix: Support `-all` together with `-projects`
  - remove need to specify `/p:BuildAllProjects=true`
  - nit: simplify some Boolean logic
2020-04-25 18:39:19 -07:00
John Luo fcb23108b6 Relocate Logging.Testing to AspNetCore.Testing 2020-04-02 00:16:01 -07:00
John Luo 36dcebbc23 Update Build.props 2020-04-01 21:21:55 -07:00
John Luo 4294861945 Migration cleanup 2020-04-01 12:02:53 -07:00
John Luo 6912dda560
Add gRPC interop tests (again) (#20069)
* Revert "Revert "Add gRPC interop tests (#17040)" (#20047)"

This reverts commit 236dcd9fbe.

* Fix daily and quarantine Helix runs

* Cleanup
2020-03-23 13:29:50 -07:00
Kevin Pilch 236dcd9fbe
Revert "Add gRPC interop tests (#17040)" (#20047)
This reverts commit 8afb78fb95.
2020-03-21 06:04:28 +00:00
James Newton-King 8afb78fb95
Add gRPC interop tests (#17040)
* WIP add interop tests

* Clean up

* Move test project into build infrastructure

* Clean up

* Remove hardcoded paths

* Clean up

* Fix build

* Add copyright notices

* Update azure template

* Fix build

* Fix build?

* Fix build?

* Add gRPC interop tests to CI

- Convert to using references managed by build infrastructure
- Use produced AspNetCore.App shared framework
- Save server logs
- Dynamically bind to ports
- Ensure InteropWebsite is built in the same configuration as the test project

* Cleanup

* Rebase fix

* Include tests assets in build directory for Helix

* Incorporate changes in ProcessEx

* Include Grpc test in regular build

* Fixup

* Test

* exe doesn't always exist

* Capture logs on helix

* Maybe this will work

* There are two application started messages

* Derp

* Cleanup

* Update directory

* Add interop tests to more pipelines

* mkdir

Co-authored-by: John Luo <johluo@microsoft.com>
2020-03-20 19:32:45 -07:00
John Luo 5f52370264 Merge fixes 2020-02-20 18:12:00 -08:00
John Luo 5f9f1ce183 Merge branch 'master' into johluo/migrating-extensions 2020-02-20 16:44:06 -08:00
John Luo 7d1f5d8c0b Updates for extensions migrations
- Multi-target ObjectPool
- Move Embedded.Manifest.Task.Internal.Entry to the public namespace
- Remove ref assemblies from AspNetCore.Testing
- Skip TestPathUtilitiesTest since it's a pattern we want to migrate away from
- Fix FileProviders.Abstractions version in Embedded.*.nuspec
- Add workarounds for project references to FileProviders.Embedded
2020-02-20 14:00:29 -08:00
Pranav K 31f63d9e72 Add a perf scenario involing nested components + editing
* Adds additional scenarios to address https://github.com/dotnet/aspnetcore/issues/17011
* Include commit hash so we can track the build of Blazor WASM associated with a perf run
* Port some infrastructure fixes from master

Fixes https://github.com/dotnet/aspnetcore/issues/17011
2020-02-18 15:08:30 -08:00
Stephen Halter 88073f86ff Merge branch 'release/3.1' into master 2020-02-18 13:46:51 -08:00
Pranav K c935e9aa2d
Blazor WebAssembly package renames (#19026)
Fixes https://github.com/dotnet/aspnetcore/issues/18384
2020-02-18 10:54:28 -08:00
Brennan ba74c35f0e
Build 3.1 site extension (#18568) 2020-02-14 09:35:01 -08:00
Pranav K 4201799425
Fixups to ensure benchmarks apps builds in the master branch
Fixes https://github.com/dotnet/aspnetcore/issues/18484
2020-02-10 15:55:54 -08:00
Doug Bunting 7ba757265f
Merge branch 'release/3.1' into merge/release/3.0-to-release/3.1
- upgrade Arcade SDK to '1.0.0-beta.19607.3'
- regenerate eng/ProjectReferences.props and ref/ projects
2019-12-11 20:03:03 -08:00
Doug Bunting cf6b5028c3
Improve generation and use of ref/ projects (#17311)
* Remove useless src/PackageArchive files
- not used outside 2.x branches

* Improve use of ref/ assemblies
- compile against ref/ assemblies but do not change package metadata
  - update the metadata of implementation projects to include the ref/ assembly path
  - update `@(ReferenceAssembly)` metadata for Extensions packages, not `@(PackageReference)`
  - can be disabled using `$(CompileUsingReferenceAssemblies)` e.g. when generating ref/ projects
- include ref/ projects in source build by default
  - remove `$(ExcludeFromSourceBuild)` overrides from ref/ project files
- use latest package references and use project references even when _not_ building the targeting packs
- restore previous `@(Reference)` -> `@(PackageReference)` logic
  - add build-only Microsoft.Internal.Extensions.Refs package reference in most cases
- remove IndirectReferences.props and `@(_ExtensionInternalRefAssemblies)`; no longer needed

* Improve ref/ project generation
- use ../src/**/AssemblyInfo.cs files instead of including attributes in *.Manual.cs files
  - for same reason, copy `@(InternalsVisibleto)` items from src/ to ref/ projects
- use eng/targets/CSharp.ReferenceAssembly.props instead of ref/Directory.Build.props files
- use TFM-specific *.Manual.cs files in ref/ project files instead of ref/Directory.Build.props files

optimizations and usability improvements:
- add `$(BuildMainlyReferenceProviders)` property to focus on reference providers when generating ref/ projects
- disable `$(UseReferenceAssemblyInImplementation)` to avoid using ref/ projects while generating them

nits:
- clean up whitespace and remove blank lines in ref/ project files

* Perform smaller cleanup
- remove `$(IsTargetingPackPatching)`; use only `$(IsTargetingPackBuilding)`
- remove `$(DisableServicingFeatures)`; enable the servicing features we need
  - suppress baseline references even in servicing builds
- restore `$(AdditionalGenApiCmdOptions)`; useful when updating *.Manual.cs files

nits:
- simplify conditions using `$(HasReferenceAssembly)`
- correct spelling in comments
- shorten long lines

* Use a response file for GenAPI commands
- work around dotnet/arcade#4021 and help with additional ref assemblies
- mimic 111462e0c2 and integrate w/ other changes here

* Undo some manual ref/ project changes
- now done automatically or centrally
- remove manual `[TypeForwardedTo]` and `[InternalsVisibleTo]` attributes
  - fully qualify a type now that `using` is gone
- remove dupe `@(Compile)` items for *.Manual.cs files; included in the ref/ project files
- remove redundant `$(AllowUnsafeBlocks)` and `$(NoWarn)` settings

nits:
- rename a *.Manual.cs file that's not TFM-specific
- remove `private` members

* Correct use of `@(ProjectReference)` items for reference providers
- use `@(Reference)` instead

* Remove recently-added `@(Compile)` and `@(Reference)` items
- were added due to missing `[InternalsVisibleTo]` attributes in ref/ assemblies or as early workarounds
  - plus, now transitive references **Just Work™️**
- expose `ClosedGenericMatcher` in the usual (*.Manual.cs) way
- also undo Microsoft.Extensions.ApiDescription.Server workaround

* Remove `private` members from ref/ *.Manual.cs files
- not useful and bloat the ref/ assemblies

* Cleanup warnings
- avoid "CSC warning CS2008: No source files specified." building site extensions
- correct warnings (as errors) about `RenderToStringResult` being obsolete
  - add Microsoft.AspNetCore.SpaServices.Tests to Middleware solution

* Remove `@(RuntimeHostConfigurationOption)` workarounds
- deps files are unaffected by new ref/ assembly handling and test projects aren't special-cased
- also execute a test previously skipped due to deps file problems

* Regenerate ref/ projects
- pick up the latest generation changes

(unclear why Mvc.RazorPages/ref/Microsoft.AspNetCore.Mvc.RazorPages.netcoreapp3.0.cs changed but works)

* Fill in missing `internal` types 1 of n
- rename Microsoft.AspNetCore.Components.netstandard2.0.Manual.cs; need `RenderTreeFrame` type everywhere
- add types needed in unit and perf tests to *.Manual.cs files

* Clean up recent commits
- remove recently-added `private` members
- restore `_dummyPrimitive` fields in Microsoft.AspNetCore.Server.HttpSys.Manual.cs

* Add *.Manual.cs files for more projects

* !fixup! fields in *.Manual.cs `struct`s
- GenAPI sometimes generates `_dummy` and `_dummyPrimitive` fields _instead of_ visible members
- what GenAPI generates sometimes have the right length but actual fields don't hurt
  - that is, using the real fields corrects both the visible API and `struct`s' sizes

nits:
- consolidate `namespace`s in Microsoft.AspNetCore.Mvc.Core.Manual.cs

* Remove special case for generating ref/ projects on non-Windows
- referenced issue was closed with no action but workaround still not required
- no tabs in generated content

* Only create ref/ projects for assemblies in the shared framework
- restrict when `$(HasReferenceAssembly)` is `true` by default
- add warnings when `$(IsAspNetCoreApp)` or `$(HasReferenceAssembly)` have unexpected values

* Remove "extra" ref/ projects
- associated implementation projects no longer have `$(HasReferenceAssembly)` set to `true`

* Add a few GenAPI exclusions
- see dotnet/arcade#4488
- generation for these members leads to NREs

* Add more `internal` types and members
- Identity/Core
- Identity/Extensions.Core
- Mvc/Mvc.ViewFeatures

* Add direct dependencies to work around CS1705 errors
- add direct references to some test and sample projects to make intent clear i.e. address CS1705 root cause
  - these projects must use implementation assemblies for those direct references
  - requirement also applies to anything depending on them e.g. functional tests
  - for simplicity, use `$(CompileUsingReferenceAssemblies)` instead of targeted `@(Reference)` metadata
- leads to ~40 projects that do not themselves add ref/ metadata
  - this is _not_ transitive i.e. it applies only to projects that override `$(CompileUsingReferenceAssemblies)`

* nits: Remove a few more `private` members in *.Manual.cs files

* !fixup! correct namespaces of a few types in *.Manual.cs files

* Try another way to fix Microsoft.AspNetCore.Blazor.Build.Tests

* Try another way to fix missing targets in Web.JS.npmproj
2019-12-11 07:36:59 -08:00
Pranav K ca16c7fd59
Merge remote-tracking branch 'origin/blazor-wasm' into prkrishn/merge-remaining-blazor-wasm 2019-12-05 11:04:26 -08:00
Pranav K 7fc46862ea
Run build and publish tests for Blazor templates (#17410)
* Add build and publish tests for Blazor hosted
*  Add build tests for Blazor standalone
* Cleanup project template

Fixes https://github.com/aspnet/AspNetCore/issues/14866
Fixes https://github.com/aspnet/AspNetCore/issues/10269
Fixes https://github.com/aspnet/AspNetCore/issues/9168
2019-12-03 14:29:05 -08:00
Pranav K 76ae0a2e21
Build fewer things in blazor-wasm (#17533) 2019-12-03 13:47:33 -08:00
Pranav K d6c88a36ff
More cleaning up Blazor.Build package (#17157)
* More cleaning up Blazor.Build package

* Clean up MonoRuntime targets
* Convert executables in to tasks
* Add tests
2019-11-22 09:54:20 -08:00
Pranav K ba094b6ccb
Don't compile the Components 2019-09-11 14:54:38 -07:00
Ryan Brandenburg cfcffd8251 OpenAPI ServiceReference Tool (#12810)
Add ServiceReference tool
2019-08-22 11:16:16 -07:00
Ryan Nowak 29cf7ecb80 Remove Blazor VSIX
This is no longer shipped, because the templates installed by `dotnet
new -i` show up in VS now. Removing it now so we don't have to keep it
around in servicing forever.
2019-08-12 18:32:02 -07:00
John Luo 43350b57b9
Revert "Revert "Improve components infrastructure (#12145)" (#12679)" (#12744)
* Revert "Revert "Improve components infrastructure (#12145)" (#12679)"

This reverts commit e2d57e2806. The improvement to components infrastructure is now reinstated with the following changes:

* Check in release JS artifacts and use them as a fallback when it's not possible to build npmproj.
* Dont' build nodejs in source build.
2019-08-05 15:17:55 -07:00
John Luo e2d57e2806
Revert "Improve components infrastructure (#12145)" (#12679)
* Revert "Improve components infrastructure (#12145)"

This reverts commit e149f9c0aa.

* Update JS file
2019-07-29 09:03:57 -07:00
John Luo e149f9c0aa
Improve components infrastructure (#12145)
* Remove generated Web.JS javascript files files

* Build NodeJS project referenced by managed projects by default

* Build Web.JS before other CI jobs

- We can't build Web.JS on Linux Musl for example

* Make BuildAll not override explicit BuildJava/NodeJS/Native/Managed settings

* Capture CodeCheck logs for debugging

* Skip NodeJS projects when generation ref assemblies

* Do not build dependent projects if NodeJS is not built

* Make build fail immediately if BuildNodeJS is true but NodeJS is not installed

* Do not build nodejs in installer builds
2019-07-26 13:31:01 -07:00
John Luo 94f84c4776
Build SiteExtensions (#11409) 2019-06-24 19:37:51 -07:00
Nate McMaster 4fde84a7ad Replace KoreBuild with Arcade (#11122)
* Replace usages of $(CI) with $(ContinuousIntegrationBuild)

* Move RepoTasks to eng/tools/

* Remove dead code

* Update build.sh/ps1 to invoke Arcade instead of KoreBuild

* build/repo.props => eng/Build.props

* build/CodeSign.{props,targets} => eng/Signing.props

* build/repo.targets => eng/Build.props, eng/CodeGen.proj, and eng/AfterSolutionBuild.targets

* Remove AddAllProjectRefsToSolution.ps1

* Put selenium process tracking into artifacts/tmp/

* build/docker => eng/docker

* Move content from korebuild.json to global.json

* Remove cibuild.{sh,cmd} and update ci.yml

* Ensure vswhere detects BuildTools installations

* Remove sign check exclusions (Arcade does not support)

* list VS required components in global.json

* Update CodeCheck.ps1

* Update arcade (#11143)

* Fixups to broken build

* capture test results in xunit form
* attempt to fix code check
* restore before linux build
* remove duplicate signinfos

* More build fixes

* exclude node_modules from unique project check
* fixup signing props

* More build fixes

* Remove unused NoWarns
* Skip building site extension
* Suppress xunit color in console output
* Install x86 runtime

* Run KillProcesses.ps1 at end of build on CI

* activate env vars in codecheck.ps1

* Fix signing and generate build manifests

* Fixup code check and linux installers build

* Remove custom restore targets

* Import flaky test props

* Restore original manifest generation code and set warnAsErrors=false

* Alwasy restore the toolset

* More attempts at build fixes

* run restore before building deb/rpm packages
* pre-install Yarn.MSBuild
* Remove WIX workaround

* Attempt to fix RPM installers and x86 build

* Fix helix tests, java auto-detection, and code gen steps

* Globally disable MSBuild node resuse and capture MSbuild crash logs

* Cleanup build invocation for installers

* Set max time on xunit tests to 15 min

* Update helix-test.yml

* Fix Hosting tests

* Fix TestHost

* Fix Negotiate.Test

* Fix Mvc tests

* Capture results

* Fix Hosting tests

* Fix Kestrel tests

* Fix ServerComparison tests

* Fix DefaultBuilder functional tests

* Skip template tests

Need to run pack before running tests on mac/linux now

* Fix Identity test

* Fix ServerComparison tests

* Verify nginx installation on ubuntu

* Verify nginx installation?

* Try adding to path

* Try symlink

* Sudo?

* Woot it works

* Disable timeout

Template tests require more than 15 mins

* list env vars

* Use correct dotnet_home

* Prepent path instead

* Fix npmproj tests

* Fix CORS tests

* Debug signalr tests

* Debug signalr

* Capture bin

* Try building templates sequentially

* Debug signalr

* Cleanup

* Disable signalr npm tests

* Debug template test

* Try to fix templates again and make steps more reliable

* Cleanup

* Feedback
2019-06-19 10:03:38 -07:00