Просмотр исходного кода

Merge branch 'release/2.1' into release/2.2

Nate McMaster 7 лет назад
Родитель
Сommit
569a14ecb8
100 измененных файлов с 402 добавлено и 914 удалено
  1. 8 10
      .azure/pipelines/ci.yml
  2. 5 2
      .azure/pipelines/jobs/default-build.yml
  3. 30 0
      .azure/pipelines/pr-validation-temp.yml
  4. 1 1
      Directory.Build.targets
  5. 11 0
      THIRD-PARTY-NOTICES
  6. 1 1
      build/PackageArchive.targets
  7. 6 2
      build/Publish.targets
  8. 2 1
      build/RepositoryBuild.targets
  9. 1 1
      build/SharedFx.targets
  10. 2 3
      build/artifacts.props
  11. 0 2
      build/buildorder.props
  12. 0 3
      build/external-dependencies.props
  13. 0 16
      build/lineups/Internal.AspNetCore.Universe.Lineup.nuspec
  14. 11 4
      build/repo.props
  15. 5 44
      build/repo.targets
  16. 0 2
      build/submodules.props
  17. 0 61
      build/tasks/Logger/FlowLogger.cs
  18. 4 3
      build/tasks/RepoTasks.csproj
  19. 36 0
      eng/Baseline.Designer.props
  20. 3 0
      eng/Baseline.xml
  21. 6 2
      eng/Dependencies.props
  22. 3 0
      eng/ProjectReferences.props
  23. 0 1
      eng/dependencies.temp.props
  24. 4 0
      eng/targets/CSharp.Common.props
  25. 1 0
      eng/targets/ResolveReferences.targets
  26. 1 1
      global.json
  27. 2 2
      korebuild-lock.txt
  28. 14 0
      korebuild.json
  29. 0 130
      scripts/GenerateTags.ps1
  30. 0 5
      scripts/GetPackageVersion.targets
  31. 0 23
      scripts/ListRepoVersions.ps1
  32. 0 111
      scripts/PatchVersionPrefix.ps1
  33. 0 66
      scripts/TagRepos.ps1
  34. 0 133
      scripts/UpdateDependenciesCoreFx.ps1
  35. 0 148
      scripts/UpdateRepos.ps1
  36. 0 2
      scripts/requirements.txt
  37. 0 100
      scripts/update_travis_appveyor_yml.py
  38. 0 7
      src/AADIntegration/build/repo.props
  39. 0 6
      src/Antiforgery/build/repo.props
  40. 0 7
      src/AuthSamples/build/repo.props
  41. 0 5
      src/AzureIntegration/build/repo.props
  42. 0 7
      src/CORS/build/repo.props
  43. 0 0
      src/Http/Routing.Abstractions/src/Endpoint.cs
  44. 0 0
      src/Http/Routing.Abstractions/src/EndpointMetadataCollection.cs
  45. 0 0
      src/Http/Routing.Abstractions/src/IEndpointFeature.cs
  46. 0 0
      src/Http/Routing.Abstractions/src/IOutboundParameterTransformer.cs
  47. 0 0
      src/Http/Routing.Abstractions/src/IParameterPolicy.cs
  48. 0 0
      src/Http/Routing.Abstractions/src/IRouteConstraint.cs
  49. 0 0
      src/Http/Routing.Abstractions/src/IRouteHandler.cs
  50. 0 0
      src/Http/Routing.Abstractions/src/IRouteValuesFeature.cs
  51. 0 0
      src/Http/Routing.Abstractions/src/IRouter.cs
  52. 0 0
      src/Http/Routing.Abstractions/src/IRoutingFeature.cs
  53. 0 0
      src/Http/Routing.Abstractions/src/LinkGenerator.cs
  54. 0 0
      src/Http/Routing.Abstractions/src/LinkOptions.cs
  55. 2 2
      src/Http/Routing.Abstractions/src/Microsoft.AspNetCore.Routing.Abstractions.csproj
  56. 0 0
      src/Http/Routing.Abstractions/src/Properties/AssemblyInfo.cs
  57. 0 0
      src/Http/Routing.Abstractions/src/Properties/Resources.Designer.cs
  58. 0 0
      src/Http/Routing.Abstractions/src/Resources.resx
  59. 0 0
      src/Http/Routing.Abstractions/src/RouteContext.cs
  60. 0 0
      src/Http/Routing.Abstractions/src/RouteData.cs
  61. 0 0
      src/Http/Routing.Abstractions/src/RouteDirection.cs
  62. 0 0
      src/Http/Routing.Abstractions/src/RouteValueDictionary.cs
  63. 0 0
      src/Http/Routing.Abstractions/src/RoutingHttpContextExtensions.cs
  64. 0 0
      src/Http/Routing.Abstractions/src/VirtualPathContext.cs
  65. 0 0
      src/Http/Routing.Abstractions/src/VirtualPathData.cs
  66. 0 0
      src/Http/Routing.Abstractions/src/baseline.netcore.json
  67. 0 0
      src/Http/Routing.Abstractions/test/EndpointMetadataCollectionTests.cs
  68. 11 0
      src/Http/Routing.Abstractions/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj
  69. 0 0
      src/Http/Routing.Abstractions/test/RouteDataTest.cs
  70. 0 0
      src/Http/Routing.Abstractions/test/RouteValueDictionaryTests.cs
  71. 0 0
      src/Http/Routing.Abstractions/test/VirtualPathDataTests.cs
  72. 185 0
      src/Http/Routing.sln
  73. 0 0
      src/Http/Routing/perf/EndpointMetadataCollectionBenchmark.cs
  74. 0 0
      src/Http/Routing/perf/EndpointRoutingBenchmarkBase.cs
  75. 0 0
      src/Http/Routing/perf/LinkGeneration/LinkGenerationGithubBenchmark.cs
  76. 0 0
      src/Http/Routing/perf/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs
  77. 0 0
      src/Http/Routing/perf/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs
  78. 0 0
      src/Http/Routing/perf/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs
  79. 0 0
      src/Http/Routing/perf/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs
  80. 0 0
      src/Http/Routing/perf/LinkGeneration/SingleRouteWithParametersBenchmark.cs
  81. 0 0
      src/Http/Routing/perf/Matching/FastPathTokenizerBenchmarkBase.cs
  82. 0 0
      src/Http/Routing/perf/Matching/FastPathTokenizerEmptyBenchmark.cs
  83. 0 0
      src/Http/Routing/perf/Matching/FastPathTokenizerLargeBenchmark.cs
  84. 0 0
      src/Http/Routing/perf/Matching/FastPathTokenizerPlaintextBenchmark.cs
  85. 0 0
      src/Http/Routing/perf/Matching/FastPathTokenizerSmallBenchmark.cs
  86. 0 0
      src/Http/Routing/perf/Matching/JumpTableMultipleEntryBenchmark.cs
  87. 0 0
      src/Http/Routing/perf/Matching/JumpTableSingleEntryBenchmark.cs
  88. 0 0
      src/Http/Routing/perf/Matching/JumpTableZeroEntryBenchmark.cs
  89. 0 0
      src/Http/Routing/perf/Matching/MatcherAzureBenchmark.cs
  90. 0 0
      src/Http/Routing/perf/Matching/MatcherAzureBenchmarkBase.generated.cs
  91. 0 0
      src/Http/Routing/perf/Matching/MatcherBuilderAzureBenchmark.cs
  92. 0 0
      src/Http/Routing/perf/Matching/MatcherBuilderGithubBenchmark.cs
  93. 0 0
      src/Http/Routing/perf/Matching/MatcherBuilderMultipleEntryBenchmark.cs
  94. 0 0
      src/Http/Routing/perf/Matching/MatcherGithubBenchmark.cs
  95. 0 0
      src/Http/Routing/perf/Matching/MatcherGithubBenchmarkBase.generated.cs
  96. 0 0
      src/Http/Routing/perf/Matching/MatcherSingleEntryBenchmark.cs
  97. 0 0
      src/Http/Routing/perf/Matching/RouteEndpointAzureBenchmark.cs
  98. 0 0
      src/Http/Routing/perf/Matching/TrivialMatcher.cs
  99. 0 0
      src/Http/Routing/perf/Matching/TrivialMatcherBuilder.cs
  100. 47 0
      src/Http/Routing/perf/Microsoft.AspNetCore.Routing.Performance.csproj

+ 8 - 10
.azure/pipelines/fast-pr-validation.yml → .azure/pipelines/ci.yml

@@ -1,19 +1,17 @@
+# Don't run CI for this config yet. We're not ready to move official builds on to Azure Pipelines
+trigger: none
 
-trigger:
-- master
-- release/*
+# Run PR validation on all branches
+pr:
+  branches:
+    include:
+    - '*'
 
 jobs:
-- template: jobs/default-build.yml
-  parameters:
-    jobName: PR_FastCheck
-    jobDisplayName: Fast Check
-    agentOs: Windows
-    buildArgs: "/t:FastCheck"
 - template: jobs/default-build.yml
   parameters:
     jobName: Windows_Build
-    jobDisplayName: "Build: Windows"
+    jobDisplayName: "Build and test: Windows"
     agentOs: Windows
     beforeBuild:
     - powershell: "& ./src/IISIntegration/tools/UpdateIISExpressCertificate.ps1; & ./src/IISIntegration/tools/update_schema.ps1"

+ 5 - 2
.azure/pipelines/jobs/default-build.yml

@@ -63,7 +63,7 @@ jobs:
 - job: ${{ coalesce(parameters.jobName, parameters.agentOs) }}
   displayName: ${{ coalesce(parameters.jobDisplayName, parameters.agentOs) }}
   dependsOn: ${{ parameters.dependsOn }}
-  timeoutInMinutes: 90
+  timeoutInMinutes: 120
   workspace:
     clean: all
   strategy:
@@ -103,6 +103,9 @@ jobs:
   steps:
   - checkout: self
     clean: true
+  - task: NodeTool@0
+    inputs:
+      versionSpec: 10.x
   - ${{ if and(eq(parameters.agentOs, 'Windows'), eq(parameters.codeSign, 'true')) }}:
     - task: MicroBuildSigningPlugin@1
       displayName: Install MicroBuild Signing plugin
@@ -123,7 +126,7 @@ jobs:
     inputs:
       testRunTitle: $(AgentOsName)-$(BuildConfiguration)
       testRunner: vstest
-      testResultsFiles: 'artifacts/logs/**/*.trx'
+      testResultsFiles: '**/artifacts/**/*.trx'
       mergeTestResults: true
   - ${{ if eq(parameters.artifacts.publish, 'true') }}:
     - task: PublishBuildArtifacts@1

+ 30 - 0
.azure/pipelines/pr-validation-temp.yml

@@ -0,0 +1,30 @@
+# This configuration is temporary while we work on getting all unit tests to pass on PR checks
+
+# Don't run CI for this config
+trigger: none
+
+# Run PR validation on all branches
+pr:
+  branches:
+    include:
+    - '*'
+
+jobs:
+- template: jobs/default-build.yml
+  parameters:
+    jobName: Windows_Build
+    jobDisplayName: "Build only : Windows"
+    agentOs: Windows
+    buildArgs: '/p:SkipTests=true'
+- template: jobs/default-build.yml
+  parameters:
+    jobName: macOs_Build
+    jobDisplayName: "Build only : macOS"
+    agentOs: macOS
+    buildArgs: '/p:SkipTests=true'
+- template: jobs/default-build.yml
+  parameters:
+    jobName: Linux_Build
+    jobDisplayName: "Build only : Linux"
+    agentOs: Linux
+    buildArgs: '/p:SkipTests=true'

+ 1 - 1
Directory.Build.targets

@@ -9,7 +9,7 @@
 
   <PropertyGroup Condition=" '$(IsPackable)' != 'false' AND '$(AspNetCorePatchVersion)' != '0' ">
     <!-- Always include framework metapackages in patch updates. -->
-    <IsPackageInThisPatch Condition="'$(IsFrameworkMetapackage)' == 'true'">true</IsPackageInThisPatch>
+    <IsPackageInThisPatch Condition="'$(IsFrameworkMetapackage)' == 'true' OR '$(IsSharedSourcePackage)' == 'true' ">true</IsPackageInThisPatch>
     <IsPackageInThisPatch Condition="'$(IsPackageInThisPatch)' == ''">$(PackagesInPatch.Contains(' $(PackageId);'))</IsPackageInThisPatch>
   </PropertyGroup>
 

+ 11 - 0
THIRD-PARTY-NOTICES

@@ -84,3 +84,14 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE
+
+License notice for viz.js
+------------------------------------
+
+Copyright (c) 2014-2018 Michael Daines
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ 1 - 1
build/PackageArchive.targets

@@ -8,7 +8,7 @@
     <ArchiveProjects Include="$(RepositoryRoot)src\PackageArchive\Archive.*\*.*proj" />
   </ItemGroup>
 
-  <Target Name="BuildFallbackArchive" DependsOnTargets="GetProjectArtifactInfo;GetFxProjectArtifactInfo;ResolveRepoInfo;GeneratePropsFiles">
+  <Target Name="BuildFallbackArchive" DependsOnTargets="ResolveSharedSourcesPackageInfo;GetProjectArtifactInfo;GetFxProjectArtifactInfo;ResolveRepoInfo;GeneratePropsFiles">
     <PropertyGroup>
       <ArchiveBuildProps>
         DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcesPropsPath);

+ 6 - 2
build/Publish.targets

@@ -83,12 +83,16 @@
         <ManifestArtifactData>ShipInstaller=dotnetcli</ManifestArtifactData>
       </FilesToPublish>
 
