diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index 119f1e7ea16fc338fa1ec1e84467891112f40af3..0000000000000000000000000000000000000000 --- 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 d4ee1cb7f39c17015b32c592b582b92245670fd5..0000000000000000000000000000000000000000 --- 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 101a084f0aa85711a92542ee2f40a5575b337645..0000000000000000000000000000000000000000 --- 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 64bdbb4441c431cb5a5774e91fd4e5072c058ce5..0000000000000000000000000000000000000000 --- 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 64ff041d5caf65de66e8e966129f689e5919fb64..0000000000000000000000000000000000000000 --- 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 7b2956eceee150029e2e230349cd23e9f6927c24..0000000000000000000000000000000000000000 --- 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 e32bddfd514287b0b63cece097f11ecb1410ec64..0000000000000000000000000000000000000000 --- 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 fc82ca344b4ca222106cfa77f92feec0f88162c2..0000000000000000000000000000000000000000 --- 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 c0050bda125e73f3745de70a4021262eaa048c7b..0000000000000000000000000000000000000000 --- 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 98a4b227658413eca2adb0d1d2d68178a80155cf..0000000000000000000000000000000000000000 --- 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 251c227c83e3b220e1cf01419573422bfbf45d24..0000000000000000000000000000000000000000 --- 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 678d8bb94838ea300151a3009963fafafeb01bfd..0000000000000000000000000000000000000000 --- 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 d52d5c7e689e8108ed0f0b83a22b61375fde8fef..0000000000000000000000000000000000000000 --- 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 27dcf848f8445f321e7d5ff8667dad07499ea607..0000000000000000000000000000000000000000 --- 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 834961fc3a5fecd727170838ce043d604829da6a..0000000000000000000000000000000000000000 --- 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