From d18558c3abd10327793eaeeab761ca4e3c577e90 Mon Sep 17 00:00:00 2001 From: Ryan Brandenburg <rybrande@microsoft.com> Date: Wed, 21 Nov 2018 16:10:55 -0800 Subject: [PATCH] Reorganize source code in preparation to move into aspnet/AspNetCore Prior to reorganization, this source code was found in https://github.com/aspnet/Routing/tree/3d828221a19d91907c52c2f40928b019bee1ef92 --- .appveyor.yml | 17 -- .gitattributes | 52 ---- .travis.yml | 27 -- .vsts-pipelines/builds/ci-internal.yml | 13 - .vsts-pipelines/builds/ci-public.yml | 15 - CONTRIBUTING.md | 4 - LICENSE.txt | 201 -------------- NuGet.config | 7 - build.cmd | 2 - build.sh | 8 - korebuild-lock.txt | 2 - korebuild.json | 4 - run.cmd | 2 - run.ps1 | 209 -------------- run.sh | 256 ------------------ .gitignore => src/Routing/.gitignore | 0 .../Routing/Directory.Build.props | 0 .../Routing/Directory.Build.targets | 0 .../Routing/NuGetPackageVerifier.json | 0 README.md => src/Routing/README.md | 0 Routing.sln => src/Routing/Routing.sln | 0 .../Routing/Settings.StyleCop | 0 .../Routing/THIRD-PARTY-NOTICES | 0 .../Benchmarks/Benchmarks.csproj | 0 .../benchmarkapps}/Benchmarks/Program.cs | 0 .../Benchmarks/StartupUsingEndpointRouting.cs | 0 .../Benchmarks/StartupUsingRouter.cs | 0 .../benchmarkapps}/Benchmarks/benchmarks.json | 0 .../EndpointMetadataCollectionBenchmark.cs | 0 .../EndpointRoutingBenchmarkBase.cs | 0 .../LinkGenerationGithubBenchmark.cs | 0 ...LinkGenerationGithubBenchmark.generated.cs | 0 ...eRouteRouteValuesAddressSchemeBenchmark.cs | 0 .../SingleRouteWithConstraintsBenchmark.cs | 0 .../SingleRouteWithNoParametersBenchmark.cs | 0 .../SingleRouteWithParametersBenchmark.cs | 0 .../FastPathTokenizerBenchmarkBase.cs | 0 .../FastPathTokenizerEmptyBenchmark.cs | 0 .../FastPathTokenizerLargeBenchmark.cs | 0 .../FastPathTokenizerPlaintextBenchmark.cs | 0 .../FastPathTokenizerSmallBenchmark.cs | 0 .../JumpTableMultipleEntryBenchmark.cs | 0 .../Matching/JumpTableSingleEntryBenchmark.cs | 0 .../Matching/JumpTableZeroEntryBenchmark.cs | 0 .../Matching/MatcherAzureBenchmark.cs | 0 .../MatcherAzureBenchmarkBase.generated.cs | 0 .../Matching/MatcherBuilderAzureBenchmark.cs | 0 .../Matching/MatcherBuilderGithubBenchmark.cs | 0 .../MatcherBuilderMultipleEntryBenchmark.cs | 0 .../Matching/MatcherGithubBenchmark.cs | 0 .../MatcherGithubBenchmarkBase.generated.cs | 0 .../Matching/MatcherSingleEntryBenchmark.cs | 0 .../Matching/RouteEndpointAzureBenchmark.cs | 0 .../Matching/TrivialMatcher.cs | 0 .../Matching/TrivialMatcherBuilder.cs | 0 ...soft.AspNetCore.Routing.Performance.csproj | 0 .../Properties/AssemblyInfo.cs | 0 .../RouteValueDictionaryBenchmark.cs | 0 .../readme.md | 0 {build => src/Routing/build}/Key.snk | Bin .../Routing/build}/dependencies.props | 0 {build => src/Routing/build}/repo.props | 0 {build => src/Routing/build}/sources.props | 0 .../samples}/RoutingSandbox/Program.cs | 0 .../RoutingSandbox/RoutingSandbox.csproj | 0 .../UseEndpointRoutingStartup.cs | 0 .../RoutingSandbox/UseRouterStartup.cs | 0 .../RoutingSandbox/wwwroot/full.render.js | 0 .../RoutingSandbox/wwwroot/graph-ui.html | 0 .../samples}/RoutingSandbox/wwwroot/viz.js | 0 .../DecisionCriterion.cs | 0 .../DecisionCriterionValue.cs | 0 .../DecisionCriterionValueEqualityComparer.cs | 0 .../DecisionTreeBuilder.cs | 0 .../DecisionTreeNode.cs | 0 .../IClassifier.cs | 0 .../ItemDescriptor.cs | 0 src/{ => Routing/src}/Directory.Build.props | 0 .../Endpoint.cs | 0 .../EndpointMetadataCollection.cs | 0 .../IEndpointFeature.cs | 0 .../IOutboundParameterTransformer.cs | 0 .../IParameterPolicy.cs | 0 .../IRouteConstraint.cs | 0 .../IRouteHandler.cs | 0 .../IRouteValuesFeature.cs | 0 .../IRouter.cs | 0 .../IRoutingFeature.cs | 0 .../LinkGenerator.cs | 0 .../LinkOptions.cs | 0 ...oft.AspNetCore.Routing.Abstractions.csproj | 0 .../Properties/AssemblyInfo.cs | 0 .../Properties/Resources.Designer.cs | 0 .../Resources.resx | 0 .../RouteContext.cs | 0 .../RouteData.cs | 0 .../RouteDirection.cs | 0 .../RouteValueDictionary.cs | 0 .../RoutingHttpContextExtensions.cs | 0 .../VirtualPathContext.cs | 0 .../VirtualPathData.cs | 0 .../baseline.netcore.json | 0 .../Builder/RoutingBuilderExtensions.cs | 0 .../CompositeEndpointDataSource.cs | 0 .../Constraints/AlphaRouteConstraint.cs | 0 .../Constraints/BoolRouteConstraint.cs | 0 .../Constraints/CompositeRouteConstraint.cs | 0 .../Constraints/DateTimeRouteConstraint.cs | 0 .../Constraints/DecimalRouteConstraint.cs | 0 .../Constraints/DoubleRouteConstraint.cs | 0 .../Constraints/FloatRouteConstraint.cs | 0 .../Constraints/GuidRouteConstraint.cs | 0 .../Constraints/HttpMethodRouteConstraint.cs | 0 .../Constraints/IntRouteConstraint.cs | 0 .../Constraints/LengthRouteConstraint.cs | 0 .../Constraints/LongRouteConstraint.cs | 0 .../Constraints/MaxLengthRouteConstraint.cs | 0 .../Constraints/MaxRouteConstraint.cs | 0 .../Constraints/MinLengthRouteConstraint.cs | 0 .../Constraints/MinRouteConstraint.cs | 0 .../Constraints/NullRouteConstraint.cs | 0 .../Constraints/OptionalRouteConstraint.cs | 0 .../Constraints/RangeRouteConstraint.cs | 0 .../Constraints/RegexInlineRouteConstraint.cs | 0 .../Constraints/RegexRouteConstraint.cs | 0 .../Constraints/RequiredRouteConstraint.cs | 0 .../Constraints/StringRouteConstraint.cs | 0 .../DataSourceDependentCache.cs | 0 .../DataTokensMetadata.cs | 0 .../DefaultEndpointDataSource.cs | 0 .../DefaultInlineConstraintResolver.cs | 0 .../DefaultLinkGenerator.cs | 0 .../DefaultParameterPolicyFactory.cs | 0 .../ConfigureEndpointOptions.cs | 0 .../RoutingServiceCollectionExtensions.cs | 0 .../EndpointDataSource.cs | 0 .../EndpointMiddleware.cs | 0 .../EndpointNameAddressScheme.cs | 0 .../EndpointNameMetadata.cs | 0 .../EndpointOptions.cs | 0 .../EndpointRoutingMiddleware.cs | 0 .../EndpointSelectorContext.cs | 0 .../HttpMethodMetadata.cs | 0 .../IDataTokenMetadata.cs | 0 .../IEndpointAddressScheme.cs | 0 .../IEndpointNameMetadata.cs | 0 .../IHttpMethodMetadata.cs | 0 .../IInlineConstraintResolver.cs | 0 .../INamedRouter.cs | 0 .../IRouteBuilder.cs | 0 .../IRouteCollection.cs | 0 .../IRouteValuesAddressMetadata.cs | 0 .../ISuppressLinkGenerationMetadata.cs | 0 .../ISuppressMatchingMetadata.cs | 0 .../InlineRouteParameterParser.cs | 0 .../Internal/BufferValue.cs | 0 .../Internal/DfaGraphWriter.cs | 0 ...ointRoutingApplicationBuilderExtensions.cs | 0 .../Internal/LinkGenerationDecisionTree.cs | 0 .../Internal/NullRouter.cs | 0 .../Internal/OutboundMatchResult.cs | 0 .../Internal/ParameterPolicyActivator.cs | 0 .../Internal/PathTokenizer.cs | 0 .../Internal/RoutingMarkerService.cs | 0 .../Internal/SegmentState.cs | 0 .../UriBuilderContextPooledObjectPolicy.cs | 0 .../Internal/UriBuildingContext.cs | 0 ...kGeneratorEndpointNameAddressExtensions.cs | 0 ...nkGeneratorRouteValuesAddressExtensions.cs | 0 .../RouteConstraintMatcherExtensions.cs | 0 .../RouterMiddlewareLoggerExtensions.cs | 0 .../Logging/TreeRouterLoggerExtensions.cs | 0 .../MapRouteRouteBuilderExtensions.cs | 0 .../Matching/AmbiguousMatchException.cs | 0 .../Matching/Ascii.cs | 0 .../Matching/Candidate.cs | 0 .../Matching/CandidateSet.cs | 0 .../Matching/CandidateState.cs | 0 .../Matching/DataSourceDependentMatcher.cs | 0 .../Matching/DefaultEndpointSelector.cs | 0 .../Matching/DfaMatcher.cs | 0 .../Matching/DfaMatcherBuilder.cs | 0 .../Matching/DfaMatcherFactory.cs | 0 .../Matching/DfaNode.cs | 0 .../Matching/DfaState.cs | 0 .../Matching/DictionaryJumpTable.cs | 0 .../Matching/EndpointComparer.cs | 0 .../Matching/EndpointMetadataComparer.cs | 0 .../Matching/EndpointSelector.cs | 0 .../Matching/FastPathTokenizer.cs | 0 .../Matching/HttpMethodMatcherPolicy.cs | 0 .../Matching/IEndpointComparerPolicy.cs | 0 .../Matching/IEndpointSelectorPolicy.cs | 0 .../Matching/ILEmitTrieFactory.cs | 0 .../Matching/ILEmitTrieJumpTable.cs | 0 .../Matching/INodeBuilderPolicy.cs | 0 .../Matching/JumpTable.cs | 0 .../Matching/JumpTableBuilder.cs | 0 .../Matching/LinearSearchJumpTable.cs | 0 .../Matching/Matcher.cs | 0 .../Matching/MatcherBuilder.cs | 0 .../Matching/MatcherFactory.cs | 0 .../Matching/MatcherPolicy.cs | 0 .../Matching/PathSegment.cs | 0 .../Matching/PolicyJumpTable.cs | 0 .../Matching/PolicyJumpTableEdge.cs | 0 .../Matching/PolicyNodeEdge.cs | 0 .../Matching/SingleEntryAsciiJumpTable.cs | 0 .../Matching/SingleEntryJumpTable.cs | 0 .../Matching/ZeroEntryJumpTable.cs | 0 .../Microsoft.AspNetCore.Routing.csproj | 0 .../ParameterPolicyFactory.cs | 0 .../Patterns/RouteParameterParser.cs | 0 .../Patterns/RoutePattern.cs | 0 .../Patterns/RoutePatternException.cs | 0 .../Patterns/RoutePatternFactory.cs | 0 .../Patterns/RoutePatternLiteralPart.cs | 0 .../Patterns/RoutePatternMatcher.cs | 0 .../Patterns/RoutePatternParameterKind.cs | 0 .../Patterns/RoutePatternParameterPart.cs | 0 .../RoutePatternParameterPolicyReference.cs | 0 .../Patterns/RoutePatternParser.cs | 0 .../Patterns/RoutePatternPart.cs | 0 .../Patterns/RoutePatternPartKind.cs | 0 .../Patterns/RoutePatternPathSegment.cs | 0 .../Patterns/RoutePatternSeparatorPart.cs | 0 .../Properties/AssemblyInfo.cs | 0 .../Properties/Resources.Designer.cs | 0 .../RequestDelegateRouteBuilderExtensions.cs | 0 .../Resources.resx | 0 .../Microsoft.AspNetCore.Routing/Route.cs | 0 .../Microsoft.AspNetCore.Routing/RouteBase.cs | 0 .../RouteBuilder.cs | 0 .../RouteCollection.cs | 0 .../RouteConstraintBuilder.cs | 0 .../RouteConstraintMatcher.cs | 0 .../RouteCreationException.cs | 0 .../RouteEndpoint.cs | 0 .../RouteHandler.cs | 0 .../RouteOptions.cs | 0 .../RouteValueEqualityComparer.cs | 0 .../RouteValuesAddress.cs | 0 .../RouteValuesAddressMetadata.cs | 0 .../RouteValuesAddressScheme.cs | 0 .../RouterMiddleware.cs | 0 .../RoutingFeature.cs | 0 .../SuppressLinkGenerationMetadata.cs | 0 .../SuppressMatchingMetadata.cs | 0 .../Template/InlineConstraint.cs | 0 .../Template/RoutePrecedence.cs | 0 .../Template/RouteTemplate.cs | 0 .../Template/TemplateBinder.cs | 0 .../Template/TemplateMatcher.cs | 0 .../Template/TemplateParser.cs | 0 .../Template/TemplatePart.cs | 0 .../Template/TemplateSegment.cs | 0 .../Template/TemplateValuesResult.cs | 0 .../Tree/InboundMatch.cs | 0 .../Tree/InboundRouteEntry.cs | 0 .../Tree/OutboundMatch.cs | 0 .../Tree/OutboundRouteEntry.cs | 0 .../Tree/TreeEnumerator.cs | 0 .../Tree/TreeRouteBuilder.cs | 0 .../Tree/TreeRouter.cs | 0 .../Tree/UrlMatchingNode.cs | 0 .../Tree/UrlMatchingTree.cs | 0 .../baseline.netcore.json | 0 .../Routing/test}/Directory.Build.props | 0 .../EndpointMetadataCollectionTests.cs | 0 ...Core.Mvc.Routing.Abstractions.Tests.csproj | 0 .../RouteDataTest.cs | 0 .../RouteValueDictionaryTests.cs | 0 .../VirtualPathDataTests.cs | 0 .../DecisionTreeBuilderTest.cs | 0 ....Routing.DecisionTree.Sources.Tests.csproj | 0 .../EndpointRoutingBenchmarkTest.cs | 0 .../Benchmarks/RouterBenchmarkTest.cs | 0 .../EndpointRoutingSampleTest.cs | 0 ....AspNetCore.Routing.FunctionalTests.csproj | 0 .../RouterSampleTest.cs | 0 .../RoutingTestFixture.cs | 0 .../WebHostBuilderExtensionsTest.cs | 0 .../EndpointRoutingBuilderExtensionsTest.cs | 0 .../Builder/RoutingBuilderExtensionsTest.cs | 0 .../CompositeEndpointDataSourceTest.cs | 0 .../ConstraintMatcherTest.cs | 0 .../Constraints/AlphaRouteConstraintTests.cs | 0 .../Constraints/BoolRouteConstraintTests.cs | 0 .../CompositeRouteConstraintTests.cs | 0 .../Constraints/ConstraintsTestHelper.cs | 0 .../DateTimeRouteConstraintTests.cs | 0 .../DecimalRouteConstraintTests.cs | 0 .../Constraints/DoubleRouteConstraintTests.cs | 0 .../Constraints/FloatRouteConstraintTests.cs | 0 .../Constraints/GuidRouteConstraintTests.cs | 0 .../HttpMethodRouteConstraintTests.cs | 0 .../Constraints/IntRouteConstraintsTests.cs | 0 .../Constraints/LengthRouteConstraintTests.cs | 0 .../Constraints/LongRouteConstraintTests.cs | 0 .../MaxLengthRouteConstraintTests.cs | 0 .../Constraints/MaxRouteConstraintTests.cs | 0 .../MinLengthRouteConstraintTests.cs | 0 .../Constraints/MinRouteConstraintTests.cs | 0 .../Constraints/RangeRouteConstraintTests.cs | 0 .../RegexInlineRouteConstraintTests.cs | 0 .../Constraints/RegexRouteConstraintTests.cs | 0 .../RequiredRouteConstraintTests.cs | 0 .../Constraints/StringRouteConstraintTest.cs | 0 .../DataSourceDependentCacheTest.cs | 0 .../DefaultEndpointDataSourceTests.cs | 0 .../DefaultInlineConstraintResolverTest.cs | 0 ...DefaultLinkGeneratorProcessTemplateTest.cs | 0 .../DefaultLinkGeneratorTest.cs | 0 .../DefaultParameterPolicyFactoryTest.cs | 0 .../EndpointFactory.cs | 0 .../EndpointMiddlewareTest.cs | 0 .../EndpointNameAddressSchemeTest.cs | 0 .../EndpointRoutingMiddlewareTest.cs | 0 .../EndpointSelectorContextTest.cs | 0 .../InlineRouteParameterParserTests.cs | 0 .../Internal/DfaGraphWriterTest.cs | 0 .../LinkGenerationDecisionTreeTest.cs | 0 .../Internal/PathTokenizerTest.cs | 0 .../Internal/UriBuildingContextTest.cs | 0 ...LinkGeneratorEndpointNameExtensionsTest.cs | 0 ...neratorRouteValuesAddressExtensionsTest.cs | 0 .../LinkGeneratorTestBase.cs | 0 .../Logging/WriteContext.cs | 0 .../Matching/AsciiTest.cs | 0 .../Matching/BarebonesMatcher.cs | 0 .../Matching/BarebonesMatcherBuilder.cs | 0 .../BarebonesMatcherConformanceTest.cs | 0 .../Matching/CandidateSetTest.cs | 0 .../DataSourceDependentMatcherTest.cs | 0 .../Matching/DefaultEndpointSelectorTest.cs | 0 .../Matching/DfaMatcherBuilderTest.cs | 0 .../Matching/DfaMatcherConformanceTest.cs | 0 .../Matching/DfaMatcherTest.cs | 0 .../Matching/DictionaryJumpTableTest.cs | 0 .../Matching/EndpointMetadataComparerTest.cs | 0 .../Matching/FastPathTokenizerTest.cs | 0 .../FullFeaturedMatcherConformanceTest.cs | 0 .../HttpMethodMatcherPolicyIntegrationTest.cs | 0 .../Matching/HttpMethodMatcherPolicyTest.cs | 0 .../Matching/ILEmitTrieFactoryTest.cs | 0 .../Matching/ILEmitTrieJumpTableTest.cs | 0 .../Matching/LinearSearchJumpTableTest.cs | 0 .../Matching/MatcherAssert.cs | 0 ...MatcherConformanceTest.MultipleEndpoint.cs | 0 .../MatcherConformanceTest.SingleEndpoint.cs | 0 .../Matching/MatcherConformanceTest.cs | 0 .../Matching/MultipleEntryJumpTableTest.cs | 0 .../NonVectorizedILEmitTrieJumpTableTest.cs | 0 .../Matching/RouteEndpointComparerTest.cs | 0 .../Matching/RouteMatcher.cs | 0 .../Matching/RouteMatcherBuilder.cs | 0 .../Matching/RouteMatcherConformanceTest.cs | 0 .../Matching/SingleEntryAsciiJumpTableTest.cs | 0 .../Matching/SingleEntryJumpTableTest.cs | 0 .../Matching/SingleEntryJumpTableTestBase.cs | 0 .../Matching/TreeRouterMatcher.cs | 0 .../Matching/TreeRouterMatcherBuilder.cs | 0 .../TreeRouterMatcherConformanceTest.cs | 0 .../VectorizedILEmitTrieJumpTableTest.cs | 0 .../Matching/ZeroEntryJumpTableTest.cs | 0 .../Microsoft.AspNetCore.Routing.Tests.csproj | 0 .../InlineRouteParameterParserTest.cs | 0 .../Patterns/RoutePatternFactoryTest.cs | 0 .../Patterns/RoutePatternMatcherTest.cs | 0 .../Patterns/RoutePatternParserTest.cs | 0 ...questDelegateRouteBuilderExtensionsTest.cs | 0 .../RouteBuilderTest.cs | 0 .../RouteCollectionTest.cs | 0 .../RouteConstraintBuilderTest.cs | 0 .../RouteOptionsTests.cs | 0 .../RouteTest.cs | 0 .../RouteValueEqualityComparerTest.cs | 0 .../RouteValuesAddressMetadataTests.cs | 0 .../RouteValuesAddressSchemeTest.cs | 0 .../RouterMiddlewareTest.cs | 0 .../Template/RoutePrecedenceTests.cs | 0 .../Template/TemplateBinderTests.cs | 0 .../Template/TemplateMatcherTests.cs | 0 .../Template/TemplateParserTests.cs | 0 .../Template/TemplateSegmentTest.cs | 0 .../TemplateParserDefaultValuesTests.cs | 0 .../TestConstants.cs | 0 .../TestObjects/CapturingConstraint.cs | 0 .../TestObjects/DynamicEndpointDataSource.cs | 0 .../SlugifyParameterTransformer.cs | 0 .../TestObjects/TestMatcher.cs | 0 .../TestObjects/TestMatcherFactory.cs | 0 .../TestObjects/TestServiceProvider.cs | 0 .../Tree/TreeRouteBuilderTest.cs | 0 .../Tree/TreeRouterTest.cs | 0 .../test}/WebSites/Directory.Build.props | 0 .../EndsWithStringRouteConstraint.cs | 0 .../test}/WebSites/RoutingWebSite/Program.cs | 0 .../RoutingWebSite/RoutingWebSite.csproj | 0 .../UseEndpointRoutingStartup.cs | 0 .../RoutingWebSite/UseRouterStartup.cs | 0 .../Routing/tools}/Swaggatherer/Program.cs | 0 .../Routing/tools}/Swaggatherer/README.md | 0 .../Routing/tools}/Swaggatherer/RouteEntry.cs | 0 .../tools}/Swaggatherer/Swaggatherer.csproj | 0 .../Swaggatherer/SwaggathererApplication.cs | 0 .../Routing/tools}/Swaggatherer/Template.cs | 0 version.props => src/Routing/version.props | 0 408 files changed, 819 deletions(-) delete mode 100644 .appveyor.yml delete mode 100644 .gitattributes delete mode 100644 .travis.yml delete mode 100644 .vsts-pipelines/builds/ci-internal.yml delete mode 100644 .vsts-pipelines/builds/ci-public.yml delete mode 100644 CONTRIBUTING.md delete mode 100644 LICENSE.txt delete mode 100644 NuGet.config delete mode 100644 build.cmd delete mode 100755 build.sh delete mode 100644 korebuild-lock.txt delete mode 100644 korebuild.json delete mode 100644 run.cmd delete mode 100644 run.ps1 delete mode 100755 run.sh rename .gitignore => src/Routing/.gitignore (100%) rename Directory.Build.props => src/Routing/Directory.Build.props (100%) rename Directory.Build.targets => src/Routing/Directory.Build.targets (100%) rename NuGetPackageVerifier.json => src/Routing/NuGetPackageVerifier.json (100%) rename README.md => src/Routing/README.md (100%) rename Routing.sln => src/Routing/Routing.sln (100%) rename Settings.StyleCop => src/Routing/Settings.StyleCop (100%) rename THIRD-PARTY-NOTICES => src/Routing/THIRD-PARTY-NOTICES (100%) rename {benchmarkapps => src/Routing/benchmarkapps}/Benchmarks/Benchmarks.csproj (100%) rename {benchmarkapps => src/Routing/benchmarkapps}/Benchmarks/Program.cs (100%) rename {benchmarkapps => src/Routing/benchmarkapps}/Benchmarks/StartupUsingEndpointRouting.cs (100%) rename {benchmarkapps => src/Routing/benchmarkapps}/Benchmarks/StartupUsingRouter.cs (100%) rename {benchmarkapps => src/Routing/benchmarkapps}/Benchmarks/benchmarks.json (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerBenchmarkBase.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerEmptyBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerLargeBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerPlaintextBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerSmallBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableZeroEntryBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Properties/AssemblyInfo.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/readme.md (100%) rename {build => src/Routing/build}/Key.snk (100%) rename {build => src/Routing/build}/dependencies.props (100%) rename {build => src/Routing/build}/repo.props (100%) rename {build => src/Routing/build}/sources.props (100%) rename {samples => src/Routing/samples}/RoutingSandbox/Program.cs (100%) rename {samples => src/Routing/samples}/RoutingSandbox/RoutingSandbox.csproj (100%) rename {samples => src/Routing/samples}/RoutingSandbox/UseEndpointRoutingStartup.cs (100%) rename {samples => src/Routing/samples}/RoutingSandbox/UseRouterStartup.cs (100%) rename {samples => src/Routing/samples}/RoutingSandbox/wwwroot/full.render.js (100%) rename {samples => src/Routing/samples}/RoutingSandbox/wwwroot/graph-ui.html (100%) rename {samples => src/Routing/samples}/RoutingSandbox/wwwroot/viz.js (100%) rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterion.cs (100%) rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValue.cs (100%) rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValueEqualityComparer.cs (100%) rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs (100%) rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeNode.cs (100%) rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/IClassifier.cs (100%) rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/ItemDescriptor.cs (100%) rename src/{ => Routing/src}/Directory.Build.props (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IOutboundParameterTransformer.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IRouteHandler.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IRouter.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IRoutingFeature.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/LinkOptions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/Microsoft.AspNetCore.Routing.Abstractions.csproj (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/Properties/Resources.Designer.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/Resources.resx (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/RouteDirection.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/RoutingHttpContextExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathData.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Builder/RoutingBuilderExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/AlphaRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/CompositeRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/NullRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/RegexInlineRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureEndpointOptions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointDataSource.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointNameAddressScheme.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointOptions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointSelectorContext.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IEndpointAddressScheme.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IEndpointNameMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IInlineConstraintResolver.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/INamedRouter.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IRouteBuilder.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IRouteCollection.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/InlineRouteParameterParser.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/BufferValue.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/OutboundMatchResult.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/PathTokenizer.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/RoutingMarkerService.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/SegmentState.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/UriBuilderContextPooledObjectPolicy.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Logging/RouteConstraintMatcherExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Logging/RouterMiddlewareLoggerExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Logging/TreeRouterLoggerExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/MapRouteRouteBuilderExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/AmbiguousMatchException.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/Ascii.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/Candidate.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DfaMatcherFactory.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DfaState.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DictionaryJumpTable.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/EndpointComparer.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/JumpTable.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/LinearSearchJumpTable.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/Matcher.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/MatcherFactory.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/PathSegment.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTable.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableEdge.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/SingleEntryAsciiJumpTable.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/SingleEntryJumpTable.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/ZeroEntryJumpTable.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/ParameterPolicyFactory.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPolicyReference.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RequestDelegateRouteBuilderExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Resources.resx (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Route.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteBase.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteBuilder.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteCollection.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteCreationException.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteEndpoint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteHandler.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteOptions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteValueEqualityComparer.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouterMiddleware.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RoutingFeature.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/RouteTemplate.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/TemplateParser.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/TemplateValuesResult.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/InboundMatch.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/OutboundMatch.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/OutboundRouteEntry.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/UrlMatchingNode.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/baseline.netcore.json (100%) rename {test => src/Routing/test}/Directory.Build.props (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteDataTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/VirtualPathDataTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/DecisionTreeBuilderTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests.csproj (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/EndpointRoutingBenchmarkTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RouterBenchmarkTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingTestFixture.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/WebHostBuilderExtensionsTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Builder/RoutingBuilderExtensionsTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/ConstraintMatcherTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/AlphaRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/BoolRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/CompositeRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/ConstraintsTestHelper.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/DateTimeRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/DecimalRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/DoubleRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/FloatRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/GuidRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/HttpMethodRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/IntRouteConstraintsTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/LengthRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/LongRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxLengthRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/MinLengthRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/MinRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/RangeRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexInlineRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/RequiredRouteConstraintTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/StringRouteConstraintTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/DataSourceDependentCacheTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/DefaultInlineConstraintResolverTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/DefaultParameterPolicyFactoryTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/EndpointNameAddressSchemeTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/EndpointSelectorContextTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Internal/DfaGraphWriterTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Internal/PathTokenizerTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Logging/WriteContext.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/AsciiTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/DictionaryJumpTableTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/FastPathTokenizerTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieFactoryTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieJumpTableTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/LinearSearchJumpTableTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.MultipleEndpoint.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/MultipleEntryJumpTableTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/NonVectorizedILEmitTrieJumpTableTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryAsciiJumpTableTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTestBase.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/VectorizedILEmitTrieJumpTableTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/ZeroEntryJumpTableTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternMatcherTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RequestDelegateRouteBuilderExtensionsTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteBuilderTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteConstraintBuilderTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteOptionsTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteValueEqualityComparerTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Template/RoutePrecedenceTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Template/TemplateMatcherTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Template/TemplateSegmentTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestConstants.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestObjects/CapturingConstraint.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestServiceProvider.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouteBuilderTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs (100%) rename {test => src/Routing/test}/WebSites/Directory.Build.props (100%) rename {test => src/Routing/test}/WebSites/RoutingWebSite/EndsWithStringRouteConstraint.cs (100%) rename {test => src/Routing/test}/WebSites/RoutingWebSite/Program.cs (100%) rename {test => src/Routing/test}/WebSites/RoutingWebSite/RoutingWebSite.csproj (100%) rename {test => src/Routing/test}/WebSites/RoutingWebSite/UseEndpointRoutingStartup.cs (100%) rename {test => src/Routing/test}/WebSites/RoutingWebSite/UseRouterStartup.cs (100%) rename {tools => src/Routing/tools}/Swaggatherer/Program.cs (100%) rename {tools => src/Routing/tools}/Swaggatherer/README.md (100%) rename {tools => src/Routing/tools}/Swaggatherer/RouteEntry.cs (100%) rename {tools => src/Routing/tools}/Swaggatherer/Swaggatherer.csproj (100%) rename {tools => src/Routing/tools}/Swaggatherer/SwaggathererApplication.cs (100%) rename {tools => src/Routing/tools}/Swaggatherer/Template.cs (100%) rename version.props => src/Routing/version.props (100%) diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index 2262756c196..00000000000 --- a/.appveyor.yml +++ /dev/null @@ -1,17 +0,0 @@ -init: -- git config --global core.autocrlf true -branches: - only: - - master - - /^release\/.*$/ - - /^(.*\/)?ci-.*$/ -build_script: -- ps: .\run.ps1 default-build -clone_depth: 1 -environment: - global: - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true - DOTNET_CLI_TELEMETRY_OPTOUT: 1 -test: 'off' -deploy: 'off' -image: Visual Studio 2017 diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index d4ee1cb7f39..00000000000 --- a/.gitattributes +++ /dev/null @@ -1,52 +0,0 @@ -*.doc diff=astextplain -*.DOC diff=astextplain -*.docx diff=astextplain -*.DOCX diff=astextplain -*.dot diff=astextplain -*.DOT diff=astextplain -*.pdf diff=astextplain -*.PDF diff=astextplain -*.rtf diff=astextplain -*.RTF diff=astextplain - -*.jpg binary -*.png binary -*.gif binary - -*.cs text=auto diff=csharp -*.vb text=auto -*.resx text=auto -*.c text=auto -*.cpp text=auto -*.cxx text=auto -*.h text=auto -*.hxx text=auto -*.py text=auto -*.rb text=auto -*.java text=auto -*.html text=auto -*.htm text=auto -*.css text=auto -*.scss text=auto -*.sass text=auto -*.less text=auto -*.js text=auto -*.lisp text=auto -*.clj text=auto -*.sql text=auto -*.php text=auto -*.lua text=auto -*.m text=auto -*.asm text=auto -*.erl text=auto -*.fs text=auto -*.fsx text=auto -*.hs text=auto - -*.csproj text=auto -*.vbproj text=auto -*.fsproj text=auto -*.dbproj text=auto -*.sln text=auto eol=crlf - -*.sh eol=lf diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ab3980055c0..00000000000 --- a/.travis.yml +++ /dev/null @@ -1,27 +0,0 @@ -language: csharp -sudo: false -dist: trusty -env: - global: - - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true - - DOTNET_CLI_TELEMETRY_OPTOUT: 1 -mono: none -os: -- linux -- osx -osx_image: xcode8.2 -addons: - apt: - packages: - - libunwind8 -branches: - only: - - master - - /^release\/.*$/ - - /^(.*\/)?ci-.*$/ -before_install: -- if test "$TRAVIS_OS_NAME" == "osx"; then brew update; brew install openssl; ln -s - /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/; ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib - /usr/local/lib/; fi -script: -- ./build.sh diff --git a/.vsts-pipelines/builds/ci-internal.yml b/.vsts-pipelines/builds/ci-internal.yml deleted file mode 100644 index dc7b8a3cb92..00000000000 --- a/.vsts-pipelines/builds/ci-internal.yml +++ /dev/null @@ -1,13 +0,0 @@ -trigger: -- master -- release/* - -resources: - repositories: - - repository: buildtools - type: git - name: aspnet-BuildTools - ref: refs/heads/release/2.2 - -phases: -- template: .vsts-pipelines/templates/project-ci.yml@buildtools diff --git a/.vsts-pipelines/builds/ci-public.yml b/.vsts-pipelines/builds/ci-public.yml deleted file mode 100644 index f5087d9c309..00000000000 --- a/.vsts-pipelines/builds/ci-public.yml +++ /dev/null @@ -1,15 +0,0 @@ -trigger: -- master -- release/* - -# See https://github.com/aspnet/BuildTools -resources: - repositories: - - repository: buildtools - type: github - endpoint: DotNet-Bot GitHub Connection - name: aspnet/BuildTools - ref: refs/heads/release/2.2 - -phases: -- template: .vsts-pipelines/templates/project-ci.yml@buildtools diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index eac4268e4c9..00000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,4 +0,0 @@ -Contributing -====== - -Information on contributing to this repo is in the [Contributing Guide](https://github.com/aspnet/Home/blob/master/CONTRIBUTING.md) in the Home repo. diff --git a/LICENSE.txt b/LICENSE.txt deleted file mode 100644 index b3b180cd51e..00000000000 --- a/LICENSE.txt +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright (c) .NET Foundation and Contributors - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/NuGet.config b/NuGet.config deleted file mode 100644 index e32bddfd514..00000000000 --- a/NuGet.config +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<configuration> - <packageSources> - <clear /> - <!-- Restore sources should be defined in build/sources.props. --> - </packageSources> -</configuration> diff --git a/build.cmd b/build.cmd deleted file mode 100644 index c0050bda125..00000000000 --- a/build.cmd +++ /dev/null @@ -1,2 +0,0 @@ -@ECHO OFF -PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' default-build %*; exit $LASTEXITCODE" diff --git a/build.sh b/build.sh deleted file mode 100755 index 98a4b227658..00000000000 --- a/build.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -# Call "sync" between "chmod" and execution to prevent "text file busy" error in Docker (aufs) -chmod +x "$DIR/run.sh"; sync -"$DIR/run.sh" default-build "$@" diff --git a/korebuild-lock.txt b/korebuild-lock.txt deleted file mode 100644 index 86b4302b5de..00000000000 --- a/korebuild-lock.txt +++ /dev/null @@ -1,2 +0,0 @@ -version:2.2.0-preview2-20181011.10 -commithash:224e1163a1145b60f324e0b432419ef4ba4880cc diff --git a/korebuild.json b/korebuild.json deleted file mode 100644 index d217d06e3e4..00000000000 --- a/korebuild.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/release/2.2/tools/korebuild.schema.json", - "channel": "release/2.2" -} diff --git a/run.cmd b/run.cmd deleted file mode 100644 index d52d5c7e689..00000000000 --- a/run.cmd +++ /dev/null @@ -1,2 +0,0 @@ -@ECHO OFF -PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' %*; exit $LASTEXITCODE" diff --git a/run.ps1 b/run.ps1 deleted file mode 100644 index 34604c71758..00000000000 --- a/run.ps1 +++ /dev/null @@ -1,209 +0,0 @@ -#!/usr/bin/env powershell -#requires -version 4 - -<# -.SYNOPSIS -Executes KoreBuild commands. - -.DESCRIPTION -Downloads korebuild if required. Then executes the KoreBuild command. To see available commands, execute with `-Command help`. - -.PARAMETER Command -The KoreBuild command to run. - -.PARAMETER Path -The folder to build. Defaults to the folder containing this script. - -.PARAMETER Channel -The channel of KoreBuild to download. Overrides the value from the config file. - -.PARAMETER DotNetHome -The directory where .NET Core tools will be stored. - -.PARAMETER ToolsSource -The base url where build tools can be downloaded. Overrides the value from the config file. - -.PARAMETER Update -Updates KoreBuild to the latest version even if a lock file is present. - -.PARAMETER Reinstall -Re-installs KoreBuild - -.PARAMETER ConfigFile -The path to the configuration file that stores values. Defaults to korebuild.json. - -.PARAMETER ToolsSourceSuffix -The Suffix to append to the end of the ToolsSource. Useful for query strings in blob stores. - -.PARAMETER CI -Sets up CI specific settings and variables. - -.PARAMETER Arguments -Arguments to be passed to the command - -.NOTES -This function will create a file $PSScriptRoot/korebuild-lock.txt. This lock file can be committed to source, but does not have to be. -When the lockfile is not present, KoreBuild will create one using latest available version from $Channel. - -The $ConfigFile is expected to be an JSON file. It is optional, and the configuration values in it are optional as well. Any options set -in the file are overridden by command line parameters. - -.EXAMPLE -Example config file: -```json -{ - "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/master/tools/korebuild.schema.json", - "channel": "master", - "toolsSource": "https://aspnetcore.blob.core.windows.net/buildtools" -} -``` -#> -[CmdletBinding(PositionalBinding = $false)] -param( - [Parameter(Mandatory = $true, Position = 0)] - [string]$Command, - [string]$Path = $PSScriptRoot, - [Alias('c')] - [string]$Channel, - [Alias('d')] - [string]$DotNetHome, - [Alias('s')] - [string]$ToolsSource, - [Alias('u')] - [switch]$Update, - [switch]$Reinstall, - [string]$ToolsSourceSuffix, - [string]$ConfigFile = $null, - [switch]$CI, - [Parameter(ValueFromRemainingArguments = $true)] - [string[]]$Arguments -) - -Set-StrictMode -Version 2 -$ErrorActionPreference = 'Stop' - -# -# Functions -# - -function Get-KoreBuild { - - $lockFile = Join-Path $Path 'korebuild-lock.txt' - - if (!(Test-Path $lockFile) -or $Update) { - Get-RemoteFile "$ToolsSource/korebuild/channels/$Channel/latest.txt" $lockFile $ToolsSourceSuffix - } - - $version = Get-Content $lockFile | Where-Object { $_ -like 'version:*' } | Select-Object -first 1 - if (!$version) { - Write-Error "Failed to parse version from $lockFile. Expected a line that begins with 'version:'" - } - $version = $version.TrimStart('version:').Trim() - $korebuildPath = Join-Paths $DotNetHome ('buildtools', 'korebuild', $version) - - if ($Reinstall -and (Test-Path $korebuildPath)) { - Remove-Item -Force -Recurse $korebuildPath - } - - if (!(Test-Path $korebuildPath)) { - Write-Host -ForegroundColor Magenta "Downloading KoreBuild $version" - New-Item -ItemType Directory -Path $korebuildPath | Out-Null - $remotePath = "$ToolsSource/korebuild/artifacts/$version/korebuild.$version.zip" - - try { - $tmpfile = Join-Path ([IO.Path]::GetTempPath()) "KoreBuild-$([guid]::NewGuid()).zip" - Get-RemoteFile $remotePath $tmpfile $ToolsSourceSuffix - if (Get-Command -Name 'Microsoft.PowerShell.Archive\Expand-Archive' -ErrorAction Ignore) { - # Use built-in commands where possible as they are cross-plat compatible - Microsoft.PowerShell.Archive\Expand-Archive -Path $tmpfile -DestinationPath $korebuildPath - } - else { - # Fallback to old approach for old installations of PowerShell - Add-Type -AssemblyName System.IO.Compression.FileSystem - [System.IO.Compression.ZipFile]::ExtractToDirectory($tmpfile, $korebuildPath) - } - } - catch { - Remove-Item -Recurse -Force $korebuildPath -ErrorAction Ignore - throw - } - finally { - Remove-Item $tmpfile -ErrorAction Ignore - } - } - - return $korebuildPath -} - -function Join-Paths([string]$path, [string[]]$childPaths) { - $childPaths | ForEach-Object { $path = Join-Path $path $_ } - return $path -} - -function Get-RemoteFile([string]$RemotePath, [string]$LocalPath, [string]$RemoteSuffix) { - if ($RemotePath -notlike 'http*') { - Copy-Item $RemotePath $LocalPath - return - } - - $retries = 10 - while ($retries -gt 0) { - $retries -= 1 - try { - Invoke-WebRequest -UseBasicParsing -Uri $($RemotePath + $RemoteSuffix) -OutFile $LocalPath - return - } - catch { - Write-Verbose "Request failed. $retries retries remaining" - } - } - - Write-Error "Download failed: '$RemotePath'." -} - -# -# Main -# - -# Load configuration or set defaults - -$Path = Resolve-Path $Path -if (!$ConfigFile) { $ConfigFile = Join-Path $Path 'korebuild.json' } - -if (Test-Path $ConfigFile) { - try { - $config = Get-Content -Raw -Encoding UTF8 -Path $ConfigFile | ConvertFrom-Json - if ($config) { - if (!($Channel) -and (Get-Member -Name 'channel' -InputObject $config)) { [string] $Channel = $config.channel } - if (!($ToolsSource) -and (Get-Member -Name 'toolsSource' -InputObject $config)) { [string] $ToolsSource = $config.toolsSource} - } - } - catch { - Write-Host -ForegroundColor Red $Error[0] - Write-Error "$ConfigFile contains invalid JSON." - exit 1 - } -} - -if (!$DotNetHome) { - $DotNetHome = if ($env:DOTNET_HOME) { $env:DOTNET_HOME } ` - elseif ($env:USERPROFILE) { Join-Path $env:USERPROFILE '.dotnet'} ` - elseif ($env:HOME) {Join-Path $env:HOME '.dotnet'}` - else { Join-Path $PSScriptRoot '.dotnet'} -} - -if (!$Channel) { $Channel = 'master' } -if (!$ToolsSource) { $ToolsSource = 'https://aspnetcore.blob.core.windows.net/buildtools' } - -# Execute - -$korebuildPath = Get-KoreBuild -Import-Module -Force -Scope Local (Join-Path $korebuildPath 'KoreBuild.psd1') - -try { - Set-KoreBuildSettings -ToolsSource $ToolsSource -DotNetHome $DotNetHome -RepoPath $Path -ConfigFile $ConfigFile -CI:$CI - Invoke-KoreBuildCommand $Command @Arguments -} -finally { - Remove-Module 'KoreBuild' -ErrorAction Ignore -} diff --git a/run.sh b/run.sh deleted file mode 100755 index 4c1fed5646c..00000000000 --- a/run.sh +++ /dev/null @@ -1,256 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -# -# variables -# - -RESET="\033[0m" -RED="\033[0;31m" -YELLOW="\033[0;33m" -MAGENTA="\033[0;95m" -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -[ -z "${DOTNET_HOME:-}" ] && DOTNET_HOME="$HOME/.dotnet" -verbose=false -update=false -reinstall=false -repo_path="$DIR" -channel='' -tools_source='' -tools_source_suffix='' -ci=false - -# -# Functions -# -__usage() { - echo "Usage: $(basename "${BASH_SOURCE[0]}") command [options] [[--] <Arguments>...]" - echo "" - echo "Arguments:" - echo " command The command to be run." - echo " <Arguments>... Arguments passed to the command. Variable number of arguments allowed." - echo "" - echo "Options:" - echo " --verbose Show verbose output." - echo " -c|--channel <CHANNEL> The channel of KoreBuild to download. Overrides the value from the config file.." - echo " --config-file <FILE> The path to the configuration file that stores values. Defaults to korebuild.json." - echo " -d|--dotnet-home <DIR> The directory where .NET Core tools will be stored. Defaults to '\$DOTNET_HOME' or '\$HOME/.dotnet." - echo " --path <PATH> The directory to build. Defaults to the directory containing the script." - echo " -s|--tools-source|-ToolsSource <URL> The base url where build tools can be downloaded. Overrides the value from the config file." - echo " --tools-source-suffix|-ToolsSourceSuffix <SUFFIX> The suffix to append to tools-source. Useful for query strings." - echo " -u|--update Update to the latest KoreBuild even if the lock file is present." - echo " --reinstall Reinstall KoreBuild." - echo " --ci Apply CI specific settings and environment variables." - echo "" - echo "Description:" - echo " This function will create a file \$DIR/korebuild-lock.txt. This lock file can be committed to source, but does not have to be." - echo " When the lockfile is not present, KoreBuild will create one using latest available version from \$channel." - - if [[ "${1:-}" != '--no-exit' ]]; then - exit 2 - fi -} - -get_korebuild() { - local version - local lock_file="$repo_path/korebuild-lock.txt" - if [ ! -f "$lock_file" ] || [ "$update" = true ]; then - __get_remote_file "$tools_source/korebuild/channels/$channel/latest.txt" "$lock_file" "$tools_source_suffix" - fi - version="$(grep 'version:*' -m 1 "$lock_file")" - if [[ "$version" == '' ]]; then - __error "Failed to parse version from $lock_file. Expected a line that begins with 'version:'" - return 1 - fi - version="$(echo "${version#version:}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')" - local korebuild_path="$DOTNET_HOME/buildtools/korebuild/$version" - - if [ "$reinstall" = true ] && [ -d "$korebuild_path" ]; then - rm -rf "$korebuild_path" - fi - - { - if [ ! -d "$korebuild_path" ]; then - mkdir -p "$korebuild_path" - local remote_path="$tools_source/korebuild/artifacts/$version/korebuild.$version.zip" - tmpfile="$(mktemp)" - echo -e "${MAGENTA}Downloading KoreBuild ${version}${RESET}" - if __get_remote_file "$remote_path" "$tmpfile" "$tools_source_suffix"; then - unzip -q -d "$korebuild_path" "$tmpfile" - fi - rm "$tmpfile" || true - fi - - source "$korebuild_path/KoreBuild.sh" - } || { - if [ -d "$korebuild_path" ]; then - echo "Cleaning up after failed installation" - rm -rf "$korebuild_path" || true - fi - return 1 - } -} - -__error() { - echo -e "${RED}error: $*${RESET}" 1>&2 -} - -__warn() { - echo -e "${YELLOW}warning: $*${RESET}" -} - -__machine_has() { - hash "$1" > /dev/null 2>&1 - return $? -} - -__get_remote_file() { - local remote_path=$1 - local local_path=$2 - local remote_path_suffix=$3 - - if [[ "$remote_path" != 'http'* ]]; then - cp "$remote_path" "$local_path" - return 0 - fi - - local failed=false - if __machine_has wget; then - wget --tries 10 --quiet -O "$local_path" "${remote_path}${remote_path_suffix}" || failed=true - else - failed=true - fi - - if [ "$failed" = true ] && __machine_has curl; then - failed=false - curl --retry 10 -sSL -f --create-dirs -o "$local_path" "${remote_path}${remote_path_suffix}" || failed=true - fi - - if [ "$failed" = true ]; then - __error "Download failed: $remote_path" 1>&2 - return 1 - fi -} - -# -# main -# - -command="${1:-}" -shift - -while [[ $# -gt 0 ]]; do - case $1 in - -\?|-h|--help) - __usage --no-exit - exit 0 - ;; - -c|--channel|-Channel) - shift - channel="${1:-}" - [ -z "$channel" ] && __usage - ;; - --config-file|-ConfigFile) - shift - config_file="${1:-}" - [ -z "$config_file" ] && __usage - if [ ! -f "$config_file" ]; then - __error "Invalid value for --config-file. $config_file does not exist." - exit 1 - fi - ;; - -d|--dotnet-home|-DotNetHome) - shift - DOTNET_HOME="${1:-}" - [ -z "$DOTNET_HOME" ] && __usage - ;; - --path|-Path) - shift - repo_path="${1:-}" - [ -z "$repo_path" ] && __usage - ;; - -s|--tools-source|-ToolsSource) - shift - tools_source="${1:-}" - [ -z "$tools_source" ] && __usage - ;; - --tools-source-suffix|-ToolsSourceSuffix) - shift - tools_source_suffix="${1:-}" - [ -z "$tools_source_suffix" ] && __usage - ;; - -u|--update|-Update) - update=true - ;; - --reinstall|-[Rr]einstall) - reinstall=true - ;; - --ci|-[Cc][Ii]) - ci=true - ;; - --verbose|-Verbose) - verbose=true - ;; - --) - shift - break - ;; - *) - break - ;; - esac - shift -done - -if ! __machine_has unzip; then - __error 'Missing required command: unzip' - exit 1 -fi - -if ! __machine_has curl && ! __machine_has wget; then - __error 'Missing required command. Either wget or curl is required.' - exit 1 -fi - -[ -z "${config_file:-}" ] && config_file="$repo_path/korebuild.json" -if [ -f "$config_file" ]; then - if __machine_has jq ; then - if jq '.' "$config_file" >/dev/null ; then - config_channel="$(jq -r 'select(.channel!=null) | .channel' "$config_file")" - config_tools_source="$(jq -r 'select(.toolsSource!=null) | .toolsSource' "$config_file")" - else - __error "$config_file contains invalid JSON." - exit 1 - fi - elif __machine_has python ; then - if python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'))" >/dev/null ; then - config_channel="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['channel'] if 'channel' in obj else '')")" - config_tools_source="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")" - else - __error "$config_file contains invalid JSON." - exit 1 - fi - elif __machine_has python3 ; then - if python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'))" >/dev/null ; then - config_channel="$(python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['channel'] if 'channel' in obj else '')")" - config_tools_source="$(python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")" - else - __error "$config_file contains invalid JSON." - exit 1 - fi - else - __error 'Missing required command: jq or python. Could not parse the JSON file.' - exit 1 - fi - - [ ! -z "${config_channel:-}" ] && channel="$config_channel" - [ ! -z "${config_tools_source:-}" ] && tools_source="$config_tools_source" -fi - -[ -z "$channel" ] && channel='master' -[ -z "$tools_source" ] && tools_source='https://aspnetcore.blob.core.windows.net/buildtools' - -get_korebuild -set_korebuildsettings "$tools_source" "$DOTNET_HOME" "$repo_path" "$config_file" "$ci" -invoke_korebuild_command "$command" "$@" diff --git a/.gitignore b/src/Routing/.gitignore similarity index 100% rename from .gitignore rename to src/Routing/.gitignore diff --git a/Directory.Build.props b/src/Routing/Directory.Build.props similarity index 100% rename from Directory.Build.props rename to src/Routing/Directory.Build.props diff --git a/Directory.Build.targets b/src/Routing/Directory.Build.targets similarity index 100% rename from Directory.Build.targets rename to src/Routing/Directory.Build.targets diff --git a/NuGetPackageVerifier.json b/src/Routing/NuGetPackageVerifier.json similarity index 100% rename from NuGetPackageVerifier.json rename to src/Routing/NuGetPackageVerifier.json diff --git a/README.md b/src/Routing/README.md similarity index 100% rename from README.md rename to src/Routing/README.md diff --git a/Routing.sln b/src/Routing/Routing.sln similarity index 100% rename from Routing.sln rename to src/Routing/Routing.sln diff --git a/Settings.StyleCop b/src/Routing/Settings.StyleCop similarity index 100% rename from Settings.StyleCop rename to src/Routing/Settings.StyleCop diff --git a/THIRD-PARTY-NOTICES b/src/Routing/THIRD-PARTY-NOTICES similarity index 100% rename from THIRD-PARTY-NOTICES rename to src/Routing/THIRD-PARTY-NOTICES diff --git a/benchmarkapps/Benchmarks/Benchmarks.csproj b/src/Routing/benchmarkapps/Benchmarks/Benchmarks.csproj similarity index 100% rename from benchmarkapps/Benchmarks/Benchmarks.csproj rename to src/Routing/benchmarkapps/Benchmarks/Benchmarks.csproj diff --git a/benchmarkapps/Benchmarks/Program.cs b/src/Routing/benchmarkapps/Benchmarks/Program.cs similarity index 100% rename from benchmarkapps/Benchmarks/Program.cs rename to src/Routing/benchmarkapps/Benchmarks/Program.cs diff --git a/benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs b/src/Routing/benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs similarity index 100% rename from benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs rename to src/Routing/benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs diff --git a/benchmarkapps/Benchmarks/StartupUsingRouter.cs b/src/Routing/benchmarkapps/Benchmarks/StartupUsingRouter.cs similarity index 100% rename from benchmarkapps/Benchmarks/StartupUsingRouter.cs rename to src/Routing/benchmarkapps/Benchmarks/StartupUsingRouter.cs diff --git a/benchmarkapps/Benchmarks/benchmarks.json b/src/Routing/benchmarkapps/Benchmarks/benchmarks.json similarity index 100% rename from benchmarkapps/Benchmarks/benchmarks.json rename to src/Routing/benchmarkapps/Benchmarks/benchmarks.json diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerBenchmarkBase.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerBenchmarkBase.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerBenchmarkBase.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerBenchmarkBase.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerEmptyBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerEmptyBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerEmptyBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerEmptyBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerLargeBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerLargeBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerLargeBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerLargeBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerPlaintextBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerPlaintextBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerPlaintextBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerPlaintextBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerSmallBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerSmallBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerSmallBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerSmallBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableZeroEntryBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableZeroEntryBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableZeroEntryBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableZeroEntryBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Properties/AssemblyInfo.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Properties/AssemblyInfo.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Properties/AssemblyInfo.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Properties/AssemblyInfo.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/readme.md b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/readme.md similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/readme.md rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/readme.md diff --git a/build/Key.snk b/src/Routing/build/Key.snk similarity index 100% rename from build/Key.snk rename to src/Routing/build/Key.snk diff --git a/build/dependencies.props b/src/Routing/build/dependencies.props similarity index 100% rename from build/dependencies.props rename to src/Routing/build/dependencies.props diff --git a/build/repo.props b/src/Routing/build/repo.props similarity index 100% rename from build/repo.props rename to src/Routing/build/repo.props diff --git a/build/sources.props b/src/Routing/build/sources.props similarity index 100% rename from build/sources.props rename to src/Routing/build/sources.props diff --git a/samples/RoutingSandbox/Program.cs b/src/Routing/samples/RoutingSandbox/Program.cs similarity index 100% rename from samples/RoutingSandbox/Program.cs rename to src/Routing/samples/RoutingSandbox/Program.cs diff --git a/samples/RoutingSandbox/RoutingSandbox.csproj b/src/Routing/samples/RoutingSandbox/RoutingSandbox.csproj similarity index 100% rename from samples/RoutingSandbox/RoutingSandbox.csproj rename to src/Routing/samples/RoutingSandbox/RoutingSandbox.csproj diff --git a/samples/RoutingSandbox/UseEndpointRoutingStartup.cs b/src/Routing/samples/RoutingSandbox/UseEndpointRoutingStartup.cs similarity index 100% rename from samples/RoutingSandbox/UseEndpointRoutingStartup.cs rename to src/Routing/samples/RoutingSandbox/UseEndpointRoutingStartup.cs diff --git a/samples/RoutingSandbox/UseRouterStartup.cs b/src/Routing/samples/RoutingSandbox/UseRouterStartup.cs similarity index 100% rename from samples/RoutingSandbox/UseRouterStartup.cs rename to src/Routing/samples/RoutingSandbox/UseRouterStartup.cs diff --git a/samples/RoutingSandbox/wwwroot/full.render.js b/src/Routing/samples/RoutingSandbox/wwwroot/full.render.js similarity index 100% rename from samples/RoutingSandbox/wwwroot/full.render.js rename to src/Routing/samples/RoutingSandbox/wwwroot/full.render.js diff --git a/samples/RoutingSandbox/wwwroot/graph-ui.html b/src/Routing/samples/RoutingSandbox/wwwroot/graph-ui.html similarity index 100% rename from samples/RoutingSandbox/wwwroot/graph-ui.html rename to src/Routing/samples/RoutingSandbox/wwwroot/graph-ui.html diff --git a/samples/RoutingSandbox/wwwroot/viz.js b/src/Routing/samples/RoutingSandbox/wwwroot/viz.js similarity index 100% rename from samples/RoutingSandbox/wwwroot/viz.js rename to src/Routing/samples/RoutingSandbox/wwwroot/viz.js diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterion.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterion.cs similarity index 100% rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterion.cs rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterion.cs diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValue.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValue.cs similarity index 100% rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValue.cs rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValue.cs diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValueEqualityComparer.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValueEqualityComparer.cs similarity index 100% rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValueEqualityComparer.cs rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValueEqualityComparer.cs diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs similarity index 100% rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeNode.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeNode.cs similarity index 100% rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeNode.cs rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeNode.cs diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/IClassifier.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/IClassifier.cs similarity index 100% rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/IClassifier.cs rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/IClassifier.cs diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/ItemDescriptor.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/ItemDescriptor.cs similarity index 100% rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/ItemDescriptor.cs rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/ItemDescriptor.cs diff --git a/src/Directory.Build.props b/src/Routing/src/Directory.Build.props similarity index 100% rename from src/Directory.Build.props rename to src/Routing/src/Directory.Build.props diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IOutboundParameterTransformer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IOutboundParameterTransformer.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IOutboundParameterTransformer.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IOutboundParameterTransformer.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteHandler.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteHandler.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IRouteHandler.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteHandler.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IRouter.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouter.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IRouter.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouter.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IRoutingFeature.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRoutingFeature.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/IRoutingFeature.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRoutingFeature.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkOptions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/LinkOptions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/LinkOptions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/LinkOptions.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Microsoft.AspNetCore.Routing.Abstractions.csproj b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Microsoft.AspNetCore.Routing.Abstractions.csproj similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/Microsoft.AspNetCore.Routing.Abstractions.csproj rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Microsoft.AspNetCore.Routing.Abstractions.csproj diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/Resources.Designer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/Resources.Designer.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/Properties/Resources.Designer.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/Resources.Designer.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Resources.resx b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Resources.resx similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/Resources.resx rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Resources.resx diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteDirection.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteDirection.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/RouteDirection.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteDirection.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RoutingHttpContextExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RoutingHttpContextExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/RoutingHttpContextExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RoutingHttpContextExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathData.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathData.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathData.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathData.cs diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json similarity index 100% rename from src/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json diff --git a/src/Microsoft.AspNetCore.Routing/Builder/RoutingBuilderExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Builder/RoutingBuilderExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Builder/RoutingBuilderExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Builder/RoutingBuilderExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/AlphaRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/AlphaRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/AlphaRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/AlphaRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/CompositeRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/CompositeRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/CompositeRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/CompositeRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/NullRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/NullRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/NullRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/NullRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/RegexInlineRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RegexInlineRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/RegexInlineRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RegexInlineRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs diff --git a/src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs diff --git a/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs diff --git a/src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureEndpointOptions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureEndpointOptions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureEndpointOptions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureEndpointOptions.cs diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs diff --git a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs diff --git a/src/Microsoft.AspNetCore.Routing/EndpointNameAddressScheme.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointNameAddressScheme.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/EndpointNameAddressScheme.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointNameAddressScheme.cs diff --git a/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/EndpointOptions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointOptions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/EndpointOptions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointOptions.cs diff --git a/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs diff --git a/src/Microsoft.AspNetCore.Routing/EndpointSelectorContext.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointSelectorContext.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/EndpointSelectorContext.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointSelectorContext.cs diff --git a/src/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/IEndpointAddressScheme.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IEndpointAddressScheme.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/IEndpointAddressScheme.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/IEndpointAddressScheme.cs diff --git a/src/Microsoft.AspNetCore.Routing/IEndpointNameMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IEndpointNameMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/IEndpointNameMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/IEndpointNameMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/IInlineConstraintResolver.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IInlineConstraintResolver.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/IInlineConstraintResolver.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/IInlineConstraintResolver.cs diff --git a/src/Microsoft.AspNetCore.Routing/INamedRouter.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/INamedRouter.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/INamedRouter.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/INamedRouter.cs diff --git a/src/Microsoft.AspNetCore.Routing/IRouteBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IRouteBuilder.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/IRouteBuilder.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/IRouteBuilder.cs diff --git a/src/Microsoft.AspNetCore.Routing/IRouteCollection.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IRouteCollection.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/IRouteCollection.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/IRouteCollection.cs diff --git a/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/InlineRouteParameterParser.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/InlineRouteParameterParser.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/InlineRouteParameterParser.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/InlineRouteParameterParser.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/BufferValue.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/BufferValue.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/BufferValue.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/BufferValue.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/OutboundMatchResult.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/OutboundMatchResult.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/OutboundMatchResult.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/OutboundMatchResult.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/PathTokenizer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/PathTokenizer.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/PathTokenizer.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/PathTokenizer.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/RoutingMarkerService.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/RoutingMarkerService.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/RoutingMarkerService.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/RoutingMarkerService.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/SegmentState.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/SegmentState.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/SegmentState.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/SegmentState.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/UriBuilderContextPooledObjectPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/UriBuilderContextPooledObjectPolicy.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/UriBuilderContextPooledObjectPolicy.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/UriBuilderContextPooledObjectPolicy.cs diff --git a/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs diff --git a/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/Logging/RouteConstraintMatcherExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Logging/RouteConstraintMatcherExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Logging/RouteConstraintMatcherExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Logging/RouteConstraintMatcherExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/Logging/RouterMiddlewareLoggerExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Logging/RouterMiddlewareLoggerExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Logging/RouterMiddlewareLoggerExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Logging/RouterMiddlewareLoggerExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/Logging/TreeRouterLoggerExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Logging/TreeRouterLoggerExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Logging/TreeRouterLoggerExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Logging/TreeRouterLoggerExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/MapRouteRouteBuilderExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/MapRouteRouteBuilderExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/MapRouteRouteBuilderExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/MapRouteRouteBuilderExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/AmbiguousMatchException.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/AmbiguousMatchException.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/AmbiguousMatchException.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/AmbiguousMatchException.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/Ascii.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/Ascii.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/Ascii.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/Ascii.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherFactory.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherFactory.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherFactory.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherFactory.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaState.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaState.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/DfaState.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaState.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DictionaryJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DictionaryJumpTable.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/DictionaryJumpTable.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DictionaryJumpTable.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/EndpointComparer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/EndpointComparer.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/EndpointComparer.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/EndpointComparer.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/JumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/JumpTable.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/JumpTable.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/JumpTable.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/LinearSearchJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/LinearSearchJumpTable.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/LinearSearchJumpTable.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/LinearSearchJumpTable.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/MatcherFactory.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/MatcherFactory.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/MatcherFactory.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/MatcherFactory.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/PathSegment.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PathSegment.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/PathSegment.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PathSegment.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTable.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTable.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTable.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableEdge.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableEdge.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableEdge.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableEdge.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryAsciiJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryAsciiJumpTable.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/SingleEntryAsciiJumpTable.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryAsciiJumpTable.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryJumpTable.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/SingleEntryJumpTable.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryJumpTable.cs diff --git a/src/Microsoft.AspNetCore.Routing/Matching/ZeroEntryJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/ZeroEntryJumpTable.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Matching/ZeroEntryJumpTable.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/ZeroEntryJumpTable.cs diff --git a/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj b/src/Routing/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj rename to src/Routing/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj diff --git a/src/Microsoft.AspNetCore.Routing/ParameterPolicyFactory.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/ParameterPolicyFactory.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/ParameterPolicyFactory.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/ParameterPolicyFactory.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPolicyReference.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPolicyReference.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPolicyReference.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPolicyReference.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs diff --git a/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs diff --git a/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs diff --git a/src/Microsoft.AspNetCore.Routing/RequestDelegateRouteBuilderExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RequestDelegateRouteBuilderExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RequestDelegateRouteBuilderExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RequestDelegateRouteBuilderExtensions.cs diff --git a/src/Microsoft.AspNetCore.Routing/Resources.resx b/src/Routing/src/Microsoft.AspNetCore.Routing/Resources.resx similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Resources.resx rename to src/Routing/src/Microsoft.AspNetCore.Routing/Resources.resx diff --git a/src/Microsoft.AspNetCore.Routing/Route.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Route.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Route.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Route.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteBase.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteBase.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteBase.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteBase.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteBuilder.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteBuilder.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteBuilder.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteCollection.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteCollection.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteCollection.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteCollection.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteCreationException.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteCreationException.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteCreationException.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteCreationException.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteEndpoint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteEndpoint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteEndpoint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteEndpoint.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteHandler.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteHandler.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteHandler.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteHandler.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteOptions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteOptions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteOptions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteOptions.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteValueEqualityComparer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteValueEqualityComparer.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteValueEqualityComparer.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteValueEqualityComparer.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs diff --git a/src/Microsoft.AspNetCore.Routing/RouterMiddleware.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouterMiddleware.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RouterMiddleware.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouterMiddleware.cs diff --git a/src/Microsoft.AspNetCore.Routing/RoutingFeature.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RoutingFeature.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RoutingFeature.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RoutingFeature.cs diff --git a/src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs diff --git a/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs diff --git a/src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs diff --git a/src/Microsoft.AspNetCore.Routing/Template/RouteTemplate.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/RouteTemplate.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Template/RouteTemplate.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/RouteTemplate.cs diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateParser.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateParser.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Template/TemplateParser.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateParser.cs diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateValuesResult.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateValuesResult.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Template/TemplateValuesResult.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateValuesResult.cs diff --git a/src/Microsoft.AspNetCore.Routing/Tree/InboundMatch.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/InboundMatch.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Tree/InboundMatch.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/InboundMatch.cs diff --git a/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs diff --git a/src/Microsoft.AspNetCore.Routing/Tree/OutboundMatch.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/OutboundMatch.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Tree/OutboundMatch.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/OutboundMatch.cs diff --git a/src/Microsoft.AspNetCore.Routing/Tree/OutboundRouteEntry.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/OutboundRouteEntry.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Tree/OutboundRouteEntry.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/OutboundRouteEntry.cs diff --git a/src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs diff --git a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs diff --git a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs diff --git a/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingNode.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingNode.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingNode.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingNode.cs diff --git a/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs diff --git a/src/Microsoft.AspNetCore.Routing/baseline.netcore.json b/src/Routing/src/Microsoft.AspNetCore.Routing/baseline.netcore.json similarity index 100% rename from src/Microsoft.AspNetCore.Routing/baseline.netcore.json rename to src/Routing/src/Microsoft.AspNetCore.Routing/baseline.netcore.json diff --git a/test/Directory.Build.props b/src/Routing/test/Directory.Build.props similarity index 100% rename from test/Directory.Build.props rename to src/Routing/test/Directory.Build.props diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs b/src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj b/src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj similarity index 100% rename from test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj rename to src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteDataTest.cs b/src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteDataTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteDataTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteDataTest.cs diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs b/src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/VirtualPathDataTests.cs b/src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/VirtualPathDataTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/VirtualPathDataTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/VirtualPathDataTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/DecisionTreeBuilderTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/DecisionTreeBuilderTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/DecisionTreeBuilderTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/DecisionTreeBuilderTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests.csproj b/src/Routing/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests.csproj similarity index 100% rename from test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests.csproj rename to src/Routing/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests.csproj diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/EndpointRoutingBenchmarkTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/EndpointRoutingBenchmarkTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/EndpointRoutingBenchmarkTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/EndpointRoutingBenchmarkTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RouterBenchmarkTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RouterBenchmarkTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RouterBenchmarkTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RouterBenchmarkTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj similarity index 100% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingTestFixture.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingTestFixture.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingTestFixture.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingTestFixture.cs diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/WebHostBuilderExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/WebHostBuilderExtensionsTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/WebHostBuilderExtensionsTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/WebHostBuilderExtensionsTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Builder/RoutingBuilderExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Builder/RoutingBuilderExtensionsTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Builder/RoutingBuilderExtensionsTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Builder/RoutingBuilderExtensionsTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/ConstraintMatcherTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/ConstraintMatcherTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/ConstraintMatcherTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/ConstraintMatcherTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/AlphaRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/AlphaRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/AlphaRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/AlphaRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/BoolRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/BoolRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/BoolRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/BoolRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/CompositeRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/CompositeRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/CompositeRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/CompositeRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/ConstraintsTestHelper.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/ConstraintsTestHelper.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/ConstraintsTestHelper.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/ConstraintsTestHelper.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DateTimeRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DateTimeRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/DateTimeRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DateTimeRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DecimalRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DecimalRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/DecimalRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DecimalRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DoubleRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DoubleRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/DoubleRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DoubleRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/FloatRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/FloatRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/FloatRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/FloatRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/GuidRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/GuidRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/GuidRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/GuidRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/HttpMethodRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/HttpMethodRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/HttpMethodRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/HttpMethodRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/IntRouteConstraintsTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/IntRouteConstraintsTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/IntRouteConstraintsTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/IntRouteConstraintsTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/LengthRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/LengthRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/LengthRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/LengthRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/LongRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/LongRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/LongRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/LongRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxLengthRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxLengthRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxLengthRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxLengthRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinLengthRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinLengthRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinLengthRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinLengthRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RangeRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RangeRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/RangeRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RangeRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexInlineRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexInlineRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexInlineRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexInlineRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RequiredRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RequiredRouteConstraintTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/RequiredRouteConstraintTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RequiredRouteConstraintTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/StringRouteConstraintTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/StringRouteConstraintTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/StringRouteConstraintTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/StringRouteConstraintTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DataSourceDependentCacheTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DataSourceDependentCacheTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/DataSourceDependentCacheTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DataSourceDependentCacheTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultInlineConstraintResolverTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultInlineConstraintResolverTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/DefaultInlineConstraintResolverTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultInlineConstraintResolverTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultParameterPolicyFactoryTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultParameterPolicyFactoryTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/DefaultParameterPolicyFactoryTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultParameterPolicyFactoryTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointNameAddressSchemeTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointNameAddressSchemeTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/EndpointNameAddressSchemeTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointNameAddressSchemeTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointSelectorContextTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointSelectorContextTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/EndpointSelectorContextTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointSelectorContextTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/DfaGraphWriterTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/DfaGraphWriterTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Internal/DfaGraphWriterTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/DfaGraphWriterTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/PathTokenizerTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/PathTokenizerTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Internal/PathTokenizerTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/PathTokenizerTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Logging/WriteContext.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Logging/WriteContext.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Logging/WriteContext.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Logging/WriteContext.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/AsciiTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/AsciiTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/AsciiTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/AsciiTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DictionaryJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DictionaryJumpTableTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/DictionaryJumpTableTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DictionaryJumpTableTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/FastPathTokenizerTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/FastPathTokenizerTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/FastPathTokenizerTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/FastPathTokenizerTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieFactoryTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieFactoryTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieFactoryTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieFactoryTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieJumpTableTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieJumpTableTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieJumpTableTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/LinearSearchJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/LinearSearchJumpTableTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/LinearSearchJumpTableTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/LinearSearchJumpTableTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.MultipleEndpoint.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.MultipleEndpoint.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.MultipleEndpoint.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.MultipleEndpoint.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MultipleEntryJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MultipleEntryJumpTableTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/MultipleEntryJumpTableTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MultipleEntryJumpTableTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/NonVectorizedILEmitTrieJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/NonVectorizedILEmitTrieJumpTableTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/NonVectorizedILEmitTrieJumpTableTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/NonVectorizedILEmitTrieJumpTableTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryAsciiJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryAsciiJumpTableTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryAsciiJumpTableTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryAsciiJumpTableTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTestBase.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTestBase.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTestBase.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTestBase.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/VectorizedILEmitTrieJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/VectorizedILEmitTrieJumpTableTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/VectorizedILEmitTrieJumpTableTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/VectorizedILEmitTrieJumpTableTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/ZeroEntryJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/ZeroEntryJumpTableTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/ZeroEntryJumpTableTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/ZeroEntryJumpTableTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternMatcherTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternMatcherTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternMatcherTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternMatcherTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RequestDelegateRouteBuilderExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RequestDelegateRouteBuilderExtensionsTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RequestDelegateRouteBuilderExtensionsTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RequestDelegateRouteBuilderExtensionsTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteBuilderTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteBuilderTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RouteBuilderTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteBuilderTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteConstraintBuilderTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteConstraintBuilderTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RouteConstraintBuilderTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteConstraintBuilderTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteOptionsTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteOptionsTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RouteOptionsTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteOptionsTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueEqualityComparerTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteValueEqualityComparerTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RouteValueEqualityComparerTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteValueEqualityComparerTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/RoutePrecedenceTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/RoutePrecedenceTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Template/RoutePrecedenceTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/RoutePrecedenceTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateMatcherTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateMatcherTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateMatcherTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateMatcherTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateSegmentTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateSegmentTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateSegmentTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateSegmentTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestConstants.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestConstants.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/TestConstants.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestConstants.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/CapturingConstraint.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/CapturingConstraint.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/TestObjects/CapturingConstraint.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/CapturingConstraint.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestServiceProvider.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestServiceProvider.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestServiceProvider.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestServiceProvider.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouteBuilderTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouteBuilderTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouteBuilderTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouteBuilderTest.cs diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs diff --git a/test/WebSites/Directory.Build.props b/src/Routing/test/WebSites/Directory.Build.props similarity index 100% rename from test/WebSites/Directory.Build.props rename to src/Routing/test/WebSites/Directory.Build.props diff --git a/test/WebSites/RoutingWebSite/EndsWithStringRouteConstraint.cs b/src/Routing/test/WebSites/RoutingWebSite/EndsWithStringRouteConstraint.cs similarity index 100% rename from test/WebSites/RoutingWebSite/EndsWithStringRouteConstraint.cs rename to src/Routing/test/WebSites/RoutingWebSite/EndsWithStringRouteConstraint.cs diff --git a/test/WebSites/RoutingWebSite/Program.cs b/src/Routing/test/WebSites/RoutingWebSite/Program.cs similarity index 100% rename from test/WebSites/RoutingWebSite/Program.cs rename to src/Routing/test/WebSites/RoutingWebSite/Program.cs diff --git a/test/WebSites/RoutingWebSite/RoutingWebSite.csproj b/src/Routing/test/WebSites/RoutingWebSite/RoutingWebSite.csproj similarity index 100% rename from test/WebSites/RoutingWebSite/RoutingWebSite.csproj rename to src/Routing/test/WebSites/RoutingWebSite/RoutingWebSite.csproj diff --git a/test/WebSites/RoutingWebSite/UseEndpointRoutingStartup.cs b/src/Routing/test/WebSites/RoutingWebSite/UseEndpointRoutingStartup.cs similarity index 100% rename from test/WebSites/RoutingWebSite/UseEndpointRoutingStartup.cs rename to src/Routing/test/WebSites/RoutingWebSite/UseEndpointRoutingStartup.cs diff --git a/test/WebSites/RoutingWebSite/UseRouterStartup.cs b/src/Routing/test/WebSites/RoutingWebSite/UseRouterStartup.cs similarity index 100% rename from test/WebSites/RoutingWebSite/UseRouterStartup.cs rename to src/Routing/test/WebSites/RoutingWebSite/UseRouterStartup.cs diff --git a/tools/Swaggatherer/Program.cs b/src/Routing/tools/Swaggatherer/Program.cs similarity index 100% rename from tools/Swaggatherer/Program.cs rename to src/Routing/tools/Swaggatherer/Program.cs diff --git a/tools/Swaggatherer/README.md b/src/Routing/tools/Swaggatherer/README.md similarity index 100% rename from tools/Swaggatherer/README.md rename to src/Routing/tools/Swaggatherer/README.md diff --git a/tools/Swaggatherer/RouteEntry.cs b/src/Routing/tools/Swaggatherer/RouteEntry.cs similarity index 100% rename from tools/Swaggatherer/RouteEntry.cs rename to src/Routing/tools/Swaggatherer/RouteEntry.cs diff --git a/tools/Swaggatherer/Swaggatherer.csproj b/src/Routing/tools/Swaggatherer/Swaggatherer.csproj similarity index 100% rename from tools/Swaggatherer/Swaggatherer.csproj rename to src/Routing/tools/Swaggatherer/Swaggatherer.csproj diff --git a/tools/Swaggatherer/SwaggathererApplication.cs b/src/Routing/tools/Swaggatherer/SwaggathererApplication.cs similarity index 100% rename from tools/Swaggatherer/SwaggathererApplication.cs rename to src/Routing/tools/Swaggatherer/SwaggathererApplication.cs diff --git a/tools/Swaggatherer/Template.cs b/src/Routing/tools/Swaggatherer/Template.cs similarity index 100% rename from tools/Swaggatherer/Template.cs rename to src/Routing/tools/Swaggatherer/Template.cs diff --git a/version.props b/src/Routing/version.props similarity index 100% rename from version.props rename to src/Routing/version.props -- GitLab