-      <FilesToPublish Include="$(DependencyAssetsDir)nuGetPackagesArchive-ci-server-$(PackageVersion).patch.zip" >
+      <!-- This file is conditionally included because it may not exist in servicing builds -->
+      <FilesToPublish Include="$(DependencyAssetsDir)nuGetPackagesArchive-ci-server-$(PackageVersion).patch.zip"
+                      Condition="Exists('$(DependencyAssetsDir)nuGetPackagesArchive-ci-server-$(PackageVersion).patch.zip')" >
         <RelativeBlobPath>$(BlobBasePath)nuGetPackagesArchive-ci-server-$(PackageVersion).patch.zip</RelativeBlobPath>
         <ManifestArtifactData>ShipInstaller=dotnetcli</ManifestArtifactData>
       </FilesToPublish>
 
-      <FilesToPublish Include="$(DependencyAssetsDir)nuGetPackagesArchive-ci-server-compat-$(PackageVersion).patch.zip" >
+      <!-- This file is conditionally included because it may not exist in servicing builds -->
+      <FilesToPublish Include="$(DependencyAssetsDir)nuGetPackagesArchive-ci-server-compat-$(PackageVersion).patch.zip"
+                      Condition="Exists('$(DependencyAssetsDir)nuGetPackagesArchive-ci-server-compat-$(PackageVersion).patch.zip')">
         <RelativeBlobPath>$(BlobBasePath)nuGetPackagesArchive-ci-server-compat-$(PackageVersion).patch.zip</RelativeBlobPath>
         <ManifestArtifactData>ShipInstaller=dotnetcli</ManifestArtifactData>
       </FilesToPublish>

+ 2 - 1
build/RepositoryBuild.targets

@@ -87,7 +87,8 @@
       <RepositoryBuildArguments>$(RepositoryBuildArguments) /p:BuildNumber=$(BuildNumber)</RepositoryBuildArguments>
       <RepositoryBuildArguments>$(RepositoryBuildArguments) /p:Configuration=$(Configuration)</RepositoryBuildArguments>
       <RepositoryBuildArguments>$(RepositoryBuildArguments) /p:IsFinalBuild=$(IsFinalBuild)</RepositoryBuildArguments>
-      <RepositoryBuildArguments>$(RepositoryBuildArguments) /noconsolelogger '/l:RepoTasks.FlowLogger,$(MSBuildThisFileDirectory)tasks\bin\publish\RepoTasks.dll;Summary;FlowId=$(RepositoryToBuild)'</RepositoryBuildArguments>
+      <!-- We collect all output and code sign at the end. We don't need to code sign when we build each submodule. -->
+      <RepositoryBuildArguments>$(RepositoryBuildArguments) /p:DisableCodeSigning=true</RepositoryBuildArguments>
       <RepositoryBuildArguments>$(RepositoryBuildArguments) '/p:DotNetAssetRootAccessTokenSuffix=$(DotNetAssetRootAccessTokenSuffix)'</RepositoryBuildArguments>
       <RepositoryBuildArguments>$(RepositoryBuildArguments) '/p:DotNetAssetRootUrl=$(DotNetAssetRootUrl)'</RepositoryBuildArguments>
       <RepositoryBuildArguments Condition=" '$(SkipTestsDueToMissingSharedFx)' == 'true' ">$(RepositoryBuildArguments) /p:SkipAspNetCoreRuntimeInstall=true</RepositoryBuildArguments>

+ 1 - 1
build/SharedFx.targets

@@ -53,7 +53,7 @@
       </SharedFxBuildProperties>
     </PropertyGroup>
 
-    <MSBuild Projects="$(MSBuildToolsPath)\NuGet.targets"
+    <MSBuild Projects="$(NuGetRestoreTargets)"
              Targets="Restore"
              Properties="$(SharedFxBuildProperties);RestoreGraphProjectInput=$(_RestoreGraphProjectInput);_DummyTarget=Restore" />
 

+ 2 - 3
build/artifacts.props

@@ -19,7 +19,6 @@
     <PackageArtifact Include="dotnet-sql-cache" Category="ship" />
     <PackageArtifact Include="dotnet-user-secrets" Category="ship" />
     <PackageArtifact Include="dotnet-watch" Category="ship" />
-    <PackageArtifact Include="Internal.AspNetCore.Universe.Lineup" Category="noship" />
     <PackageArtifact Include="Microsoft.AspNet.Identity.AspNetCoreCompat" Category="noship" />
     <PackageArtifact Include="Microsoft.AspNetCore.All" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.ApiAuthorization.IdentityServer" Category="noship" />
@@ -82,7 +81,6 @@
     <PackageArtifact Include="Microsoft.AspNetCore.Http" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.HttpOverrides" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.HttpsPolicy" Category="ship" />
-    <PackageArtifact Include="Microsoft.AspNetCore.HttpSys.Sources" Category="noship" />
     <PackageArtifact Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.Identity.Specification.Tests" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.Identity.UI" Category="ship" />
@@ -125,7 +123,6 @@
     <PackageArtifact Include="Microsoft.AspNetCore.ResponseCompression" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.Rewrite" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.Routing.Abstractions" Category="ship" />
-    <PackageArtifact Include="Microsoft.AspNetCore.Routing.DecisionTree.Sources" Category="noship" />
     <PackageArtifact Include="Microsoft.AspNetCore.Routing" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.Server.HttpSys" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.Server.IIS" Category="ship" />
@@ -201,5 +198,7 @@
     <PackageArtifact Include="Microsoft.VisualStudio.Web.CodeGenerators.Mvc" Category="ship" />
     <PackageArtifact Include="Microsoft.Web.Xdt.Extensions" Category="shipoob" />
     <PackageArtifact Include="RazorPageGenerator" Category="noship" />
+
+    <PackageArtifact Include="Internal.WebHostBuilderFactory.Sources" Category="noship"/>
   </ItemGroup>
 </Project>

+ 0 - 2
build/buildorder.props

@@ -9,12 +9,10 @@
   <ItemGroup>
     <RepositoryBuildOrder Include="Razor" Order="6" RootPath="$(RepositoryRoot)src\Razor\" />
     <RepositoryBuildOrder Include="EntityFrameworkCore" Order="8" />
-    <RepositoryBuildOrder Include="HttpSysServer" Order="8" RootPath="$(RepositoryRoot)src\HttpSysServer\" />
     <RepositoryBuildOrder Include="Antiforgery" Order="9" RootPath="$(RepositoryRoot)src\Antiforgery\" />
     <RepositoryBuildOrder Include="IISIntegration" Order="10" RootPath="$(RepositoryRoot)src\IISIntegration\" />
     <RepositoryBuildOrder Include="CORS" Order="11" RootPath="$(RepositoryRoot)src\CORS\" />
     <RepositoryBuildOrder Include="StaticFiles" Order="11" RootPath="$(RepositoryRoot)src\StaticFiles\" />
-    <RepositoryBuildOrder Include="Routing" Order="11" RootPath="$(RepositoryRoot)src\Routing\" />
     <RepositoryBuildOrder Include="ResponseCaching" Order="11" RootPath="$(RepositoryRoot)src\ResponseCaching\" />
     <RepositoryBuildOrder Include="Session" Order="11" RootPath="$(RepositoryRoot)src\Session\" />
     <RepositoryBuildOrder Include="ServerTests" Order="11" RootPath="$(RepositoryRoot)src\ServerTests\" />

+ 0 - 3
build/external-dependencies.props

@@ -81,9 +81,6 @@
     <ExternalDependency Include="Microsoft.Extensions.WebEncoders.Sources" Version="$(MicrosoftExtensionsWebEncodersSourcesPackageVersion)" />
     <ExternalDependency Include="Microsoft.Extensions.WebEncoders" Version="$(MicrosoftExtensionsWebEncodersPackageVersion)" />
     <!-- These dependencies are temporary while we refactor package refs into project refs. -->
-    <ExternalDependency Include="Microsoft.Extensions.Buffers.Testing.Sources" Version="$(MicrosoftExtensionsBuffersTestingSourcesPackageVersion)" />
-    <ExternalDependency Include="Microsoft.Extensions.Buffers.MemoryPool.Sources" Version="$(MicrosoftExtensionsBuffersMemoryPoolSourcesPackageVersion)" />
-    <ExternalDependency Include="Internal.WebHostBuilderFactory.Sources" Version="$(InternalWebHostBuilderFactorySourcesPackageVersion)" />
     <ExternalDependency Include="Microsoft.AspNetCore.Server.IntegrationTesting" Version="$(MicrosoftAspNetCoreServerIntegrationTestingPackageVersion)" />
   </ItemGroup>
 

+ 0 - 16
build/lineups/Internal.AspNetCore.Universe.Lineup.nuspec

@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
-  <metadata>
-    <id>Internal.AspNetCore.Universe.Lineup</id>
-    <version>$version$</version>
-    <authors>Microsoft</authors>
-    <description>This package used to unify ASP.NET Core package versions across all ASP.NET Core repos. Internal use only.</description>
-    <packageTypes>
-      <packageType name="lineup" />
-    </packageTypes>
-  </metadata>
-  <files>
-    <file src="$dependenciesPropsFile$" target="build/dependencies.props" />
-    <file src="$brandingPropsFile$" target="build/branding.props" />
-  </files>
-</package>

+ 11 - 4
build/repo.props

@@ -16,10 +16,13 @@
     <DependencyPackageDir>$(RepositoryRoot).deps\build\</DependencyPackageDir>
     <SignedDependencyPackageDir>$(RepositoryRoot).deps\Signed\Packages\</SignedDependencyPackageDir>
     <SignCheckExclusionsFile>$(RepositoryRoot)eng\signcheck.exclusions.txt</SignCheckExclusionsFile>
-    <!-- This creates false-positives on many of the native .dll's we produce or re-distribute from other teams. -->
-    <DisableSignCheckStrongName>true</DisableSignCheckStrongName>
+    <SharedSourcesFolder>$(RepositoryRoot)src\Shared\</SharedSourcesFolder>
   </PropertyGroup>
 
+  <ItemGroup>
+    <SharedSourceDirectories Include="$(SharedSourcesFolder)Hosting.WebHostBuilderFactory\" />
+  </ItemGroup>
+
   <ItemGroup>
     <IntermediateInstaller Include="win-x86" FileExt=".zip" />
     <IntermediateInstaller Include="win-x86" FileExt=".wixlib" />
@@ -56,7 +59,7 @@
     <!-- Exclude the websockets samples for now because they use classic .csproj, which is not yet supported in our build. -->
     <ProjectToExclude Include="
                        $(RepositoryRoot)src\Middleware\WebSockets\samples\**\*.csproj;
-                       $(RepositoryRoot)src\Tools\dotnet-watch\test\TestProjects\**\*.csproj;
+                       $(RepositoryRoot)src\Tools\dotnet-watch\test\TestProjects\**\*.csproj
                        " />
 
     <ProjectToBuild Include="
@@ -69,7 +72,11 @@
                       $(RepositoryRoot)src\Tools\**\*.*proj;
                       $(RepositoryRoot)src\Middleware\**\*.*proj;
                       "
-                    Exclude="@(ProjectToExclude)" />
+                    Exclude="
+                      @(ProjectToExclude);
+                      $(RepositoryRoot)**\bin\**\*;
+                      $(RepositoryRoot)**\obj\**\*;
+                      $(RepositoryRoot)**\AutobahnTestApp\**\*;" />
   </ItemGroup>
 
   <!-- Properties for publishing -->

+ 5 - 44
build/repo.targets

@@ -19,7 +19,7 @@
     <PrepareDependsOn Condition="'$(_ProjectsOnly)' != 'true'">$(PrepareDependsOn);VerifyPackageArtifactConfig;VerifyExternalDependencyConfig;PrepareOutputPaths</PrepareDependsOn>
     <CleanDependsOn>$(CleanDependsOn);CleanArtifacts;CleanRepoArtifacts</CleanDependsOn>
     <RestoreDependsOn>$(RestoreDependsOn);InstallDotNet;RestoreProjects</RestoreDependsOn>
-    <CompileDependsOn>$(CompileDependsOn);BuildProjects</CompileDependsOn>
+    <CompileDependsOn>$(CompileDependsOn);BuildProjects;PackSharedSources</CompileDependsOn>
     <CompileDependsOn Condition="'$(_ProjectsOnly)' != 'true'">$(CompileDependsOn);PackProjects;BuildRepositories;BuildSharedFx</CompileDependsOn>
     <PackageDependsOn Condition=" '$(_ProjectsOnly)' == 'true'">$(PackageDependsOn);PackProjects</PackageDependsOn>
     <PackageDependsOn Condition="'$(TestOnly)' != 'true' AND '$(_ProjectsOnly)' != 'true'">$(PackageDependsOn);CheckExpectedPackagesExist</PackageDependsOn>
@@ -27,6 +27,7 @@
     <TestDependsOn>$(TestDependsOn);TestProjects</TestDependsOn>
     <TestDependsOn Condition="'$(_ProjectsOnly)' != 'true'">$(TestDependsOn);_TestRepositories</TestDependsOn>
     <GetArtifactInfoDependsOn>$(GetArtifactInfoDependsOn);GetProjectArtifactInfo</GetArtifactInfoDependsOn>
+    <GetArtifactInfoDependsOn>$(GetArtifactInfoDependsOn);ResolveSharedSourcesPackageInfo</GetArtifactInfoDependsOn>
     <GetArtifactInfoDependsOn  Condition="'$(_ProjectsOnly)' != 'true'">$(GetArtifactInfoDependsOn);ResolveRepoInfo</GetArtifactInfoDependsOn>
   </PropertyGroup>
 
