From 3840ca4451d90cdb9cf6cea1e3756e358f86ad43 Mon Sep 17 00:00:00 2001 From: Ryan Brandenburg <rybrande@microsoft.com> Date: Wed, 21 Nov 2018 15:09:05 -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/58b66f7cbb3858aa1b7b8b2848b8d3cec4df0e40 --- .appveyor.yml | 17 - .gitattributes | 52 --- .github/ISSUE_TEMPLATE.md | 3 - .travis.yml | 27 -- CONTRIBUTING.md | 4 - LICENSE.txt | 14 - NuGet.config | 7 - Settings.StyleCop | 430 ------------------ build.cmd | 2 - build.sh | 8 - korebuild-lock.txt | 2 - korebuild.json | 4 - run.cmd | 2 - run.ps1 | 196 -------- run.sh | 231 ---------- .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 .../Configs/CoreConfig.cs | 0 ...soft.AspNetCore.Routing.Performance.csproj | 0 .../Program.cs | 0 .../RoutingBenchmark.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}/RoutingSample.Web/PrefixRoute.cs | 0 .../samples}/RoutingSample.Web/Program.cs | 0 .../RouteBuilderExtensions.cs | 0 .../RoutingSample.Web.csproj | 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 .../IRouteConstraint.cs | 0 .../IRouteHandler.cs | 0 .../IRouter.cs | 0 .../IRoutingFeature.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 .../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/OptionalRouteConstraint.cs | 0 .../Constraints/RangeRouteConstraint.cs | 0 .../Constraints/RegexInlineRouteConstraint.cs | 0 .../Constraints/RegexRouteConstraint.cs | 0 .../Constraints/RequiredRouteConstraint.cs | 0 .../Constraints/StringRouteConstraint.cs | 0 .../DefaultInlineConstraintResolver.cs | 0 .../RoutingServiceCollectionExtensions.cs | 0 .../IInlineConstraintResolver.cs | 0 .../INamedRouter.cs | 0 .../IRouteBuilder.cs | 0 .../IRouteCollection.cs | 0 .../InlineRouteParameterParser.cs | 0 .../Internal/BufferValue.cs | 0 .../Internal/LinkGenerationDecisionTree.cs | 0 .../Internal/OutboundMatchResult.cs | 0 .../Internal/PathTokenizer.cs | 0 .../Internal/RoutingMarkerService.cs | 0 .../Internal/SegmentState.cs | 0 .../UriBuilderContextPooledObjectPolicy.cs | 0 .../Internal/UriBuildingContext.cs | 0 .../RouteConstraintMatcherExtensions.cs | 0 .../RouterMiddlewareLoggerExtensions.cs | 0 .../Logging/TreeRouterLoggerExtensions.cs | 0 .../MapRouteRouteBuilderExtensions.cs | 0 .../Microsoft.AspNetCore.Routing.csproj | 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 .../RouteHandler.cs | 0 .../RouteOptions.cs | 0 .../RouteValueEqualityComparer.cs | 0 .../RouterMiddleware.cs | 0 .../RoutingBuilderExtensions.cs | 0 .../RoutingFeature.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/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 ...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 ....AspNetCore.Routing.FunctionalTests.csproj | 0 .../RoutingSampleTest.cs | 0 .../RoutingTestFixture.cs | 0 .../WebHostBuilderExtensionsTest.cs | 0 .../BuilderExtensionsTest.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 .../DefaultInlineConstraintResolverTest.cs | 0 .../InlineRouteParameterParserTests.cs | 0 .../LinkGenerationDecisionTreeTest.cs | 0 .../Internal/PathTokenizerTest.cs | 0 .../Logging/WriteContext.cs | 0 .../Microsoft.AspNetCore.Routing.Tests.csproj | 0 ...questDelegateRouteBuilderExtensionsTest.cs | 0 .../RouteBuilderTest.cs | 0 .../RouteCollectionTest.cs | 0 .../RouteConstraintBuilderTest.cs | 0 .../RouteOptionsTests.cs | 0 .../RouteTest.cs | 0 .../RouterMiddlewareTest.cs | 0 .../RoutingBuilderExtensionsTest.cs | 0 .../Template/RoutePrecedenceTests.cs | 0 .../Template/TemplateBinderTests.cs | 0 .../Template/TemplateMatcherTests.cs | 0 .../Template/TemplateParserTests.cs | 0 .../TemplateParserDefaultValuesTests.cs | 0 .../Tree/TreeRouteBuilderTest.cs | 0 .../Tree/TreeRouterTest.cs | 0 version.props => src/Routing/version.props | 0 192 files changed, 999 deletions(-) delete mode 100644 .appveyor.yml delete mode 100644 .gitattributes delete mode 100644 .github/ISSUE_TEMPLATE.md delete mode 100644 .travis.yml delete mode 100644 CONTRIBUTING.md delete mode 100644 LICENSE.txt delete mode 100644 NuGet.config delete mode 100644 Settings.StyleCop 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 {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Configs/CoreConfig.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/Program.cs (100%) rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/RoutingBenchmark.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}/RoutingSample.Web/PrefixRoute.cs (100%) rename {samples => src/Routing/samples}/RoutingSample.Web/Program.cs (100%) rename {samples => src/Routing/samples}/RoutingSample.Web/RouteBuilderExtensions.cs (100%) rename {samples => src/Routing/samples}/RoutingSample.Web/RoutingSample.Web.csproj (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/IRouteConstraint.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IRouteHandler.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/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/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/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/DefaultInlineConstraintResolver.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.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/InlineRouteParameterParser.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/BufferValue.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/OutboundMatchResult.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/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/Microsoft.AspNetCore.Routing.csproj (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/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/RouterMiddleware.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RoutingBuilderExtensions.cs (100%) rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RoutingFeature.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/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/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/Microsoft.AspNetCore.Routing.FunctionalTests.csproj (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingSampleTest.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/BuilderExtensionsTest.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/DefaultInlineConstraintResolverTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.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/Logging/WriteContext.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/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/RouterMiddlewareTest.cs (100%) rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RoutingBuilderExtensionsTest.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/TemplateParserDefaultValuesTests.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 version.props => src/Routing/version.props (100%) diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index 119f1e7ea16..00000000000 --- a/.appveyor.yml +++ /dev/null @@ -1,17 +0,0 @@ -init: -- git config --global core.autocrlf true -branches: - only: - - dev - - /^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/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 101a084f0aa..00000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,3 +0,0 @@ -THIS ISSUE TRACKER IS CLOSED - please log new issues here: https://github.com/aspnet/Home/issues - -For information about this change, see https://github.com/aspnet/Announcements/issues/283 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 64bdbb4441c..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: - - dev - - /^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/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 64ff041d5ca..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/dev/CONTRIBUTING.md) in the Home repo. diff --git a/LICENSE.txt b/LICENSE.txt deleted file mode 100644 index 7b2956eceee..00000000000 --- a/LICENSE.txt +++ /dev/null @@ -1,14 +0,0 @@ -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -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/Settings.StyleCop b/Settings.StyleCop deleted file mode 100644 index fc82ca344b4..00000000000 --- a/Settings.StyleCop +++ /dev/null @@ -1,430 +0,0 @@ -<StyleCopSettings Version="105"> - <GlobalSettings> - <StringProperty Name="MergeSettingsFiles">NoMerge</StringProperty> - </GlobalSettings> - <Parsers> - <Parser ParserId="StyleCop.CSharp.CsParser"> - <ParserSettings> - <BooleanProperty Name="AnalyzeDesignerFiles">False</BooleanProperty> - </ParserSettings> - </Parser> - </Parsers> - <Analyzers> - <Analyzer AnalyzerId="StyleCop.CSharp.NamingRules"> - <Rules> - <Rule Name="FieldNamesMustNotBeginWithUnderscore"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="FieldNamesMustNotUseHungarianNotation"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - </Rules> - <AnalyzerSettings> - <CollectionProperty Name="Hungarian"> - <Value>as</Value> - <Value>db</Value> - <Value>dc</Value> - <Value>do</Value> - <Value>ef</Value> - <Value>id</Value> - <Value>if</Value> - <Value>in</Value> - <Value>is</Value> - <Value>my</Value> - <Value>no</Value> - <Value>on</Value> - <Value>sl</Value> - <Value>to</Value> - <Value>ui</Value> - <Value>vs</Value> - </CollectionProperty> - </AnalyzerSettings> - </Analyzer> - <Analyzer AnalyzerId="StyleCop.CSharp.DocumentationRules"> - <Rules> - <Rule Name="FileMustHaveHeader"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="FileHeaderMustContainFileName"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="FileHeaderFileNameDocumentationMustMatchFileName"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="FileHeaderMustHaveValidCompanyText"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ConstructorSummaryDocumentationMustBeginWithStandardText"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="DestructorSummaryDocumentationMustBeginWithStandardText"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="DocumentationHeadersMustNotContainBlankLines"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ElementsMustBeDocumented"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="PartialElementsMustBeDocumented"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="EnumerationItemsMustBeDocumented"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="DocumentationMustContainValidXml"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ElementDocumentationMustHaveSummary"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="PartialElementDocumentationMustHaveSummary"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ElementDocumentationMustHaveSummaryText"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="PartialElementDocumentationMustHaveSummaryText"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ElementDocumentationMustNotHaveDefaultSummary"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ElementParametersMustBeDocumented"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ElementParameterDocumentationMustMatchElementParameters"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ElementParameterDocumentationMustDeclareParameterName"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ElementParameterDocumentationMustHaveText"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ElementReturnValueMustBeDocumented"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ElementReturnValueDocumentationMustHaveText"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="VoidReturnValueMustNotBeDocumented"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="GenericTypeParametersMustBeDocumented"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="GenericTypeParametersMustBeDocumentedPartialClass"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="GenericTypeParameterDocumentationMustMatchTypeParameters"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="GenericTypeParameterDocumentationMustDeclareParameterName"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="GenericTypeParameterDocumentationMustHaveText"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="PropertySummaryDocumentationMustMatchAccessors"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="PropertySummaryDocumentationMustOmitSetAccessorWithRestrictedAccess"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ElementDocumentationMustNotBeCopiedAndPasted"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="SingleLineCommentsMustNotUseDocumentationStyleSlashes"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="DocumentationTextMustNotBeEmpty"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="DocumentationTextMustContainWhitespace"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="DocumentationMustMeetCharacterPercentage"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="IncludedDocumentationXPathDoesNotExist"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="IncludeNodeDoesNotContainValidFileAndPath"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="InheritDocMustBeUsedWithInheritingClass"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="FileHeaderMustShowCopyright"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="FileHeaderMustHaveCopyrightText"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="FileHeaderFileNameDocumentationMustMatchTypeName"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - </Rules> - <AnalyzerSettings> - <BooleanProperty Name="IgnorePrivates">True</BooleanProperty> - <BooleanProperty Name="IgnoreInternals">True</BooleanProperty> - </AnalyzerSettings> - </Analyzer> - <Analyzer AnalyzerId="StyleCop.CSharp.ReadabilityRules"> - <Rules> - <Rule Name="OpeningParenthesisMustBeOnDeclarationLine"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ParameterMustNotSpanMultipleLines"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="UseStringEmptyForEmptyStrings"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="PrefixLocalCallsWithThis"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ParameterMustFollowComma"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="SplitParametersMustStartOnLineAfterDeclaration"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ParametersMustBeOnSameLineOrSeparateLines"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="UseBuiltInTypeAlias"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - </Rules> - <AnalyzerSettings /> - </Analyzer> - <Analyzer AnalyzerId="Microsoft.Web.StyleCop.Rules"> - <AnalyzerSettings> - <StringProperty Name="FileHeaderText"> Copyright (c) .NET Foundation. All rights reserved. See License.txt in the project root for license information.</StringProperty> - </AnalyzerSettings> - </Analyzer> - <Analyzer AnalyzerId="StyleCop.CSharp.LayoutRules"> - <Rules> - <Rule Name="AllAccessorsMustBeMultiLineOrSingleLine"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="SingleLineCommentsMustNotBeFollowedByBlankLine"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ClosingCurlyBracketMustBeFollowedByBlankLine"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="SingleLineCommentMustBePrecededByBlankLine"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ElementsMustBeSeparatedByBlankLine"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - </Rules> - <AnalyzerSettings /> - </Analyzer> - <Analyzer AnalyzerId="StyleCop.CSharp.MaintainabilityRules"> - <Rules> - <Rule Name="ConditionalExpressionsMustDeclarePrecedence"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="FieldsMustBePrivate"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="DebugAssertMustProvideMessageText"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="StatementMustNotUseUnnecessaryParenthesis"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - </Rules> - <AnalyzerSettings /> - </Analyzer> - <Analyzer AnalyzerId="StyleCop.CSharp.OrderingRules"> - <Rules> - <Rule Name="UsingDirectivesMustBePlacedWithinNamespace"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ElementsMustAppearInTheCorrectOrder"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ElementsMustBeOrderedByAccess"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ConstantsMustAppearBeforeFields"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="StaticElementsMustAppearBeforeInstanceElements"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - </Rules> - <AnalyzerSettings /> - </Analyzer> - <Analyzer AnalyzerId="StyleCop.CSharp.SpacingRules"> - <Rules> - <Rule Name="SingleLineCommentsMustBeginWithSingleSpace"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - - <!-- Creates a lot of noise with anonymous objects --> - <Rule Name="OpeningCurlyBracketsMustBeSpacedCorrectly"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - <Rule Name="ClosingCurlyBracketsMustBeSpacedCorrectly"> - <RuleSettings> - <BooleanProperty Name="Enabled">False</BooleanProperty> - </RuleSettings> - </Rule> - </Rules> - <AnalyzerSettings /> - </Analyzer> - <Analyzer AnalyzerId="StyleCop.KRules.FileHeaderRule"> - <Rules /> - <AnalyzerSettings> - <StringProperty Name="FileHeaderText"> Copyright (c) .NET Foundation. All rights reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.</StringProperty> - </AnalyzerSettings> - </Analyzer> - <Analyzer AnalyzerId="StyleCop.KRules.LineLengthRule"> - <Rules /> - <AnalyzerSettings> - <IntegerProperty Name="LineLength">120</IntegerProperty> - </AnalyzerSettings> - </Analyzer> - </Analyzers> -</StyleCopSettings> \ No newline at end of file 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 251c227c83e..00000000000 --- a/korebuild-lock.txt +++ /dev/null @@ -1,2 +0,0 @@ -version:2.1.3-rtm-15802 -commithash:a7c08b45b440a7d2058a0aa1eaa3eb6ba811976a diff --git a/korebuild.json b/korebuild.json deleted file mode 100644 index 678d8bb9483..00000000000 --- a/korebuild.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/release/2.1/tools/korebuild.schema.json", - "channel": "release/2.1" -} 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 27dcf848f84..00000000000 --- a/run.ps1 +++ /dev/null @@ -1,196 +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 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 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/dev/tools/korebuild.schema.json", - "channel": "dev", - "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, - [string]$ConfigFile, - [string]$ToolsSourceSuffix, - [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 (!(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 'Expand-Archive' -ErrorAction Ignore) { - # Use built-in commands where possible as they are cross-plat compatible - 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-Warning "$ConfigFile could not be read. Its settings will be ignored." - Write-Warning $Error[0] - } -} - -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 = 'dev' } -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 - Invoke-KoreBuildCommand $Command @Arguments -} -finally { - Remove-Module 'KoreBuild' -ErrorAction Ignore -} diff --git a/run.sh b/run.sh deleted file mode 100755 index 834961fc3a5..00000000000 --- a/run.sh +++ /dev/null @@ -1,231 +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 -repo_path="$DIR" -channel='' -tools_source='' -tools_source_suffix='' - -# -# 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 "" - 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 [ ! -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 - ;; - --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 - __warn "$config_file is invalid JSON. Its settings will be ignored." - 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 - __warn "$config_file is invalid JSON. Its settings will be ignored." - fi - else - __warn 'Missing required command: jq or pyton. Could not parse the JSON file. Its settings will be ignored.' - fi - - [ ! -z "${config_channel:-}" ] && channel="$config_channel" - [ ! -z "${config_tools_source:-}" ] && tools_source="$config_tools_source" -fi - -[ -z "$channel" ] && channel='dev' -[ -z "$tools_source" ] && tools_source='https://aspnetcore.blob.core.windows.net/buildtools' - -get_korebuild -set_korebuildsettings "$tools_source" "$DOTNET_HOME" "$repo_path" "$config_file" -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/benchmarks/Microsoft.AspNetCore.Routing.Performance/Configs/CoreConfig.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Configs/CoreConfig.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Configs/CoreConfig.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Configs/CoreConfig.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/Program.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Program.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Program.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Program.cs diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/RoutingBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/RoutingBenchmark.cs similarity index 100% rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/RoutingBenchmark.cs rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/RoutingBenchmark.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/RoutingSample.Web/PrefixRoute.cs b/src/Routing/samples/RoutingSample.Web/PrefixRoute.cs similarity index 100% rename from samples/RoutingSample.Web/PrefixRoute.cs rename to src/Routing/samples/RoutingSample.Web/PrefixRoute.cs diff --git a/samples/RoutingSample.Web/Program.cs b/src/Routing/samples/RoutingSample.Web/Program.cs similarity index 100% rename from samples/RoutingSample.Web/Program.cs rename to src/Routing/samples/RoutingSample.Web/Program.cs diff --git a/samples/RoutingSample.Web/RouteBuilderExtensions.cs b/src/Routing/samples/RoutingSample.Web/RouteBuilderExtensions.cs similarity index 100% rename from samples/RoutingSample.Web/RouteBuilderExtensions.cs rename to src/Routing/samples/RoutingSample.Web/RouteBuilderExtensions.cs diff --git a/samples/RoutingSample.Web/RoutingSample.Web.csproj b/src/Routing/samples/RoutingSample.Web/RoutingSample.Web.csproj similarity index 100% rename from samples/RoutingSample.Web/RoutingSample.Web.csproj rename to src/Routing/samples/RoutingSample.Web/RoutingSample.Web.csproj 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/RoutingBuilderExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RoutingBuilderExtensions.cs similarity index 100% rename from src/Microsoft.AspNetCore.Routing/RoutingBuilderExtensions.cs rename to src/Routing/src/Microsoft.AspNetCore.Routing/RoutingBuilderExtensions.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/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/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/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/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/RoutingSampleTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingSampleTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingSampleTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingSampleTest.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/BuilderExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/BuilderExtensionsTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/BuilderExtensionsTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/BuilderExtensionsTest.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/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/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/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/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/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/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/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/RoutingBuilderExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RoutingBuilderExtensionsTest.cs similarity index 100% rename from test/Microsoft.AspNetCore.Routing.Tests/RoutingBuilderExtensionsTest.cs rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RoutingBuilderExtensionsTest.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/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/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/version.props b/src/Routing/version.props similarity index 100% rename from version.props rename to src/Routing/version.props -- GitLab