Commit Graph

365 Commits

Author SHA1 Message Date
Eilon Lipton 69732c9ecc
Remove unused namespaces from Worker template Program.cs (#8574)
Follow-up to 17344cd37f
2019-03-20 20:54:40 -07:00
Javier Calvarro Nelson 9f1a978230
[Infrastructure improvements] (#8275)
* Improved selenium start and tear down
  * Selenium is set up and torn down in an assembly fixture.
  * Selenium is initialized lazily and in a non-blocking way.
  * Selenium processes are tracked as part of the build and their pids
    written to a file on disk for cleanup in the event of unexpected
    termination of the test process.
  * Browser fixture retries with linear backoff to create a remote
    driver. Under heavy load (like when we are doing a simultaneous NPM
    restore) the selenium server can become unresponsive so we retry
    three times, with a longer comand timeout allowance each time up to
    a max of 3 minutes.
* Moved test project setup to build time instead of runtime.
  * Added target PrepareForTest to create the required files for testing
    * The template creation folder.
    * The template props file to use our built packages.
    * The folder for the custom hive.
  * Added assembly metadata attributes to find all the data we need to
    run the tests.
    * Path to the artifacts shipping packages folder.
    * Path to the artifacts non-shipping packages folder.
    * Path to the test templates creation folder.
    * Path to use for the custom templating hive used in tests.
  * Proper cleanup as part of the build
    * Remove the test templates creation folder.
    * Remove the test packages restore path.
    * Recreate the test templates creation folder.
    * Recreate the test packages restore path.
  * Generated Directory.Build.Props and Directory.Build.Targets in the
    test templates creation folder.
  * Cleaned up potentially stale templatetestsprops.
* Improved test flows
  * Initialization is done lazily and asynchronously.
    * Selenium
    * Browser fixture
    * Template initialization.
  * Flattened test flows to avoid assertions inside deep callstacks.
    * All assertions happen at the test level with improved error messages.
      * With the exception of the migrations assertions.
    * Assertions contain information about which step failed, for what
      project and what failure details.
  * Broke down tests to perform individual steps instead of mixing build
    and publish.
    * Publish project.
    * Build project. (Debug)
    * Run built project.
    * Run published project.
  * Concentrated build logic into the Project class.
    * Context between the different steps of a test is maintained in
      this class.
    * All operations that require coordination are performed within this
      class.
      * There is a lock for dotnet and a lock for nodejs. When building
        SPAs we acquire the nodejs lock to correctly prevent multiple
        runs of nodejs in parallel.

[ApiAuthorization template cleanups]
  * Fix preview3 issues with breaking changes on Entity framework by
    manually configuring the model in ApiAuthorizationDbContext.
  * Add app.db to the project file when using local db.
  * Fix linting errors on angular template.
  * Fix react tests
  * Add tests to cover new auth options in the SPA templates.
2019-03-20 08:44:20 +01:00
Artak Mkrtchyan 37a48d897b Update default log levels for templates 2019-03-19 13:52:14 -07:00
Matheus Marques 5c6e1aa1d9 [Templating] Fix react template typos (#8592) 2019-03-18 09:42:56 +01:00
Ryan Nowak 4b4614635f Change template -> pattern for MVC 2019-03-13 20:12:53 -07:00
Ryan Brandenburg 8250442159
Add tests for identity UI (#8351) 2019-03-11 11:21:43 -07:00
Javier Calvarro Nelson d7a9606040
[Templating][Components] Unify and improve E2E testing infrastructure (#8188)
* Unify the Templating and Components testing infrastructure.
* Enable test project discovery in the components E2E tests.
* Enable selectively disabling Selenium tests through build properties.
2019-03-11 18:40:18 +01:00
Eilon Lipton 17344cd37f Improvements to Worker.cs project template item
Fixes #8354
2019-03-10 22:43:54 -07:00
John Luo 2cf67cb7c0
Update template icons (#7931) 2019-03-08 10:44:32 -08:00
Ryan Brandenburg e0ce17bc3f
Update IDs for RazorComponents (#8301) 2019-03-07 14:43:44 -08:00
Andrew Stanton-Nurse 7fb3d57f54
Skip some more flaky tests (#8194) 2019-03-07 09:40:26 -08:00
Doug Bunting 697a1009d2
Merge branch 'release/2.2' => 'master' (#7630)
- barely [automated]
2019-03-06 14:42:33 -08:00
Kevin Ransom (msft) 35ac392fb6 Fix F# template (#7637) 2019-03-06 12:47:28 -08:00
Ryan Brandenburg 706b8345dc Regenerate package-lock.json 2019-03-06 11:55:05 -08:00
Ryan Brandenburg 7573597577 Merge branch 'merge/release/2.2-to-master' of github.com:dotnet-maestro-bot/AspNetCore into merge/release/2.2-to-master 2019-03-06 11:36:41 -08:00
Ryan Brandenburg 0add673139
Include more template baselines (#4186)
Include more template baselines
2019-03-05 12:02:34 -08:00
Chris Ross b9fda976c0
Update Worker template for Worker SDK (#7965)
* Update Worker template for Worker SDK

* Change template order

* Remove servergc
2019-03-04 16:17:25 -08:00
Chris Ross 93b195e566
Change SameSite default to None #2675 #4661 (#8043) 2019-03-01 16:22:12 -08:00
Ryan Brandenburg 4a5720beba Updated PR with my changes 2019-03-01 15:25:58 -08:00
Andrew Stanton-Nurse 9a61275fa6
skipping ReactRedux test due to flakiness (#8100)
related #7377
2019-03-01 13:54:57 -08:00
Ryan Brandenburg 0d489304a4
Skip react for now (#8053)
Skip react for now
2019-03-01 09:47:53 -08:00
Nate McMaster e7b00a5508
Deprecate the Microsoft.AspNetCore.App metapackage in favor of targeting and runtime packs (#7832)
* Deprecate the Microsoft.AspNetCore.App metapackage in favor of targeting and runtime packs
* Stop producing Microsoft.AspNetCore.App, and runtime.$(rid).Microsoft.AspNetCore.App
* Generate the shared framework without using 'NuGet' restore
* Stop producing intermediate packages for shared-framework only assemblies
* Put the platform manifest into the targeting pack (data/Microsoft.AspNetCore.App.PlatformManifest.txt)
* Create well-known, shared intermediate directories that installers can use to bundle content
2019-02-28 10:14:18 -08:00
Chris R 58915cb8e4 Remove servergc 2019-02-27 14:53:38 -08:00
Chris R 608505652a Change template order 2019-02-26 14:32:22 -08:00
Chris R 0d304917dc Update Worker template for Worker SDK 2019-02-26 12:07:14 -08:00
Doug Bunting d515bd977f
Merge branch 'master' into merge/release/3.0-preview3-to-master 2019-02-25 15:56:46 -08:00
Ryan Brandenburg 03460d81ce
Add retries to CDN downloads (#7881)
Add retries to CDN downloads
2019-02-25 14:44:22 -08:00
Steve Sanderson 87f4ca7299
[Templates] Imports and CSS tweaks for forms/validation (#7914)
* Add Microsoft.AspNetCore.Components.Forms to default Components imports

* Add default validation CSS rules in Components/Blazor templates

* Add default validation CSS styles to Components testassets projects
2019-02-25 21:50:12 +00:00
Nate McMaster e02e047dcb
Merge branch 'master' into merge/release/3.0-preview3-to-master 2019-02-24 09:31:17 -08:00
John Luo e65004907a
Docker support not available for multi-project templates (#7878) 2019-02-22 16:55:30 -08:00
Javier Calvarro Nelson efaaa55d44 [Templating] Add favicon.ico to the components template 2019-02-22 16:00:58 -08:00
Nate McMaster 7fe3b7640d
Merge branch 'release/3.0-preview3' 2019-02-22 15:07:50 -08:00
Steve Sanderson 99d7d34447 In Razor Components template, use <environment> tag helper for bootstrap CSS. Fixes #6886 2019-02-22 17:39:00 +00:00
Ryan Brandenburg 511538a19e
Revert bad merge in React app (#7769) 2019-02-21 21:46:27 -08:00
Javier Calvarro Nelson 2d9cba86fd [Components] Prerrendering startup experience (#7770)
[Components] Prerrendering startup experience
* Introduces an IComponentPrerrenderer to handle Prerrendering
  * MVC registers a basic static prerrrenderer.
  * Components registers a more feature complete prerrender that will
    handle reconnection to the original circuit after prerrendering in
    the future to allow for prerrendered interactive components.
* Removes UseRazorComponents
  * Removes the SPA fallback in favor of a catch all route in
    Index.cshtml
  * Moves the framework files to be served by the default StaticFiles
    middleware in the pipeline by way of plugging specific providers
    through options.
  * Lifts UseSignalR(r => r.MapHub<ComponentHub>()) into startup and
    replaces it with a shorthand for MapHub using endpoint routing.
  * Adds extension methods to map components to selectors for a given
    hub.
* Updates the razor component templates to include prerendering and use a razor page as the entry 
   point.
2019-02-21 16:26:44 -08:00
Javier Calvarro Nelson ea97934127 [Templating]Api authorization spa integration (#7721)
[Templating] Adds authentication support for the SPA templates
* Adds a new -auth option to the Angular and React templates with None and Individual values.
* When using authentication it configures the server to use the ApiAuthorization support built for 3.0
* For angular it adds an ApiAuthorization Angular module that handles the authentication flows through 
   a Login and a Logout components and exposes an Http client interceptor, a routing guard and a Login 
   menu component for the main Angular application to integrate authentication into the app.
* For react it adds a Login and Logout components to handle the authentication flows, an 
  AuthorizeRoute component to protect access to other routes and a Login menu component to 
  integrate authentication into the application.
2019-02-21 16:23:55 -08:00
John Luo 2fd9e40b58 Merge branch 'release/3.0-preview3' 2019-02-21 16:01:22 -08:00
John Luo 4c0b114b12
Add gRPC templates (#7561) 2019-02-21 15:12:13 -08:00
Pavel Krymets 9355c7c1a5
Add reference assemblies support (#7764) 2019-02-21 14:33:35 -08:00
Ryan Brandenburg b2ee8e6b66 Merge branch 'merge/release/2.2-to-master' of https://github.com/dotnet-maestro-bot/AspNetCore into merge/release/2.2-to-master 2019-02-20 16:21:24 -08:00
Ryan Brandenburg 5a7bfbbc01
Use Bootstrap 3.4.1 and 4.3.1 (#7719)
Use Bootstrap 3.4.1. and 4.3.1
2019-02-20 15:55:49 -08:00
Nate McMaster 85ae18c723
Make Visual Studio 2019 a prerequisite to building this repo (#7005)
Changes:

* Make Visual Studio 2019 a prerequisite for building this repo
* Update .sln files
* Update Windows SDK to 17134
* Update developer docs
* Disable ANCM tests
* Update to .NET Core SDK 3.0 Preview 2
* Use Microsoft.NET.Sdk.Razor as a package consistently accross the repo
* React to changes in metadata from Microsoft.NETCore.App
* React to changes in .NET Core SDK
* Attempt to workaround CodeCheck.ps1 failure which doesn't repro locally or on different agents. Possibly due to differences in the version of the PowerShell task?
* Remove dead YML file
* Rename usages of win7-{x64,x86} to win-{x64,x86}
* Update KoreBuild to 3.0.0-build-20190219.1
2019-02-20 09:53:53 -08:00
Steve Sanderson 895e1c69e0
Components/Blazor template updates (#7709)
* In Blazor hosted template, only UseBlazorDebugging in development environment. Fixes #7275

* Enable HTTPS in the Razor Components template. Fixes #6928

* Reduce Razor Components template to one project. Fixes #6883

* Minor phrasing tweak

* In Razor Components template, change .cshtml to .razor, except _ViewImports.cshtml

* Put back LangVersion

* Update RazorComponentsTemplateTest
2019-02-20 13:16:05 +00:00
Chris Ross 4e44025a52
Replace IHostingEnvironment with IWebHostEnvironment (#7725) 2019-02-19 21:11:52 -08:00
Ryan Brandenburg 69abefa06f
[Design] Harden template package installer and fix name (#7624)
Harden template package installer and fix name
2019-02-19 14:41:59 -08:00
Ajay Bhargav Baaskaran c565386a3e
Merge pull request #7597 from aspnet/ajbaaska/merge-master
Merge branch 'release/2.2' to master
2019-02-14 23:20:18 -08:00
Ajay Bhargav Baaskaran b3d3f5e7fb Updated missed slns 2019-02-14 17:35:48 -08:00
Nate McMaster 6defaadb8b
Update location of obj/ and bin/ directories to match Arcade conventions (#7585) 2019-02-14 16:27:53 -08:00
Ryan Brandenburg 6ea3f27dbb
Merge pull request #4565 from martinpe36/master
Update React-Redux client app to use TypeScript instead of JavaScript
2019-02-14 08:14:07 -08:00
Chris Ross d1aa53721b
Add launchSettings.json to worker template (#7550)
* Add launchSettings.json to worker template #7545
* Switch back to the Web SDK
2019-02-13 15:54:15 -08:00
Nate McMaster 338de4710a
Automatically set 'PrivateAssets=All' for .Sources references (#7539)
When a `<Reference>` is named `*.Sources`, set PrivateAssets=All (exclude from generated nuspec) and IncludeAssets=ContentFiles (only consume content files, not .dll's)
2019-02-13 14:31:15 -08:00
Nate McMaster 2ac4619635
Replace custom targets for generating assembly attributes and source control info by using SDK features (#7504) 2019-02-13 10:22:03 -08:00
Chris Ross 8f72b87981
Enable docker for the worker template #6817 (#7508) 2019-02-12 15:09:27 -08:00
Javier Calvarro Nelson 6827bb7443
[Templating] Razor class library for components (#7461)
* [Components] Razor class library for components
* Updates the Razor Class Library to be a portable components library by
  default.
* Adds an option to support the old RCL that includes support for Views
  and pages.
* Usage:
  * `dotnet new razorclasslib` produces the same traditional Razor Class Library.
  * `dotnet new razorclasslib -s false` produces a Razor Class Library without views and pages support.
2019-02-12 06:08:11 -08:00
Chris Ross 05923e9151
Get worker tempalte showing up in VS (#7478) 2019-02-11 20:25:17 -08:00
Ryan Nowak acd1cf3251
Update MVC/Routing Startup Experience (#7425)
* Relayer MvcEndpointDataSource

Separates the statefulness of the data source from the business logic of
how endpoints are created.

I'm separating these concerns because one of the next steps will split
the MvcEndpointDataSource into two data sources.

* Simplify MvcEndpointInfo

Removing things that are unused and leftovers from the 2.2 design of
this feature.

* Remove per-route conventions

Removes the ability to target endpoint conventions
per-conventional-route. This was a neat idea but we have no plans to
ship it for now.

Simplified MvcEndpointInfo and renamed it to reflect its new purpose.

* Remove filtering from MvcEndpointDataSource

This was neat-o but we're not going to ship it like this. We're going to
implement filtering in another place. Putting this in the data source is
pretty clumsy and doesn't work with features like application parts that
need to be baked in addservices

* Simplify ActionEndpointFactory

* Split up data sources

* Use UseRouting in functional tests

I've rejiggered our functional tests to de-emphasize UseMvc(...) and
only use it when we're specifically testing the old scenarios.
UseMvc(...) won't appear in templates in 3.0 so it's legacy.

* Update templates

* Add minor PR feedback

* one more
2019-02-11 19:18:05 -08:00
Chris Ross 597c8434d5
Background Worker template (#7401) 2019-02-11 14:53:50 -08:00
Hao Kung c9499e14e4
Run helix tests on master (#6728) 2019-02-07 09:20:08 -08:00
Nate McMaster 075612b988
Install the .NET Core SDK into the repo root instead of UserProfile and 'install' copy of AspNetCore shared framework (#7293)
This is required to workaround several limitations in the way the .NET Core SDK finds shared frameworks and targeting packs. It allow tests to use shared frameworks and targeting packs.

It also matches the patterns established in other aspnet and dotnet repos. This should reduce the friction required to adopt Arcade SDK.

## Changes

* This moves the default location of the .NET Core SDK installation into `$repoRoot/.dotnet`. This location was already in use for CI builds. 
* Update the build step for Microsoft.AspNetCore.App to install the shared framework into the local copy of the .NET Core SDK

## Recommendations

* Use the "startvs.cmd" script to launch Visual Studio. This will set required environment variables to make VS happier than if you just double click the .sln file.
* Use "activate.sh/ps1" if you want to run `dotnet build`, `dotnet test` and other dotnet commands. These will set required environment variables, including PATH.
* I recommend removing %USERPROFILE%/.dotnet to your PATH variable if you had added it manually before. This will no longer match what build tools will install.
* `git clean -xfd -e .dotnet/` preserves the folder so you don’t have to re-download the SDK again.
2019-02-06 11:20:49 -08:00
Martin Perry 01e986e1d3 Move ReactRedux-CSharp TypeScript files to new ProjectTemplates folder 2019-02-05 22:47:08 +00:00
Martin Perry 61f68ccf6a Merge 2019-02-05 16:55:21 +00:00
Pranav K 1dcfa6e7fd Use Razor Runtime Compilation in F# StarterWeb project
Fixes https://github.com/aspnet/AspNetCore/issues/4320
2019-02-01 10:51:14 -08:00
Casey Western 5a4a001d18 Removed unused app component css file (#4438)
* Removed unused css for app component

* Removed empty css file
2019-01-31 14:40:50 -08:00
Nate McMaster ac04019e42
Remove obsolete build infrastructure (#6995)
Changes:

* Remove obsolete targets which are unnecessary now that this repo no longer builds git submodules in a separate build process
* Remove the need for static analysis of 'ArtifactInfo' items
* Simplify how the code signing task is configured
* Remove unused repo tasks
* Remove duplicate lists of external dependencies and packages to be produced
* Remove obsolete build definition
* Remove obsolete build script parameters
* Add VisualStudioSetupOutputPath
2019-01-28 09:57:59 -08:00
Nate McMaster 33bc4576da
Convert ProjectTemplates to build using ProjectReferences (#6935) 2019-01-23 15:54:47 -08:00