@@ -68,7 +69,7 @@
     </ItemGroup>
   </Target>
 
-  <Target Name="ResolveRepoInfo" DependsOnTargets="_ResolveProjectArtifactsInfoShipped;_PrepareRepositories;GetLineupPackageInfo">
+  <Target Name="ResolveRepoInfo" DependsOnTargets="_ResolveProjectArtifactsInfoShipped;_PrepareRepositories">
     <!-- We need to pass the NETCoreApp package versions to msbuild so that it doesn't complain about us using a different one than it was restored against.  -->
     <PropertyGroup>
       <DesignTimeBuildProps>$(BuildProperties);MicrosoftNETCoreAppPackageVersion=$(MicrosoftNETCoreAppPackageVersion);</DesignTimeBuildProps>
@@ -173,19 +174,6 @@
     <Error Text="No solutions were found in '$(SubmoduleRoot)'. Did you forget to clone the submodules? Run `git submodule update --init`." Condition="@(Solution->Count()) == 0" />
   </Target>
 
-  <Target Name="GetLineupPackageInfo">
-    <ItemGroup>
-      <ArtifactInfo Include="$(BuildDir)Internal.AspNetCore.Universe.Lineup.$(PackageVersion).nupkg">
-        <ArtifactType>NuGetPackage</ArtifactType>
-        <PackageId>Internal.AspNetCore.Universe.Lineup</PackageId>
-        <Version>$(PackageVersion)</Version>
-        <Category>noship</Category>
-        <IsLineup>true</IsLineup>
-      </ArtifactInfo>
-      <FilesToSign Include="$(BuildDir)Internal.AspNetCore.Universe.Lineup.$(PackageVersion).nupkg" Certificate="$(PackageSigningCertName)" />
-    </ItemGroup>
-  </Target>
-
   <Target Name="GeneratePropsFiles" DependsOnTargets="PrepareOutputPaths;GetArtifactInfo">
     <ItemGroup>
       <_LineupPackages Include="@(ExternalDependency)" />
@@ -229,13 +217,6 @@
     <WriteLinesToFile File="$(GeneratedBrandingPropsPath)" Overwrite="true" Lines="$(BrandingPropsContent)"/>
 
     <Copy SourceFiles="$(GeneratedPackageVersionPropsPath);$(GeneratedBrandingPropsPath)" DestinationFolder="$(ArtifactsDir)" />
-
-    <PackNuSpec NuSpecPath="$(MSBuildThisFileDirectory)lineups\Internal.AspNetCore.Universe.Lineup.nuspec"
-                DestinationFolder="$(BuildDir)"
-                Overwrite="true"
-                Properties="version=$(PackageVersion);dependenciesPropsFile=$(GeneratedPackageVersionPropsPath);brandingPropsFile=$(GeneratedBrandingPropsPath)">
-      <Output TaskParameter="Packages" ItemName="LineupPackage" />
-    </PackNuSpec>
   </Target>
 
   <Target Name="CleanRepoArtifacts">
@@ -243,26 +224,6 @@
   </Target>
 
   <Target Name="_PrepareRepositories">
-    <ItemGroup Condition="'$(KOREBUILD_REPOSITORY_INCLUDE)'!=''">
-      <_RepositoriesToInclude Include="$(KOREBUILD_REPOSITORY_INCLUDE)" />
-      <Repository Update="@(Repository)" Build="false" />
-      <Repository
-        Update="@(Repository)"
-        Condition="'@(Repository)'=='@(_RepositoriesToInclude)' AND '%(Identity)'!=''"
-        Build="true" />
-    </ItemGroup>
-
-    <ItemGroup Condition="'$(KOREBUILD_REPOSITORY_EXCLUDE)'!=''">
-      <_RepositoriesToExclude Include="$(KOREBUILD_REPOSITORY_EXCLUDE)" />
-      <Repository
-        Update="@(Repository)"
-        Condition="'@(Repository)'=='@(_RepositoriesToExclude)' AND '%(Identity)'!=''"
-        Build="false" />
-    </ItemGroup>
-
-    <Error Text="KOREBUILD_REPOSITORY_EXCLUDE AND KOREBUILD_REPOSITORY_INCLUDE are specified."
-      Condition="'$(KOREBUILD_REPOSITORY_INCLUDE)' != '' AND '$(KOREBUILD_REPOSITORY_EXCLUDE)' != ''" />
-
     <ItemGroup>
       <Repository Update="%(Identity)" RootPath="$(SubmoduleRoot)%(Identity)\" Condition="'%(Identity)' != '' AND '%(RootPath)' == ''"  />
       <ShippedRepository Update="%(Identity)" RootPath="$(SubmoduleRoot)%(Identity)\" Condition="'%(Identity)' != '' AND '%(RootPath)' == ''" />
@@ -277,11 +238,11 @@
   <Target Name="BuildRepositories"
      DependsOnTargets="_PrepareRepositories;GeneratePropsFiles;ComputeGraph;_BuildRepositories" />
 
-  <Target Name="ListExpectedPackages" DependsOnTargets="GetProjectArtifactInfo;GetFxProjectArtifactInfo;ResolveRepoInfo">
+  <Target Name="ListExpectedPackages" DependsOnTargets="ResolveSharedSourcesPackageInfo;GetProjectArtifactInfo;ResolveRepoInfo">
     <WriteLinesToFile File="$(RepositoryRoot)artifacts\packages.csv" Lines="PackageId,Version;@(ArtifactInfo->WithMetadataValue('ArtifactType', 'NuGetPackage')->'%(PackageId),%(Version)')" Overwrite="true" />
   </Target>
 
-  <Target Name="ComputeGraph" DependsOnTargets="GetProjectArtifactInfo;GetFxProjectArtifactInfo;ResolveRepoInfo;GeneratePropsFiles">
+  <Target Name="ComputeGraph" DependsOnTargets="ResolveSharedSourcesPackageInfo;GetProjectArtifactInfo;GetFxProjectArtifactInfo;ResolveRepoInfo;GeneratePropsFiles">
     <ItemGroup>
       <_UndeclaredPackageArtifact Include="%(ArtifactInfo.PackageId)" Condition="'%(ArtifactInfo.ArtifactType)' == 'NuGetPackage'" />
       <_UndeclaredPackageArtifact Remove="@(PackageArtifact)" />

+ 0 - 2
build/submodules.props

@@ -52,7 +52,6 @@
     <ShippedRepository Include="Antiforgery" RootPath="$(RepositoryRoot)src\Antiforgery\" />
     <ShippedRepository Include="AzureIntegration" RootPath="$(RepositoryRoot)src\AzureIntegration\" />
     <ShippedRepository Include="CORS" RootPath="$(RepositoryRoot)src\CORS\" />
-    <ShippedRepository Include="HttpSysServer" RootPath="$(RepositoryRoot)src\HttpSysServer\" />
     <ShippedRepository Include="Identity" RootPath="$(RepositoryRoot)src\Identity\" />
     <ShippedRepository Include="JavaScriptServices" RootPath="$(RepositoryRoot)src\JavaScriptServices\" />
     <ShippedRepository Include="MetaPackages" RootPath="$(RepositoryRoot)src\MetaPackages\" PatchPolicy="CascadeVersions" />
@@ -60,7 +59,6 @@
     <ShippedRepository Include="MvcPrecompilation" RootPath="$(RepositoryRoot)src\MvcPrecompilation\" />
     <ShippedRepository Include="Razor" RootPath="$(RepositoryRoot)src\Razor\" />
     <ShippedRepository Include="ResponseCaching" RootPath="$(RepositoryRoot)src\ResponseCaching\" />
-    <ShippedRepository Include="Routing" RootPath="$(RepositoryRoot)src\Routing\" />
     <ShippedRepository Include="Security" RootPath="$(RepositoryRoot)src\Security\" />
     <ShippedRepository Include="Session" RootPath="$(RepositoryRoot)src\Session\" />
     <ShippedRepository Include="SignalR" RootPath="$(RepositoryRoot)src\SignalR\" />

+ 0 - 61
build/tasks/Logger/FlowLogger.cs

@@ -1,61 +0,0 @@
-// Copyright (c) .NET Foundation. All rights reserved.
-// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
-
-using System;
-using System.Linq;
-using Microsoft.Build.Framework;
-using Microsoft.Build.Logging;
-
-namespace RepoTasks
-{
-    public class FlowLogger : ConsoleLogger
-    {
-        private volatile bool _initialized;
-
-        public FlowLogger()
-        {
-        }
-
-        public override void Initialize(IEventSource eventSource, int nodeCount)
-        {
-            PreInit(eventSource);
-            base.Initialize(eventSource, nodeCount);
-        }
-
-        public override void Initialize(IEventSource eventSource)
-        {
-            PreInit(eventSource);
-            base.Initialize(eventSource);
-        }
-
-        private void PreInit(IEventSource eventSource)
-        {
-            if (_initialized) return;
-            _initialized = true;
-
-            var flowId = GetFlowId();
-            var prefix = $"{flowId,-22}| ";
-            var write = WriteHandler;
-            WriteHandler = msg => write(prefix + msg);
-
-            eventSource.BuildStarted += (o, e) =>
-            {
-                WriteHandler(e.Message + Environment.NewLine);
-            };
-        }
-
-        private string GetFlowId()
-        {
-            var parameters = Parameters?.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
-            if (parameters == null || parameters.Length == 0)
-            {
-                return null;
-            }
-
-            const string flowIdParamName = "FlowId=";
-            return parameters
-                .FirstOrDefault(p => p.StartsWith(flowIdParamName, StringComparison.Ordinal))
-                ?.Substring(flowIdParamName.Length);
-        }
-    }
-}

+ 4 - 3
build/tasks/RepoTasks.csproj

@@ -2,14 +2,15 @@
   <Import Project="$(RepoTasksSdkPath)\Sdk.props" Condition="'$(RepoTasksSdkPath)' != '' "/>
 
   <PropertyGroup>
-    <TargetFramework>netcoreapp2.0</TargetFramework>
+    <TargetFramework Condition="'$(MSBuildRuntimeType)' == 'Core' ">netcoreapp2.0</TargetFramework>
+    <TargetFramework Condition="'$(MSBuildRuntimeType)' != 'Core' ">net461</TargetFramework>
   </PropertyGroup>
 
   <ItemGroup>
     <PackageReference Remove="Internal.AspNetCore.Sdk" />
     <PackageReference Include="Microsoft.DotNet.Archive" Version="$(MicrosoftDotNetArchivePackageVersion)" />
-    <PackageReference Include="NuGet.Build.Tasks" Version="$(NuGetInMSBuildVersion)" PrivateAssets="All" />
-    <PackageReference Include="Microsoft.Extensions.DependencyModel" Version="$(DevDependency_MicrosoftExtensionsDependencyModelPackageVersion)" PrivateAssets="All" />
+    <PackageReference Include="NuGet.Build.Tasks" Version="$(NuGetInMSBuildVersion)" />
+    <PackageReference Include="Microsoft.Extensions.DependencyModel" Version="$(DevDependency_MicrosoftExtensionsDependencyModelPackageVersion)" />
     <PackageReference Include="WindowsAzure.Storage" Version="$(DevDependency_WindowsAzureStoragePackageVersion)" />
     <PackageReference Include="Microsoft.DotNet.Build.Tasks.Feed" Version="$(DevDependency_MicrosoftDotNetBuildTasksFeedPackageVersion)" ExcludeAssets="Build" />
   </ItemGroup>

+ 36 - 0
eng/Baseline.Designer.props

@@ -345,6 +345,42 @@
     <BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[2.2.0, )" />
     <BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[2.2.0, )" />
   </ItemGroup>
+  <!-- Package: Microsoft.AspNetCore.Routing.Abstractions-->
+  <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Routing.Abstractions' ">
+    <BaselinePackageVersion>2.2.0</BaselinePackageVersion>
+  </PropertyGroup>
+  <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Routing.Abstractions' AND '$(TargetFramework)' == 'netstandard2.0' ">
+    <BaselinePackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="[2.2.0, )" />
+  </ItemGroup>
+  <!-- Package: Microsoft.AspNetCore.Routing-->
+  <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Routing' ">
+    <BaselinePackageVersion>2.2.0</BaselinePackageVersion>
+  </PropertyGroup>
+  <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Routing' AND '$(TargetFramework)' == 'netcoreapp2.2' ">
+    <BaselinePackageReference Include="Microsoft.AspNetCore.Routing.Abstractions" Version="[2.2.0, )" />
+    <BaselinePackageReference Include="Microsoft.AspNetCore.Http.Extensions" Version="[2.2.0, )" />
+    <BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[2.2.0, )" />
+    <BaselinePackageReference Include="Microsoft.Extensions.ObjectPool" Version="[2.2.0, )" />
+    <BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[2.2.0, )" />
+  </ItemGroup>
+  <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Routing' AND '$(TargetFramework)' == 'netstandard2.0' ">
+    <BaselinePackageReference Include="Microsoft.AspNetCore.Routing.Abstractions" Version="[2.2.0, )" />
+    <BaselinePackageReference Include="Microsoft.AspNetCore.Http.Extensions" Version="[2.2.0, )" />
+    <BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[2.2.0, )" />
+    <BaselinePackageReference Include="Microsoft.Extensions.ObjectPool" Version="[2.2.0, )" />
+    <BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[2.2.0, )" />
+  </ItemGroup>
+  <!-- Package: Microsoft.AspNetCore.Server.HttpSys-->
+  <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Server.HttpSys' ">
+    <BaselinePackageVersion>2.2.0</BaselinePackageVersion>
+  </PropertyGroup>
+  <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Server.HttpSys' AND '$(TargetFramework)' == 'netstandard2.0' ">
+    <BaselinePackageReference Include="Microsoft.AspNetCore.Authentication.Core" Version="[2.2.0, )" />
+    <BaselinePackageReference Include="Microsoft.AspNetCore.Hosting" Version="[2.2.0, )" />
+    <BaselinePackageReference Include="Microsoft.Net.Http.Headers" Version="[2.2.0, )" />
+    <BaselinePackageReference Include="Microsoft.Win32.Registry" Version="[4.5.0, )" />
+    <BaselinePackageReference Include="System.Security.Principal.Windows" Version="[4.5.0, )" />
+  </ItemGroup>
   <!-- Package: Microsoft.AspNetCore.Server.Kestrel.Core-->
   <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Server.Kestrel.Core' ">
     <BaselinePackageVersion>2.2.0</BaselinePackageVersion>

+ 3 - 0
eng/Baseline.xml

@@ -39,6 +39,9 @@
   <Package Id="Microsoft.AspNetCore.Owin" Version="2.2.0" />
   <Package Id="Microsoft.AspNetCore.ResponseCompression" Version="2.2.0" />
   <Package Id="Microsoft.AspNetCore.Rewrite" Version="2.2.0" />
+  <Package Id="Microsoft.AspNetCore.Routing.Abstractions" Version="2.2.0" />
+  <Package Id="Microsoft.AspNetCore.Routing" Version="2.2.0" />
+  <Package Id="Microsoft.AspNetCore.Server.HttpSys" Version="2.2.0" />
   <Package Id="Microsoft.AspNetCore.Server.Kestrel.Core" Version="2.2.0" />
   <Package Id="Microsoft.AspNetCore.Server.Kestrel.Https" Version="2.2.0" />
   <Package Id="Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions" Version="2.2.0" />

+ 6 - 2
eng/Dependencies.props

@@ -19,25 +19,28 @@
     <LatestPackageReference Include="Microsoft.EntityFrameworkCore" Version="$(MicrosoftEntityFrameworkCorePackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.ActivatorUtilities.Sources" Version="$(MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.ClosedGenericMatcher.Sources" Version="$(MicrosoftExtensionsClosedGenericMatcherSourcesPackageVersion)" />
-    <LatestPackageReference Include="Microsoft.Extensions.CopyOnWriteDictionary.Sources" Version="$(MicrosoftExtensionsCopyOnWriteDictionarySourcesPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.CommandLineUtils.Sources" Version="$(MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Configuration.CommandLine" Version="$(MicrosoftExtensionsConfigurationCommandLinePackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="$(MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Configuration.Json" Version="$(MicrosoftExtensionsConfigurationJsonPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="$(MicrosoftExtensionsConfigurationUserSecretsPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Configuration" Version="$(MicrosoftExtensionsConfigurationPackageVersion)" />
+    <LatestPackageReference Include="Microsoft.Extensions.CopyOnWriteDictionary.Sources" Version="$(MicrosoftExtensionsCopyOnWriteDictionarySourcesPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.DependencyInjection" Version="$(MicrosoftExtensionsDependencyInjectionPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.DiagnosticAdapter" Version="$(MicrosoftExtensionsDiagnosticAdapterPackageVersion)" />
+    <LatestPackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="$(MicrosoftExtensionsFileProvidersEmbeddedPackageVersion)" />
+    <LatestPackageReference Include="Microsoft.Extensions.HashCodeCombiner.Sources" Version="$(MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Hosting" Version="$(MicrosoftExtensionsHostingPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Localization.Abstractions" Version="$(MicrosoftExtensionsLocalizationAbstractionsPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Localization" Version="$(MicrosoftExtensionsLocalizationPackageVersion)" />
+    <LatestPackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="$(MicrosoftExtensionsLoggingAbstractionsPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Logging.Console" Version="$(MicrosoftExtensionsLoggingConsolePackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Logging.Testing" Version="$(MicrosoftExtensionsLoggingTestingPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Logging" Version="$(MicrosoftExtensionsLoggingPackageVersion)" />
-    <LatestPackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="$(MicrosoftExtensionsFileProvidersEmbeddedPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="$(MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Options" Version="$(MicrosoftExtensionsOptionsPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Process.Sources" Version="$(MicrosoftExtensionsProcessSourcesPackageVersion)" />
+    <LatestPackageReference Include="Microsoft.Extensions.PropertyHelper.Sources" Version="$(MicrosoftExtensionsPropertyHelperSourcesPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.RazorViews.Sources" Version="$(MicrosoftExtensionsRazorViewsSourcesPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.StackTrace.Sources" Version="$(MicrosoftExtensionsStackTraceSourcesPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.TypeNameHelper.Sources" Version="$(MicrosoftExtensionsTypeNameHelperSourcesPackageVersion)" />
@@ -47,6 +50,7 @@
     <LatestPackageReference Include="Microsoft.NETCore.Windows.ApiSets" Version="$(MicrosoftNETCoreWindowsApiSetsPackageVersion)" />
     <LatestPackageReference Include="System.Data.SqlClient" Version="$(SystemDataSqlClientPackageVersion)" />
     <LatestPackageReference Include="System.Memory" Version="$(SystemMemoryPackageVersion)" />
+    <LatestPackageReference Include="System.Net.Http.WinHttpHandler" Version="$(SystemNetHttpWinHttpHandlerPackageVersion)" />
     <LatestPackageReference Include="System.Net.WebSockets.WebSocketProtocol" Version="$(SystemNetWebSocketsWebSocketProtocolPackageVersion)" />
     <LatestPackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="$(SystemRuntimeCompilerServicesUnsafePackageVersion)" />
     <LatestPackageReference Include="System.Security.Cryptography.Cng" Version="$(SystemSecurityCryptographyCngPackageVersion)" />

+ 3 - 0
eng/ProjectReferences.props

@@ -26,9 +26,12 @@
     <ProjectReferenceProvider Include="Microsoft.AspNetCore.Http.Features" ProjectPath="$(RepositoryRoot)src\Http\Http.Features\src\Microsoft.AspNetCore.Http.Features.csproj" />
     <ProjectReferenceProvider Include="Microsoft.AspNetCore.Http" ProjectPath="$(RepositoryRoot)src\Http\Http\src\Microsoft.AspNetCore.Http.csproj" />
     <ProjectReferenceProvider Include="Microsoft.AspNetCore.Owin" ProjectPath="$(RepositoryRoot)src\Http\Owin\src\Microsoft.AspNetCore.Owin.csproj" />
+    <ProjectReferenceProvider Include="Microsoft.AspNetCore.Routing.Abstractions" ProjectPath="$(RepositoryRoot)src\Http\Routing.Abstractions\src\Microsoft.AspNetCore.Routing.Abstractions.csproj" />
+    <ProjectReferenceProvider Include="Microsoft.AspNetCore.Routing" ProjectPath="$(RepositoryRoot)src\Http\Routing\src\Microsoft.AspNetCore.Routing.csproj" />
     <ProjectReferenceProvider Include="Microsoft.AspNetCore.WebUtilities" ProjectPath="$(RepositoryRoot)src\Http\WebUtilities\src\Microsoft.AspNetCore.WebUtilities.csproj" />
     <ProjectReferenceProvider Include="Microsoft.AspNetCore.Html.Abstractions" ProjectPath="$(RepositoryRoot)src\Html\Abstractions\src\Microsoft.AspNetCore.Html.Abstractions.csproj" />
     <ProjectReferenceProvider Include="Microsoft.AspNetCore.Connections.Abstractions" ProjectPath="$(RepositoryRoot)src\Servers\Connections.Abstractions\src\Microsoft.AspNetCore.Connections.Abstractions.csproj" />
+    <ProjectReferenceProvider Include="Microsoft.AspNetCore.Server.HttpSys" ProjectPath="$(RepositoryRoot)src\Servers\HttpSys\src\Microsoft.AspNetCore.Server.HttpSys.csproj" />
     <ProjectReferenceProvider Include="Microsoft.AspNetCore.Server.Kestrel.Core" ProjectPath="$(RepositoryRoot)src\Servers\Kestrel\Core\src\Microsoft.AspNetCore.Server.Kestrel.Core.csproj" />
     <ProjectReferenceProvider Include="Microsoft.AspNetCore.Server.Kestrel.Https" ProjectPath="$(RepositoryRoot)src\Servers\Kestrel\Https\src\Microsoft.AspNetCore.Server.Kestrel.Https.csproj" />
     <ProjectReferenceProvider Include="Microsoft.AspNetCore.Server.Kestrel" ProjectPath="$(RepositoryRoot)src\Servers\Kestrel\Kestrel\src\Microsoft.AspNetCore.Server.Kestrel.csproj" />

+ 0 - 1
eng/dependencies.temp.props

@@ -6,6 +6,5 @@ This is required to provide dependencies for samples and tests.
   <ItemGroup>
     <LatestPackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="2.2.0" />
     <LatestPackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.2.0" />
-    <LatestPackageReference Include="Microsoft.AspNetCore.Routing" Version="2.2.0" />
   </ItemGroup>
 </Project>

+ 4 - 0
eng/targets/CSharp.Common.props

@@ -11,4 +11,8 @@
     <PackageReference Include="Internal.AspNetCore.Sdk" PrivateAssets="All" Version="$(InternalAspNetCoreSdkPackageVersion)" />
   </ItemGroup>
 
+  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' ">
+    <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="$(MicrosoftNETFrameworkReferenceAssembliesPackageVersion)" PrivateAssets="All" />
+  </ItemGroup>
+
 </Project>

+ 1 - 0
eng/targets/ResolveReferences.targets

@@ -34,6 +34,7 @@
     <_ImplicitPackageReference Include="@(PackageReference->WithMetadataValue('IsImplicitlyDefined', 'true'))" />
     <_ExplicitPackageReference Include="@(PackageReference)" Exclude="@(_ImplicitPackageReference)" />
     <_ExplicitPackageReference Remove="Internal.AspNetCore.Sdk" />
+    <_ExplicitPackageReference Remove="Microsoft.NETFramework.ReferenceAssemblies" />
 
     <UnusedProjectReferenceProvider Include="@(ProjectReferenceProvider)" Exclude="@(Reference)" />
 

+ 1 - 1
global.json

@@ -3,6 +3,6 @@
         "version": "2.2.100"
     },
     "msbuild-sdks": {
-        "Internal.AspNetCore.Sdk": "2.2.1-build-20181205.2"
+        "Internal.AspNetCore.Sdk": "2.2.1-build-20181206.2"
     }
 }

+ 2 - 2
korebuild-lock.txt

@@ -1,2 +1,2 @@
-version:2.2.1-build-20181205.2
-commithash:73f2bfbafd4024d2a644c813d7de9116797b6e9c
+version:2.2.1-build-20181206.2
+commithash:e55df7ec43bfd6db8c8c81e38bf3fc25ef19e081

+ 14 - 0
korebuild.json

@@ -1,10 +1,24 @@
 {
   "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/release/2.2/tools/korebuild.schema.json",
   "channel": "release/2.2",
+  "msbuildType": "full",
   "toolsets": {
     "nodejs": {
       "minVersion": "8.0",
       "required": true
+    },
+    "visualstudio": {
+      "required": [
+        "Windows"
+      ],
+      "includePrerelease": true,
+      "versionRange": "[15.8, 16.0)",
+      "requiredWorkloads": [
+        "Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Win81",
+        "Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
+        "Microsoft.VisualStudio.Component.VC.ATL",
+        "Microsoft.VisualStudio.Component.Windows10SDK.15063.Desktop"
+      ]
     }
   }
 }

+ 0 - 130
scripts/GenerateTags.ps1

@@ -1,130 +0,0 @@
-#!/usr/bin/env pwsh
-
-<#
-.SYNOPSIS
-    Generates a tag on this repo and adds a tag for each submodule that corresponds
-    to the value in version.props
-.PARAMETER Push
-    Push the tag to origin
-.PARAMETER OutFile
-    When specified, generate a .csv with repo names and tags
-.PARAMETER WhatIf
-    Dry run
-#>
-[cmdletbinding(PositionalBinding = $false, SupportsShouldProcess = $true)]
-param(
-    [switch]$Push,
-    [string]$OutFile
-)
-
-$ErrorActionPreference = 'Stop'
-Import-Module -Scope Local -Force "$PSScriptRoot/common.psm1"
-Set-StrictMode -Version 1
-
-function New-GitTag {
-    [cmdletbinding(SupportsShouldProcess = $true)]
-    param(
-        [Parameter(Mandatory = $true)]
-        [string]$Repo,
-        [Parameter(Mandatory = $true)]
-        [string]$Tag
-    )
-
-    Push-Location $Repo
-    try {
-        git show-ref --tags --verify "refs/tags/$Tag" -q
-        $existingTag = $?
-
-        if ($existingTag) {
-            Write-Warning "${Repo}: Tag '$Tag' already exists. Skipped adding tag"
-        }
-        else {
-            if ($PSCmdlet.ShouldProcess($Repo, "Tag $Tag")) {
-                Invoke-Block { & git tag -m "v$Tag" $Tag HEAD }
-                Write-Host -f Magenta "${Repo}: added tag '$Tag'"
-            }
-
-            if ($Push -and $PSCmdlet.ShouldProcess($Repo, "Push tag $Tag to origin")) {
-                Invoke-Block { & git push origin refs/tags/$Tag }
-            }
-        }
-    }
-    finally {
-        Pop-Location
-    }
-}
-
-#
-# Gets the package version by invoking KoreBuild on a repo with a custom target that spits out the package version
-#
-function Get-PackageVersion([string]$repoRoot) {
-    $buildScript = if (-not $IsCoreCLR -or $IsWindows) { 'build.ps1' } else { 'build.sh' }
-    $inspectTarget = "/p:CustomAfterKoreBuildTargets=$PSScriptRoot/GetPackageVersion.targets"
-    Write-Verbose "Running `"$repoRoot/$buildScript`" $inspectTarget /v:m /p:IsFinalBuild=true /t:Noop /t:GetPackageVersion /p:BuildNumber=t000"
-    # Add the /t:Noop target which may be used by the bootstrapper to skip unimportant initialization
-    $output = & "$repoRoot/$buildScript" $inspectTarget /v:m /p:IsFinalBuild=true /t:Noop /t:GetPackageVersion /p:BuildNumber=t000
-    $output | out-string | Write-Verbose
-    if (-not $? -or $LASTEXITCODE -ne 0) {
-        throw "$buildScript failed on $repoRoot. Exit code $LASTEXITCODE"
-    }
-    $packageVersion = $output | where-object { $_ -like '*PackageVersion=*' } | select-object -first 1
-    $packageVersion = $packageVersion -replace 'PackageVersion=', ''
-    $packageVersion = $packageVersion -replace '-final', ''
-    $packageVersion = $packageVersion -replace '-t000', ''
-    if ($packageVersion) { $packageVersion = $packageVersion.Trim() }
-    if (-not $packageVersion) {
-        throw "Could not determine final package version for $repoRoot"
-    }
-    return $packageVersion.Trim()
-}
-
-$repoRoot = Resolve-Path "$PSScriptRoot/../"
-
-Write-Warning "Make sure you have run ``git submodule update`` first to pin the submodules to the correct commit"
-if (-not $PSCmdlet.ShouldContinue("Continue?", "This will apply tags to all submodules")) {
-    Write-Host "Exiting"
-    exit 1
-}
-
-
-$repoTag = Get-PackageVersion $repoRoot
-New-GitTag $repoRoot $repoTag -WhatIf:$WhatIfPreference
-
-$tags = @([pscustomobject] @{
-        repo   = $(git config remote.origin.url)
-        tag    = $repoTag
-        commit = $(git rev-parse HEAD)
-    })
-
-Get-Submodules $repoRoot | ForEach-Object {
-    $modPath = $_.path
-    $module = $_.module
-    if (-not (Test-Path (Join-Path $_.path 'version.props'))) {
-        Write-Warning "$module does not have a version.props file. Skipping"
-        return
-    }
-
-    try {
-        $tag = Get-PackageVersion $_.path
-        if ($tag -ne $repoTag) {
-            Write-Warning "${module}: version ($tag) does not match repo ($repoTag)"
-        }
-        $tags += [pscustomobject] @{
-            repo   = $_.remote
-            tag    = $tag
-            commit = $_.commit
-        }
-    }
-    catch {
-        Write-Warning "${module}: Could not automatically determine tag for $modPath. Skipping"
-        return
-    }
-
-    New-GitTag $_.path $tag -WhatIf:$WhatIfPreference
-}
-
-$tags | Format-Table
-
-if ($OutFile) {
-    $tags | Select-Object -Property * | Export-Csv -Path $OutFile -WhatIf:$false -NoTypeInformation
-}

+ 0 - 5
scripts/GetPackageVersion.targets

@@ -1,5 +0,0 @@
-<Project>
-  <Target Name="GetPackageVersion">
-    <Message Importance="high" Text="PackageVersion=$(PackageVersion)" />
-  </Target>
-</Project>

+ 0 - 23
scripts/ListRepoVersions.ps1

@@ -1,23 +0,0 @@
-#!/usr/bin/env pwsh
-
-<#
-.SYNOPSIS
-    Lists the version of all submodules and this repo
-.PARAMETER Shipping
-    Only list repos that are shipping
-#>
-[cmdletbinding(SupportsShouldProcess = $true)]
-param(
-    [switch]$Shipping = $false
-)
-
-Set-StrictMode -Version 2
-$ErrorActionPreference = 'Stop'
-
-Import-Module -Scope Local -Force "$PSScriptRoot/common.psm1"
-
-Assert-Git
-
-$RepoRoot = Resolve-Path "$PSScriptRoot/../"
-
-Get-Submodules $RepoRoot -Shipping:$Shipping | Format-Table -Property 'module','versionPrefix'

+ 0 - 111
scripts/PatchVersionPrefix.ps1

@@ -1,111 +0,0 @@
-#!/usr/bin/env pwsh -c
-
-<#
-.SYNOPSIS
-    Updates the version.props file in repos to a newer patch version
-.PARAMETER Repos
-    A list of the repositories that should be patched
-.PARAMETER Mode
-    Version bump options: Major, Minor, Patch
-.PARAMETER VersionSuffix
-    The version suffix to use
-#>
-[cmdletbinding(SupportsShouldProcess = $true)]
-param(
-    [Parameter(Mandatory = $true)]
-    [string[]]$Repos,
-    [Parameter(Mandatory = $true)]
-    [ValidateSet('Major', 'Minor', 'Patch')]
-    [string]$Mode,
-    [string]$VersionSuffix = $null,
-    [switch]$NoCommit
-)
-
-$ErrorActionPreference = 'Stop'
-
-Import-Module -Scope Local -Force "$PSScriptRoot/common.psm1"
-
-function SetVersionSuffix([System.Xml.XmlNode]$node) {
-    if (-not $node) {
-        return
-    }
-    $node.InnerText = $VersionSuffix
-    return "Setting $($node.Name) to $VersionSuffix"
-}
-
-function BumpVersion([System.Xml.XmlNode]$node) {
-    if (-not $node) {
-        return
-    }
-    [version] $version = $node.InnerText
-
-    $experimental = $version.Major -eq 0
-
-    switch ($mode) {
-        { ($_ -ne 'Patch') -and $experimental} {
-            $node.InnerText = "{0}.{1}.{2}" -f $version.Major, ($version.Minor + 1), 0
-        }
-        { ($_ -eq 'Major') -and -not $experimental } {
-            $node.InnerText = "{0}.{1}.{2}" -f ($version.Major + 1), 0, 0
-        }
-        { ($_ -eq 'Minor') -and -not $experimental } {
-            $node.InnerText = "{0}.{1}.{2}" -f $version.Major, ($version.Minor + 1), 0
-        }
-        'Patch' {
-            $node.InnerText = "{0}.{1}.{2}" -f $version.Major, $version.Minor, ($version.Build + 1)
-        }
-        default {
-            throw "Could not figure out how to apply patch policy $mode"
-        }
-    }
-    return "Bumping version from $version to $($node.InnerText)"
-}
-
-foreach ($repo in $Repos) {
-    $repoPath = "$PSScriptRoot/../modules/$repo"
-    Push-Location $repoPath
-    try
-    {
-        $path = "$repoPath/version.props"
-        Write-Host -ForegroundColor Magenta "Updating $repo"
-        if (-not (Test-Path $path)) {
-            Write-Warning "$path does not exist"
-            continue
-        }
-        $path = Resolve-Path $path
-        Write-Verbose "$path"
-        [xml] $xml = LoadXml $path
-
-        $suffix = $xml.SelectSingleNode('/Project/PropertyGroup/VersionSuffix')
-        if (-not $suffix) {
-            write-error "$path does not have VersionSuffix"
-        }
-
-        if ($VersionSuffix) {
-            SetVersionSuffix $xml.SelectSingleNode('/Project/PropertyGroup/VersionSuffix') | write-host
-            SetVersionSuffix $xml.SelectSingleNode('/Project/PropertyGroup/ExperimentalProjectVersionSuffix') | write-host
-            SetVersionSuffix $xml.SelectSingleNode('/Project/PropertyGroup/ExperimentalVersionSuffix') | write-host
-        }
-
-        $versionPrefix = $xml.SelectSingleNode('/Project/PropertyGroup/VersionPrefix')
-        $epxVersionPrefix = $xml.SelectSingleNode('/Project/PropertyGroup/ExperimentalProjectVersionPrefix')
-        $exVersionPrefix = $xml.SelectSingleNode('/Project/PropertyGroup/ExperimentalVersionPrefix')
-        BumpVersion $epxVersionPrefix | write-host
-        BumpVersion $exVersionPrefix | write-host
-        $message = BumpVersion $versionPrefix
-        Write-Host $message
-
-        if ($PSCmdlet.ShouldProcess("Update $path")) {
-            SaveXml $xml $path
-            if (-not $NoCommit) {
-                Invoke-Block { & git add $path }
-                Invoke-Block { & git commit -m $message }
-            }
-        }
-    }
-    finally
-    {
-        Pop-Location
-    }
-}
-

+ 0 - 66
scripts/TagRepos.ps1

@@ -1,66 +0,0 @@
-#!/usr/bin/env pwsh
-
-<#
-.SYNOPSIS
-    Tags each repo according to VersionPrefix in version.props of that repo
-.PARAMETER Push
-    Push all updated tags
-.PARAMETER ForceUpdateTag
-    This will call git tag --force
-#>
-[cmdletbinding(SupportsShouldProcess = $true)]
-param(
-    [switch]$Push = $false,
-    [switch]$ForceUpdateTag = $false
-)
-
-Set-StrictMode -Version 2
-$ErrorActionPreference = 'Stop'
-
-Import-Module -Scope Local -Force "$PSScriptRoot/common.psm1"
-
-Assert-Git
-
-$RepoRoot = Resolve-Path "$PSScriptRoot/../"
-
-Get-Submodules $RepoRoot -Shipping | % {
-    Push-Location $_.path | Out-Null
-    try {
-
-        if (-not $_.versionPrefix) {
-            Write-Warning "Could not determine tag version for $(_.path)"
-        }
-        else {
-            $tag = $_.versionPrefix
-            Write-Host "$($_.module) => $tag"
-
-            $gitTagArgs = @()
-            if ($ForceUpdateTag) {
-                $gitTagArgs += '--force'
-            }
-
-            Invoke-Block { & git tag @gitTagArgs $tag }
-
-            if ($Push) {
-                $gitPushArgs = @()
-                if ($WhatIfPreference) {
-                    $gitPushArgs += '--dry-run'
-                }
-                Invoke-Block { & git push @gitPushArgs origin "refs/tags/${tag}"  }
-            }
-
-            if ($WhatIfPreference) {
-                Invoke-Block { & git tag -d $tag } | Out-Null
-            }
-        }
-    }
-    catch {
-        Write-Host -ForegroundColor Red "Could not update $_"
-        throw
-    }
-    finally {
-        Pop-Location
-    }
-}
-
-

+ 0 - 133
scripts/UpdateDependenciesCoreFx.ps1

@@ -1,133 +0,0 @@
-
-[CmdletBinding()]
-param(
-    [switch]$NoCommit,
-    [string]$GithubEmail,
-    [string]$GithubUsername,
-    [string]$GithubToken
-)
-
-$ErrorActionPreference = 'Stop'
-Import-Module -Scope Local -Force "$PSScriptRoot/common.psm1"
-Set-StrictMode -Version 1
-[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
-
-$githubRaw = "https://raw.githubusercontent.com"
-$versionsRepo = "dotnet/versions"
-$versionsBranch = "master"
-
-$coreSetupRepo = "dotnet/core-setup"
-$coreFxRepo = "dotnet/corefx"
-
-$coreSetupVersions = "$githubRaw/$versionsRepo/$versionsBranch/build-info/$coreSetupRepo/master/Latest_Packages.txt"
-
-$tempDir = "$PSScriptRoot/../obj"
-
-mkdir -Path $tempDir -ErrorAction Ignore
-
-$localCoreSetupVersions = "$tempDir/coresetup.packages"
-Write-Host "Downloading $coreSetupVersions to $localCoreSetupVersions"
-Invoke-WebRequest -OutFile $localCoreSetupVersions -Uri $coreSetupVersions
-
-$msNetCoreAppPackageVersion = $null
-$msNetCoreAppPackageName = "Microsoft.NETCore.App"
-
-Set-GitHubInfo $GithubToken $GithubUsername $GithubEmail
-
-$variables = @{}
-
-foreach ($line in Get-Content $localCoreSetupVersions) {
-    if ($line.StartsWith("$msNetCoreAppPackageName ")) {
-        $msNetCoreAppPackageVersion = $line.Trim("$msNetCoreAppPackageName ")
-    }
-    $parts = $line.Split(' ')
-    $packageName = $parts[0]
-
-    $varName = "$packageName" + "PackageVersion"
-    $varName = $varName.Replace('.', '')
-
-    $packageVersion = $parts[1]
-    if ($variables[$varName]) {
-        if ($variables[$varName].Where( {$_ -eq $packageVersion}, 'First').Count -eq 0) {
-            $variables[$varName] += $packageVersion
-        }
-    }
-    else {
-        $variables[$varName] = @($packageVersion)
-    }
-}
-
-if (!$msNetCoreAppPackageVersion) {
-    throw "$msNetCoreAppPackageName was not in $coreSetupVersions"
-}
-
-$coreAppDownloadLink = "https://dotnet.myget.org/F/dotnet-core/api/v2/package/$msNetCoreAppPackageName/$msNetCoreAppPackageVersion"
-$netCoreAppNupkg = "$tempDir/microsoft.netcore.app.zip"
-Invoke-WebRequest -OutFile $netCoreAppNupkg -Uri $coreAppDownloadLink
-$expandedNetCoreApp = "$tempDir/microsoft.netcore.app/"
-Expand-Archive -Path $netCoreAppNupkg -DestinationPath $expandedNetCoreApp -Force
-$versionsTxt = "$expandedNetCoreApp/$msNetCoreAppPackageName.versions.txt"
-
-$versionsCoreFxCommit = $null
-foreach ($line in Get-Content $versionsTxt) {
-    if ($line.StartsWith("dotnet/versions/corefx")) {
-        $versionsCoreFxCommit = $line.Split(' ')[1]
-        break
-    }
-}
-
-if (!$versionsCoreFxCommit) {
-    Throw "no 'dotnet/versions/corefx' in versions.txt of Microsoft.NETCore.App"
-}
-
-$coreFxVersionsUrl = "$githubRaw/$versionsRepo/$versionsCoreFxCommit/build-info/$coreFxRepo/$versionsBranch/Latest_Packages.txt"
-$localCoreFxVersions = "$tempDir/$corefx.packages"
-Invoke-WebRequest -OutFile $localCoreFxVersions -Uri $coreFxVersionsUrl
-
-foreach ($line in Get-Content $localCoreFxVersions) {
-    $parts = $line.Split(' ')
-
-    $packageName = $parts[0]
-
-    $varName = "$packageName" + "PackageVersion"
-    $varName = $varName.Replace('.', '')
-    $packageVersion = $parts[1]
-    if ($variables[$varName]) {
-        if ($variables[$varName].Where( {$_ -eq $packageVersion}, 'First').Count -eq 0) {
-            $variables[$varName] += $packageVersion
-        }
-    }
-    else {
-        $variables[$varName] = @($packageVersion)
-    }
-}
-
-$depsPath = Resolve-Path "$PSScriptRoot/../build/dependencies.props"
-Write-Host "Loading deps from $depsPath"
-[xml] $dependencies = LoadXml $depsPath
-
-if (-not $NoCommit) {
-    $baseBranch = "release/2.2"
-    Invoke-Block { & git fetch origin }
-
-    $currentBranch = Invoke-Block { & git rev-parse --abbrev-ref HEAD }
-    $destinationBranch = "upgrade-netcore-deps"
-
-    Invoke-Block { & git checkout -tb $destinationBranch "origin/$baseBranch" }
-}
-
-try {
-    $updatedVars = UpdateVersions $variables $dependencies $depsPath
-    if (-not $NoCommit) {
-        $body = CommitUpdatedVersions $updatedVars $dependencies $depsPath "Upgrade to .NET Core $msNetCoreAppPackageVersion"
-
-        if ($body) {
-            CreatePR "aspnet" $GithubUsername $baseBranch $destinationBranch $body $GithubToken
-        }
-    }
-}
-finally {
-    if (-not $NoCommit) {
-        Invoke-Block { & git checkout $currentBranch }
-    }
-}

+ 0 - 148
scripts/UpdateRepos.ps1

@@ -1,148 +0,0 @@
-#!/usr/bin/env pwsh
-
-<#
-.SYNOPSIS
-    Updates each submodule this repo builds to new dependencies.props.
-.PARAMETER Source
-    The NuGet package source to find the lineup on.
-.PARAMETER LineupID
-    The ID of the Lineup to determine which versions to use.
-.PARAMETER LineupVersion
-    The version of the Lineup to be used.
-.PARAMETER NoPush
-    Make commits without pusing.
-.PARAMETER GitAuthorName
-    The author name to use in the commit message. (Optional)
-.PARAMETER GitAuthorEmail
-    The author email to use in the commit message. (Optional)
-.PARAMETER Force
-    Specified this to push commits without prompting.
-.PARAMETER GitCommitArgs
-    Any remaining arguments are passed as arguments to 'git commit' actions in each repo.
-#>
-[cmdletbinding(SupportsShouldProcess = $true)]
-param(
-    [Parameter(Mandatory = $true)]
-    [string]$Source,
-    [Parameter(Mandatory = $true)]
-    [string]$LineupID,
-    [Parameter(Mandatory = $true)]
-    [string]$LineupVersion,
-    [switch]$NoPush,
-    [string]$GitAuthorName = $null,
-    [string]$GitAuthorEmail = $null,
-    [switch]$Force,
-    [string[]]$GitCommitArgs = @()
-)
-
-$ErrorActionPreference = 'Stop'
-Set-StrictMode -Version 2
-
-Import-Module "$PSScriptRoot/common.psm1" -Scope Local -Force
-
-$RepoRoot = Resolve-Path "$PSScriptRoot\.."
-$ModuleDirectory = Join-Path $RepoRoot "modules"
-
-$gitConfigArgs = @()
-if ($GitAuthorName) {
-    $gitConfigArgs += '-c', "user.name=$GitAuthorName"
-}
-
-if ($GitAuthorEmail) {
-    $gitConfigArgs += '-c', "user.email=$GitAuthorEmail"
-}
-
-Push-Location $ModuleDirectory
-try {
-
-    $build_errors = @()
-    $submodules = Get-Submodules $RepoRoot
-    foreach ($submodule in $submodules) {
-        Push-Location $submodule.path
-        try {
-            Invoke-Block { & git fetch }
-            Invoke-Block { & git checkout origin/$($submodule.branch) }
-            $depsFile = Join-Path (Join-Path $($submodule.path) "build") "dependencies.props"
-
-            if (!(Test-Path $depsFile)) {
-                Write-Warning "No build\dependencies.props file exists for '$($submodule.module)'."
-                continue
-            }
-
-            $koreBuildLock = "korebuild-lock.txt"
-
-            $repoKoreBuildLock = (Join-Path $RepoRoot $koreBuildLock)
-            $submoduleKoreBuildLock = (Join-Path $submodule.path $koreBuildLock)
-
-            Copy-Item $repoKoreBuildLock $submoduleKoreBuildLock -Force
-
-            Write-Verbose "About to update dependencies.props for $($submodule.module)"
-            & .\run.ps1 upgrade deps --source $Source --id $LineupID --version $LineupVersion --deps-file $depsFile
-
-            Invoke-Block { & git @gitConfigArgs add $depsFile $koreBuildLock }
-
-            # If there were any changes test and push.
-            & git diff --cached --quiet ./
-            if ($LASTEXITCODE -ne 0) {
-                Invoke-Block { & git @gitConfigArgs commit --quiet -m "Update dependencies.props`n`n[auto-updated: dependencies]" @GitCommitArgs }
-
-                # Prepare this submodule for push
-                $sshUrl = "[email protected]:aspnet/$($submodule.module)"
-                Invoke-Block { & git remote set-url --push origin $sshUrl }
-
-                # Test the submodule
-                try {
-                    Invoke-Block { & .\run.ps1 default-build /p:SkipTests=true }
-                }
-                catch {
-                    Write-Warning "Error in $($submodule.module): $_"
-                    $build_errors += @{
-                        Repo    = $submodule.module
-                        Message = $_
-                    }
-                    continue
-                }
-
-                # Push the changes
-                if (-not $NoPush -and ($Force -or ($PSCmdlet.ShouldContinue("Pushing updates to repos.", 'Push the changes to these repos?')))) {
-                    try {
-                        $newBranch = "maestro/$($submodule.branch)"
-                        Invoke-Block { & git @gitConfigArgs push origin HEAD:refs/heads/$newBranch}
-                    }
-                    catch {
-                        Write-Warning "Error in pushing $($newBranch): $_"
-                        $build_errors += @{
-                            Repo    = $submodule.module
-                            Message = $_
-                        }
-                        continue
-                    }
-                }
-            }
-            else {
-                Write-Host "No changes in $($submodule.module)"
-            }
-        }
-        catch {
-            Write-Warning "Error in $($submodule.module): $_"
-            $build_errors += @{
-                Repo    = $submodule.module
-                Message = $_
-            }
-        }
-        finally {
-            Pop-Location
-        }
-    }
-
-    if ($build_errors.Count -gt 0 ) {
-        Write-Warning "The following repos failed:"
-        foreach ($error in $build_errors) {
-            Write-Warning "   - $($error.Repo)"
-        }
-        throw "Failed to build"
-    }
-}
-finally {
-    Pop-Location
-}

+ 0 - 2
scripts/requirements.txt

@@ -1,2 +0,0 @@
-PyYAML==3.12
-termcolor==1.1.0

+ 0 - 100
scripts/update_travis_appveyor_yml.py

@@ -1,100 +0,0 @@
-#!/usr/bin/env python3
-
-import collections
-import glob
-import yaml
-from os import path
-from termcolor import colored, cprint
-from yaml.constructor import Constructor
-
-def dump_format(dump, tag, mapping, flow_style=None):
-    """
-    Better output formatting for YAML dictionaries
-    """
-    value = []
-    node = yaml.MappingNode(tag, value, flow_style=flow_style)
-    if dump.alias_key is not None:
-        dump.represented_objects[dump.alias_key] = node
-    best_style = True
-    if hasattr(mapping, 'items'):
-        mapping = mapping.items()
-    for item_key, item_value in mapping:
-        node_key = dump.represent_data(item_key)
-        node_value = dump.represent_data(item_value)
-        if not (isinstance(node_key, yaml.ScalarNode) and not node_key.style):
-            best_style = False
-        if not (isinstance(node_value, yaml.ScalarNode) and not node_value.style):
-            best_style = False
-        value.append((node_key, node_value))
-    if flow_style is None:
-        if dump.default_flow_style is not None:
-            node.flow_style = dump.default_flow_style
-        else:
-            node.flow_style = best_style
-    return node
-
-
-def add_bool_as_scalar(self, node):
-    """
-    Don't auto-parse boolean values
-    """
-    if node.value == 'true' or node.value == 'false' :
-        return self.construct_yaml_bool(node)
-    return self.construct_scalar(node)
-
-_mapping_tag = yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG
-
-def dict_representer(dumper, data):
-    return dumper.represent_mapping(_mapping_tag, data.iteritems())
-
-
-def dict_constructor(loader, node):
-    return collections.OrderedDict(loader.construct_pairs(node))
-
-def update(pattern, updater):
-    print('\n\n\n')
-    cprint(pattern, 'magenta')
-
-    for f in glob.glob(path.join(repo_root, "modules", "*", pattern)):
-        yml = path.join(repo_root, f)
-
-        if not path.exists(yml):
-            cprint("File does not exist: {}".format(yml), 'red')
-            continue
-
-        print("Updating {}".format(yml))
-        document = yaml.load(open(yml, 'r'))
-        document = updater(document)
-        yml_file = open(yml, 'w')
-        yml_file.write(yaml.safe_dump(document, default_flow_style=False, indent=2))
-        yml_file.close()
-
-#
-# Config yaml parser
-#
-
-# Do not reorder keys in yaml file
-yaml.add_representer(collections.OrderedDict, dict_representer)
-yaml.add_constructor(_mapping_tag, dict_constructor)
-# Pretty print dictionaries
-yaml.SafeDumper.add_representer(collections.OrderedDict,
-                                lambda dumper, value: dump_format(dumper, u'tag:yaml.org,2002:map', value))
-# Don't parse booleans - treat them as scalars
-yaml.Loader.add_constructor(u'tag:yaml.org,2002:bool', add_bool_as_scalar)
-yaml.SafeLoader.add_constructor(u'tag:yaml.org,2002:bool', add_bool_as_scalar)
-
-#
-# Main
-#
-
-repo_root = path.dirname(path.dirname(path.abspath(__file__)))
-
-def transform_yaml_doc(document):
-    if not 'branches' in document:
-        document['branches'] = {}
-    document['branches']['only'] = [
-        'dev', '/^release\/.*$/', '/^(.*\/)?ci-.*$/']
-    return document
-
-update(".travis.yml", transform_yaml_doc)
-update(".appveyor.yml", transform_yaml_doc)

+ 0 - 7
src/AADIntegration/build/repo.props

@@ -1,13 +1,6 @@
 <Project>
   <Import Project="dependencies.props" />
 
-  <PropertyGroup>
-    <!-- These properties are use by the automation that updates dependencies.props -->
-    <LineupPackageId>Internal.AspNetCore.Universe.Lineup</LineupPackageId>
-    <LineupPackageVersion>2.2.0-*</LineupPackageVersion>
-    <LineupPackageRestoreSource>https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json</LineupPackageRestoreSource>
-  </PropertyGroup>
-
   <ItemGroup>
     <DotNetCoreRuntime Include="$(MicrosoftNETCoreApp20PackageVersion)" />
     <DotNetCoreRuntime Include="$(MicrosoftNETCoreApp21PackageVersion)" />

+ 0 - 6
src/Antiforgery/build/repo.props

@@ -1,12 +1,6 @@
 <Project>
   <Import Project="dependencies.props" />
 
-  <PropertyGroup>
-    <LineupPackageId>Internal.AspNetCore.Universe.Lineup</LineupPackageId>
-    <LineupPackageVersion>2.2.0-*</LineupPackageVersion>
-    <LineupPackageRestoreSource>https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json</LineupPackageRestoreSource>
-  </PropertyGroup>
-
   <ItemGroup>
     <DotNetCoreRuntime Include="$(MicrosoftNETCoreApp20PackageVersion)" />
     <DotNetCoreRuntime Include="$(MicrosoftNETCoreApp21PackageVersion)" />

+ 0 - 7
src/AuthSamples/build/repo.props

@@ -1,13 +1,6 @@
 <Project>
   <Import Project="dependencies.props" />
 
-  <PropertyGroup>
-    <!-- These properties are use by the automation that updates dependencies.props -->
-    <LineupPackageId>Internal.AspNetCore.Universe.Lineup</LineupPackageId>
-    <LineupPackageVersion>2.2.0-*</LineupPackageVersion>
-    <LineupPackageRestoreSource>https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json</LineupPackageRestoreSource>
-  </PropertyGroup>
-
   <ItemGroup>
     <DotNetCoreRuntime Include="$(MicrosoftNETCoreApp22PackageVersion)" />
   </ItemGroup>

+ 0 - 5
src/AzureIntegration/build/repo.props

@@ -3,11 +3,6 @@
 
   <PropertyGroup>
     <FunctionalTestsProject>$(RepositoryRoot)test\Microsoft.AspNetCore.AzureAppServices.FunctionalTests\Microsoft.AspNetCore.AzureAppServices.FunctionalTests.csproj</FunctionalTestsProject>
-
-    <!-- These properties are use by the automation that updates dependencies.props -->
-    <LineupPackageId>Internal.AspNetCore.Universe.Lineup</LineupPackageId>
-    <LineupPackageVersion>2.2.0-*</LineupPackageVersion>
-    <LineupPackageRestoreSource>https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json</LineupPackageRestoreSource>
   </PropertyGroup>
 
   <ItemGroup>

+ 0 - 7
src/CORS/build/repo.props

@@ -1,13 +1,6 @@
 <Project>
   <Import Project="dependencies.props" />
 
-  <PropertyGroup>
-    <!-- These properties are use by the automation that updates dependencies.props -->
-    <LineupPackageId>Internal.AspNetCore.Universe.Lineup</LineupPackageId>
-    <LineupPackageVersion>2.2.0-*</LineupPackageVersion>
-    <LineupPackageRestoreSource>https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json</LineupPackageRestoreSource>
-  </PropertyGroup>
-
   <ItemGroup>
     <DotNetCoreRuntime Include="$(MicrosoftNETCoreApp20PackageVersion)" />
     <DotNetCoreRuntime Include="$(MicrosoftNETCoreApp21PackageVersion)" />

+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs → src/Http/Routing.Abstractions/src/Endpoint.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs → src/Http/Routing.Abstractions/src/EndpointMetadataCollection.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs → src/Http/Routing.Abstractions/src/IEndpointFeature.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IOutboundParameterTransformer.cs → src/Http/Routing.Abstractions/src/IOutboundParameterTransformer.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs → src/Http/Routing.Abstractions/src/IParameterPolicy.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs → src/Http/Routing.Abstractions/src/IRouteConstraint.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteHandler.cs → src/Http/Routing.Abstractions/src/IRouteHandler.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs → src/Http/Routing.Abstractions/src/IRouteValuesFeature.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouter.cs → src/Http/Routing.Abstractions/src/IRouter.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRoutingFeature.cs → src/Http/Routing.Abstractions/src/IRoutingFeature.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs → src/Http/Routing.Abstractions/src/LinkGenerator.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/LinkOptions.cs → src/Http/Routing.Abstractions/src/LinkOptions.cs


+ 2 - 2
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Microsoft.AspNetCore.Routing.Abstractions.csproj → src/Http/Routing.Abstractions/src/Microsoft.AspNetCore.Routing.Abstractions.csproj

@@ -12,7 +12,7 @@ Microsoft.AspNetCore.Routing.RouteData</Description>
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="$(MicrosoftAspNetCoreHttpAbstractionsPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.PropertyHelper.Sources" Version="$(MicrosoftExtensionsPropertyHelperSourcesPackageVersion)" PrivateAssets="All" />
+    <Reference Include="Microsoft.AspNetCore.Http.Abstractions" />
+    <Reference Include="Microsoft.Extensions.PropertyHelper.Sources" PrivateAssets="All" />
   </ItemGroup>
 </Project>

+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs → src/Http/Routing.Abstractions/src/Properties/AssemblyInfo.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/Resources.Designer.cs → src/Http/Routing.Abstractions/src/Properties/Resources.Designer.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Resources.resx → src/Http/Routing.Abstractions/src/Resources.resx


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs → src/Http/Routing.Abstractions/src/RouteContext.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs → src/Http/Routing.Abstractions/src/RouteData.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteDirection.cs → src/Http/Routing.Abstractions/src/RouteDirection.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs → src/Http/Routing.Abstractions/src/RouteValueDictionary.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RoutingHttpContextExtensions.cs → src/Http/Routing.Abstractions/src/RoutingHttpContextExtensions.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs → src/Http/Routing.Abstractions/src/VirtualPathContext.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathData.cs → src/Http/Routing.Abstractions/src/VirtualPathData.cs


+ 0 - 0
src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json → src/Http/Routing.Abstractions/src/baseline.netcore.json


+ 0 - 0
src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs → src/Http/Routing.Abstractions/test/EndpointMetadataCollectionTests.cs


+ 11 - 0
src/Http/Routing.Abstractions/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj

@@ -0,0 +1,11 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFrameworks>$(StandardTestTfms)</TargetFrameworks>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Routing.Abstractions" />
+  </ItemGroup>
+
+</Project>

+ 0 - 0
src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteDataTest.cs → src/Http/Routing.Abstractions/test/RouteDataTest.cs


+ 0 - 0
src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs → src/Http/Routing.Abstractions/test/RouteValueDictionaryTests.cs


+ 0 - 0
src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/VirtualPathDataTests.cs → src/Http/Routing.Abstractions/test/VirtualPathDataTests.cs


+ 185 - 0
src/Http/Routing.sln

@@ -0,0 +1,185 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.26124.0
+MinimumVisualStudioVersion = 15.0.26124.0
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Routing", "Routing", "{240298B6-6729-4844-9B30-B8BC0CD12772}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.AspNetCore.Routing.Performance", "Routing\perf\Microsoft.AspNetCore.Routing.Performance.csproj", "{D9A5185A-1697-4B6B-B845-C13AE6DA6D3F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.AspNetCore.Routing", "Routing\src\Microsoft.AspNetCore.Routing.csproj", "{A69248B5-2ACE-4B52-B0B0-63AD54D52543}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{8B2D195B-4997-4CCE-9846-4A848A6F258D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.AspNetCore.Routing.FunctionalTests", "Routing\test\FunctionalTests\Microsoft.AspNetCore.Routing.FunctionalTests.csproj", "{5BD1EBCE-E05E-41FC-A1A8-BF36FA096F22}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.AspNetCore.Routing.Tests", "Routing\test\UnitTests\Microsoft.AspNetCore.Routing.Tests.csproj", "{3F9CEBB1-A50D-4869-B555-81E572E62D18}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Routing.Abstractions", "Routing.Abstractions", "{485B8E11-FC7C-464F-8CB2-A164DAB30D58}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.AspNetCore.Routing.Abstractions", "Routing.Abstractions\src\Microsoft.AspNetCore.Routing.Abstractions.csproj", "{C9C9FAB5-0A0D-4334-9A7D-C83C38EB29B0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests", "Routing.Abstractions\test\Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj", "{32C5C558-E104-4DC4-9311-890697DE8D65}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "testassets", "testassets", "{EDF2E5EF-EAEC-4B51-8473-857531557DAE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Benchmarks", "Routing\test\testassets\Benchmarks\Benchmarks.csproj", "{490C00C6-4B63-4E1B-95AB-EDEB7532D4B2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RoutingWebSite", "Routing\test\testassets\RoutingWebSite\RoutingWebSite.csproj", "{3A05A5F5-78AD-440F-9795-A8432718CB63}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{6E739429-4F29-4694-93D8-8F7F42C9C6DC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Swaggatherer", "Routing\tools\Swaggatherer\Swaggatherer.csproj", "{A1B3C84D-206C-439D-8821-416D935CFCB5}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RoutingSandbox", "Routing\test\testassets\RoutingSandbox\RoutingSandbox.csproj", "{4F51F949-DCC3-433E-981E-0F84E7CA9D61}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|Any CPU = Release|Any CPU
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{D9A5185A-1697-4B6B-B845-C13AE6DA6D3F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D9A5185A-1697-4B6B-B845-C13AE6DA6D3F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D9A5185A-1697-4B6B-B845-C13AE6DA6D3F}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{D9A5185A-1697-4B6B-B845-C13AE6DA6D3F}.Debug|x64.Build.0 = Debug|Any CPU
+		{D9A5185A-1697-4B6B-B845-C13AE6DA6D3F}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{D9A5185A-1697-4B6B-B845-C13AE6DA6D3F}.Debug|x86.Build.0 = Debug|Any CPU
+		{D9A5185A-1697-4B6B-B845-C13AE6DA6D3F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D9A5185A-1697-4B6B-B845-C13AE6DA6D3F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D9A5185A-1697-4B6B-B845-C13AE6DA6D3F}.Release|x64.ActiveCfg = Release|Any CPU
+		{D9A5185A-1697-4B6B-B845-C13AE6DA6D3F}.Release|x64.Build.0 = Release|Any CPU
+		{D9A5185A-1697-4B6B-B845-C13AE6DA6D3F}.Release|x86.ActiveCfg = Release|Any CPU
+		{D9A5185A-1697-4B6B-B845-C13AE6DA6D3F}.Release|x86.Build.0 = Release|Any CPU
+		{A69248B5-2ACE-4B52-B0B0-63AD54D52543}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A69248B5-2ACE-4B52-B0B0-63AD54D52543}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A69248B5-2ACE-4B52-B0B0-63AD54D52543}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{A69248B5-2ACE-4B52-B0B0-63AD54D52543}.Debug|x64.Build.0 = Debug|Any CPU
+		{A69248B5-2ACE-4B52-B0B0-63AD54D52543}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{A69248B5-2ACE-4B52-B0B0-63AD54D52543}.Debug|x86.Build.0 = Debug|Any CPU
+		{A69248B5-2ACE-4B52-B0B0-63AD54D52543}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A69248B5-2ACE-4B52-B0B0-63AD54D52543}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A69248B5-2ACE-4B52-B0B0-63AD54D52543}.Release|x64.ActiveCfg = Release|Any CPU
+		{A69248B5-2ACE-4B52-B0B0-63AD54D52543}.Release|x64.Build.0 = Release|Any CPU
+		{A69248B5-2ACE-4B52-B0B0-63AD54D52543}.Release|x86.ActiveCfg = Release|Any CPU
+		{A69248B5-2ACE-4B52-B0B0-63AD54D52543}.Release|x86.Build.0 = Release|Any CPU
+		{5BD1EBCE-E05E-41FC-A1A8-BF36FA096F22}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{5BD1EBCE-E05E-41FC-A1A8-BF36FA096F22}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{5BD1EBCE-E05E-41FC-A1A8-BF36FA096F22}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{5BD1EBCE-E05E-41FC-A1A8-BF36FA096F22}.Debug|x64.Build.0 = Debug|Any CPU
+		{5BD1EBCE-E05E-41FC-A1A8-BF36FA096F22}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{5BD1EBCE-E05E-41FC-A1A8-BF36FA096F22}.Debug|x86.Build.0 = Debug|Any CPU
+		{5BD1EBCE-E05E-41FC-A1A8-BF36FA096F22}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{5BD1EBCE-E05E-41FC-A1A8-BF36FA096F22}.Release|Any CPU.Build.0 = Release|Any CPU
+		{5BD1EBCE-E05E-41FC-A1A8-BF36FA096F22}.Release|x64.ActiveCfg = Release|Any CPU
+		{5BD1EBCE-E05E-41FC-A1A8-BF36FA096F22}.Release|x64.Build.0 = Release|Any CPU
+		{5BD1EBCE-E05E-41FC-A1A8-BF36FA096F22}.Release|x86.ActiveCfg = Release|Any CPU
+		{5BD1EBCE-E05E-41FC-A1A8-BF36FA096F22}.Release|x86.Build.0 = Release|Any CPU
+		{3F9CEBB1-A50D-4869-B555-81E572E62D18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{3F9CEBB1-A50D-4869-B555-81E572E62D18}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{3F9CEBB1-A50D-4869-B555-81E572E62D18}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{3F9CEBB1-A50D-4869-B555-81E572E62D18}.Debug|x64.Build.0 = Debug|Any CPU
+		{3F9CEBB1-A50D-4869-B555-81E572E62D18}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{3F9CEBB1-A50D-4869-B555-81E572E62D18}.Debug|x86.Build.0 = Debug|Any CPU
+		{3F9CEBB1-A50D-4869-B555-81E572E62D18}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{3F9CEBB1-A50D-4869-B555-81E572E62D18}.Release|Any CPU.Build.0 = Release|Any CPU
+		{3F9CEBB1-A50D-4869-B555-81E572E62D18}.Release|x64.ActiveCfg = Release|Any CPU
+		{3F9CEBB1-A50D-4869-B555-81E572E62D18}.Release|x64.Build.0 = Release|Any CPU
+		{3F9CEBB1-A50D-4869-B555-81E572E62D18}.Release|x86.ActiveCfg = Release|Any CPU
+		{3F9CEBB1-A50D-4869-B555-81E572E62D18}.Release|x86.Build.0 = Release|Any CPU
+		{C9C9FAB5-0A0D-4334-9A7D-C83C38EB29B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C9C9FAB5-0A0D-4334-9A7D-C83C38EB29B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C9C9FAB5-0A0D-4334-9A7D-C83C38EB29B0}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{C9C9FAB5-0A0D-4334-9A7D-C83C38EB29B0}.Debug|x64.Build.0 = Debug|Any CPU
+		{C9C9FAB5-0A0D-4334-9A7D-C83C38EB29B0}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{C9C9FAB5-0A0D-4334-9A7D-C83C38EB29B0}.Debug|x86.Build.0 = Debug|Any CPU
+		{C9C9FAB5-0A0D-4334-9A7D-C83C38EB29B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C9C9FAB5-0A0D-4334-9A7D-C83C38EB29B0}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C9C9FAB5-0A0D-4334-9A7D-C83C38EB29B0}.Release|x64.ActiveCfg = Release|Any CPU
+		{C9C9FAB5-0A0D-4334-9A7D-C83C38EB29B0}.Release|x64.Build.0 = Release|Any CPU
+		{C9C9FAB5-0A0D-4334-9A7D-C83C38EB29B0}.Release|x86.ActiveCfg = Release|Any CPU
+		{C9C9FAB5-0A0D-4334-9A7D-C83C38EB29B0}.Release|x86.Build.0 = Release|Any CPU
+		{32C5C558-E104-4DC4-9311-890697DE8D65}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{32C5C558-E104-4DC4-9311-890697DE8D65}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{32C5C558-E104-4DC4-9311-890697DE8D65}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{32C5C558-E104-4DC4-9311-890697DE8D65}.Debug|x64.Build.0 = Debug|Any CPU
+		{32C5C558-E104-4DC4-9311-890697DE8D65}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{32C5C558-E104-4DC4-9311-890697DE8D65}.Debug|x86.Build.0 = Debug|Any CPU
+		{32C5C558-E104-4DC4-9311-890697DE8D65}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{32C5C558-E104-4DC4-9311-890697DE8D65}.Release|Any CPU.Build.0 = Release|Any CPU
+		{32C5C558-E104-4DC4-9311-890697DE8D65}.Release|x64.ActiveCfg = Release|Any CPU
+		{32C5C558-E104-4DC4-9311-890697DE8D65}.Release|x64.Build.0 = Release|Any CPU
+		{32C5C558-E104-4DC4-9311-890697DE8D65}.Release|x86.ActiveCfg = Release|Any CPU
+		{32C5C558-E104-4DC4-9311-890697DE8D65}.Release|x86.Build.0 = Release|Any CPU
+		{490C00C6-4B63-4E1B-95AB-EDEB7532D4B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{490C00C6-4B63-4E1B-95AB-EDEB7532D4B2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{490C00C6-4B63-4E1B-95AB-EDEB7532D4B2}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{490C00C6-4B63-4E1B-95AB-EDEB7532D4B2}.Debug|x64.Build.0 = Debug|Any CPU
+		{490C00C6-4B63-4E1B-95AB-EDEB7532D4B2}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{490C00C6-4B63-4E1B-95AB-EDEB7532D4B2}.Debug|x86.Build.0 = Debug|Any CPU
+		{490C00C6-4B63-4E1B-95AB-EDEB7532D4B2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{490C00C6-4B63-4E1B-95AB-EDEB7532D4B2}.Release|Any CPU.Build.0 = Release|Any CPU
+		{490C00C6-4B63-4E1B-95AB-EDEB7532D4B2}.Release|x64.ActiveCfg = Release|Any CPU
+		{490C00C6-4B63-4E1B-95AB-EDEB7532D4B2}.Release|x64.Build.0 = Release|Any CPU
+		{490C00C6-4B63-4E1B-95AB-EDEB7532D4B2}.Release|x86.ActiveCfg = Release|Any CPU
+		{490C00C6-4B63-4E1B-95AB-EDEB7532D4B2}.Release|x86.Build.0 = Release|Any CPU
+		{3A05A5F5-78AD-440F-9795-A8432718CB63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{3A05A5F5-78AD-440F-9795-A8432718CB63}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{3A05A5F5-78AD-440F-9795-A8432718CB63}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{3A05A5F5-78AD-440F-9795-A8432718CB63}.Debug|x64.Build.0 = Debug|Any CPU
+		{3A05A5F5-78AD-440F-9795-A8432718CB63}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{3A05A5F5-78AD-440F-9795-A8432718CB63}.Debug|x86.Build.0 = Debug|Any CPU
+		{3A05A5F5-78AD-440F-9795-A8432718CB63}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{3A05A5F5-78AD-440F-9795-A8432718CB63}.Release|Any CPU.Build.0 = Release|Any CPU
+		{3A05A5F5-78AD-440F-9795-A8432718CB63}.Release|x64.ActiveCfg = Release|Any CPU
+		{3A05A5F5-78AD-440F-9795-A8432718CB63}.Release|x64.Build.0 = Release|Any CPU
+		{3A05A5F5-78AD-440F-9795-A8432718CB63}.Release|x86.ActiveCfg = Release|Any CPU
+		{3A05A5F5-78AD-440F-9795-A8432718CB63}.Release|x86.Build.0 = Release|Any CPU
+		{A1B3C84D-206C-439D-8821-416D935CFCB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A1B3C84D-206C-439D-8821-416D935CFCB5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A1B3C84D-206C-439D-8821-416D935CFCB5}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{A1B3C84D-206C-439D-8821-416D935CFCB5}.Debug|x64.Build.0 = Debug|Any CPU
+		{A1B3C84D-206C-439D-8821-416D935CFCB5}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{A1B3C84D-206C-439D-8821-416D935CFCB5}.Debug|x86.Build.0 = Debug|Any CPU
+		{A1B3C84D-206C-439D-8821-416D935CFCB5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A1B3C84D-206C-439D-8821-416D935CFCB5}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A1B3C84D-206C-439D-8821-416D935CFCB5}.Release|x64.ActiveCfg = Release|Any CPU
+		{A1B3C84D-206C-439D-8821-416D935CFCB5}.Release|x64.Build.0 = Release|Any CPU
+		{A1B3C84D-206C-439D-8821-416D935CFCB5}.Release|x86.ActiveCfg = Release|Any CPU
+		{A1B3C84D-206C-439D-8821-416D935CFCB5}.Release|x86.Build.0 = Release|Any CPU
+		{4F51F949-DCC3-433E-981E-0F84E7CA9D61}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{4F51F949-DCC3-433E-981E-0F84E7CA9D61}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{4F51F949-DCC3-433E-981E-0F84E7CA9D61}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{4F51F949-DCC3-433E-981E-0F84E7CA9D61}.Debug|x64.Build.0 = Debug|Any CPU
+		{4F51F949-DCC3-433E-981E-0F84E7CA9D61}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{4F51F949-DCC3-433E-981E-0F84E7CA9D61}.Debug|x86.Build.0 = Debug|Any CPU
+		{4F51F949-DCC3-433E-981E-0F84E7CA9D61}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{4F51F949-DCC3-433E-981E-0F84E7CA9D61}.Release|Any CPU.Build.0 = Release|Any CPU
+		{4F51F949-DCC3-433E-981E-0F84E7CA9D61}.Release|x64.ActiveCfg = Release|Any CPU
+		{4F51F949-DCC3-433E-981E-0F84E7CA9D61}.Release|x64.Build.0 = Release|Any CPU
+		{4F51F949-DCC3-433E-981E-0F84E7CA9D61}.Release|x86.ActiveCfg = Release|Any CPU
+		{4F51F949-DCC3-433E-981E-0F84E7CA9D61}.Release|x86.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(NestedProjects) = preSolution
+		{D9A5185A-1697-4B6B-B845-C13AE6DA6D3F} = {240298B6-6729-4844-9B30-B8BC0CD12772}
+		{A69248B5-2ACE-4B52-B0B0-63AD54D52543} = {240298B6-6729-4844-9B30-B8BC0CD12772}
+		{8B2D195B-4997-4CCE-9846-4A848A6F258D} = {240298B6-6729-4844-9B30-B8BC0CD12772}
+		{5BD1EBCE-E05E-41FC-A1A8-BF36FA096F22} = {8B2D195B-4997-4CCE-9846-4A848A6F258D}
+		{3F9CEBB1-A50D-4869-B555-81E572E62D18} = {8B2D195B-4997-4CCE-9846-4A848A6F258D}
+		{C9C9FAB5-0A0D-4334-9A7D-C83C38EB29B0} = {485B8E11-FC7C-464F-8CB2-A164DAB30D58}
+		{32C5C558-E104-4DC4-9311-890697DE8D65} = {485B8E11-FC7C-464F-8CB2-A164DAB30D58}
+		{EDF2E5EF-EAEC-4B51-8473-857531557DAE} = {8B2D195B-4997-4CCE-9846-4A848A6F258D}
+		{490C00C6-4B63-4E1B-95AB-EDEB7532D4B2} = {EDF2E5EF-EAEC-4B51-8473-857531557DAE}
+		{3A05A5F5-78AD-440F-9795-A8432718CB63} = {EDF2E5EF-EAEC-4B51-8473-857531557DAE}
+		{6E739429-4F29-4694-93D8-8F7F42C9C6DC} = {240298B6-6729-4844-9B30-B8BC0CD12772}
+		{A1B3C84D-206C-439D-8821-416D935CFCB5} = {6E739429-4F29-4694-93D8-8F7F42C9C6DC}
+		{4F51F949-DCC3-433E-981E-0F84E7CA9D61} = {EDF2E5EF-EAEC-4B51-8473-857531557DAE}
+	EndGlobalSection
+EndGlobal

+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs → src/Http/Routing/perf/EndpointMetadataCollectionBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs → src/Http/Routing/perf/EndpointRoutingBenchmarkBase.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs → src/Http/Routing/perf/LinkGeneration/LinkGenerationGithubBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs → src/Http/Routing/perf/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs → src/Http/Routing/perf/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs → src/Http/Routing/perf/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs → src/Http/Routing/perf/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs → src/Http/Routing/perf/LinkGeneration/SingleRouteWithParametersBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerBenchmarkBase.cs → src/Http/Routing/perf/Matching/FastPathTokenizerBenchmarkBase.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerEmptyBenchmark.cs → src/Http/Routing/perf/Matching/FastPathTokenizerEmptyBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerLargeBenchmark.cs → src/Http/Routing/perf/Matching/FastPathTokenizerLargeBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerPlaintextBenchmark.cs → src/Http/Routing/perf/Matching/FastPathTokenizerPlaintextBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerSmallBenchmark.cs → src/Http/Routing/perf/Matching/FastPathTokenizerSmallBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs → src/Http/Routing/perf/Matching/JumpTableMultipleEntryBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs → src/Http/Routing/perf/Matching/JumpTableSingleEntryBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableZeroEntryBenchmark.cs → src/Http/Routing/perf/Matching/JumpTableZeroEntryBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs → src/Http/Routing/perf/Matching/MatcherAzureBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs → src/Http/Routing/perf/Matching/MatcherAzureBenchmarkBase.generated.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs → src/Http/Routing/perf/Matching/MatcherBuilderAzureBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs → src/Http/Routing/perf/Matching/MatcherBuilderGithubBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs → src/Http/Routing/perf/Matching/MatcherBuilderMultipleEntryBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs → src/Http/Routing/perf/Matching/MatcherGithubBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs → src/Http/Routing/perf/Matching/MatcherGithubBenchmarkBase.generated.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs → src/Http/Routing/perf/Matching/MatcherSingleEntryBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs → src/Http/Routing/perf/Matching/RouteEndpointAzureBenchmark.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs → src/Http/Routing/perf/Matching/TrivialMatcher.cs


+ 0 - 0
src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs → src/Http/Routing/perf/Matching/TrivialMatcherBuilder.cs


+ 47 - 0
src/Http/Routing/perf/Microsoft.AspNetCore.Routing.Performance.csproj

@@ -0,0 +1,47 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>netcoreapp2.2</TargetFramework>
+    <OutputType>Exe</OutputType>
+    <ServerGarbageCollection>true</ServerGarbageCollection>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <IsPackable>false</IsPackable>
+    <RootNamespace>Microsoft.AspNetCore.Routing</RootNamespace>
+  </PropertyGroup>
+
+  <!--
+    Some sources are shared with the unit test so we can benchmark some 'test only' implementations
+    for perf comparisons.
+  -->
+  <ItemGroup>
+    <Compile Include="..\test\UnitTests\Matching\BarebonesMatcher.cs">
+      <Link>Matching\BarebonesMatcher.cs</Link>
+    </Compile>
+    <Compile Include="..\test\UnitTests\Matching\BarebonesMatcherBuilder.cs">
+      <Link>Matching\BarebonesMatcherBuilder.cs</Link>
+    </Compile>
+    <Compile Include="..\test\UnitTests\Matching\RouteMatcher.cs">
+      <Link>Matching\RouteMatcher.cs</Link>
+    </Compile>
+    <Compile Include="..\test\UnitTests\Matching\RouteMatcherBuilder.cs">
+      <Link>Matching\RouteMatcherBuilder.cs</Link>
+    </Compile>
+    <Compile Include="..\test\UnitTests\Matching\TreeRouterMatcher.cs">
+      <Link>Matching\TreeRouterMatcher.cs</Link>
+    </Compile>
+    <Compile Include="..\test\UnitTests\Matching\TreeRouterMatcherBuilder.cs">
+      <Link>Matching\TreeRouterMatcherBuilder.cs</Link>
+    </Compile>
+    <Compile Include="..\test\UnitTests\TestObjects\TestServiceProvider.cs" Link="Matching\TestServiceProvider.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Reference Include="BenchmarkDotNet" />
+    <Reference Include="Microsoft.AspNetCore.BenchmarkRunner.Sources" PrivateAssets="All" />
+    <Reference Include="Microsoft.AspNetCore.Http" />
+    <Reference Include="Microsoft.AspNetCore.Routing" />
+    <Reference Include="Microsoft.Extensions.DependencyInjection" />
+    <Reference Include="Microsoft.Extensions.Logging" />
+  </ItemGroup>
+
+</Project>

Некоторые файлы не были показаны из-за большого количества измененных файлов