diff --git a/.gitignore b/.gitignore
index 5e36a0b23c..75392f570d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,7 +16,6 @@ StyleCop.Cache
node_modules
*.snk
.nuget
-.r
.deps
global.json
*.binlog
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000000..ff191b1b02
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,180 @@
+[submodule "modules/Antiforgery"]
+ path = modules/Antiforgery
+ url = https://github.com/aspnet/Antiforgery.git
+ branch = dev
+[submodule "modules/AzureIntegration"]
+ path = modules/AzureIntegration
+ url = https://github.com/aspnet/AzureIntegration.git
+ branch = dev
+[submodule "modules/BasicMiddleware"]
+ path = modules/BasicMiddleware
+ url = https://github.com/aspnet/BasicMiddleware.git
+ branch = dev
+[submodule "modules/BrowserLink"]
+ path = modules/BrowserLink
+ url = https://github.com/aspnet/BrowserLink.git
+ branch = dev
+[submodule "modules/Caching"]
+ path = modules/Caching
+ url = https://github.com/aspnet/Caching.git
+ branch = dev
+[submodule "modules/Common"]
+ path = modules/Common
+ url = https://github.com/aspnet/Common.git
+ branch = dev
+[submodule "modules/Configuration"]
+ path = modules/Configuration
+ url = https://github.com/aspnet/Configuration.git
+ branch = dev
+[submodule "modules/CORS"]
+ path = modules/CORS
+ url = https://github.com/aspnet/CORS.git
+ branch = dev
+[submodule "modules/DataProtection"]
+ path = modules/DataProtection
+ url = https://github.com/aspnet/DataProtection.git
+ branch = dev
+[submodule "modules/DependencyInjection"]
+ path = modules/DependencyInjection
+ url = https://github.com/aspnet/DependencyInjection.git
+ branch = dev
+[submodule "modules/Diagnostics"]
+ path = modules/Diagnostics
+ url = https://github.com/aspnet/Diagnostics.git
+ branch = dev
+[submodule "modules/DotNetTools"]
+ path = modules/DotNetTools
+ url = https://github.com/aspnet/DotNetTools.git
+ branch = dev
+[submodule "modules/EntityFrameworkCore"]
+ path = modules/EntityFrameworkCore
+ url = https://github.com/aspnet/EntityFrameworkCore.git
+ branch = dev
+[submodule "modules/EventNotification"]
+ path = modules/EventNotification
+ url = https://github.com/aspnet/EventNotification.git
+ branch = dev
+[submodule "modules/FileSystem"]
+ path = modules/FileSystem
+ url = https://github.com/aspnet/FileSystem.git
+ branch = dev
+[submodule "modules/Hosting"]
+ path = modules/Hosting
+ url = https://github.com/aspnet/Hosting.git
+ branch = dev
+[submodule "modules/HtmlAbstractions"]
+ path = modules/HtmlAbstractions
+ url = https://github.com/aspnet/HtmlAbstractions.git
+ branch = dev
+[submodule "modules/HttpAbstractions"]
+ path = modules/HttpAbstractions
+ url = https://github.com/aspnet/HttpAbstractions.git
+ branch = dev
+[submodule "modules/HttpClientFactory"]
+ path = modules/HttpClientFactory
+ url = https://github.com/aspnet/HttpClientFactory.git
+ branch = dev
+[submodule "modules/HttpSysServer"]
+ path = modules/HttpSysServer
+ url = https://github.com/aspnet/HttpSysServer.git
+ branch = dev
+[submodule "modules/Identity"]
+ path = modules/Identity
+ url = https://github.com/aspnet/Identity.git
+ branch = dev
+[submodule "modules/IISIntegration"]
+ path = modules/IISIntegration
+ url = https://github.com/aspnet/IISIntegration.git
+ branch = dev
+[submodule "modules/JavaScriptServices"]
+ path = modules/JavaScriptServices
+ url = https://github.com/aspnet/JavaScriptServices.git
+ branch = dev
+[submodule "modules/JsonPatch"]
+ path = modules/JsonPatch
+ url = https://github.com/aspnet/JsonPatch.git
+ branch = dev
+[submodule "modules/KestrelHttpServer"]
+ path = modules/KestrelHttpServer
+ url = https://github.com/aspnet/KestrelHttpServer.git
+ branch = dev
+[submodule "modules/Localization"]
+ path = modules/Localization
+ url = https://github.com/aspnet/Localization.git
+ branch = dev
+[submodule "modules/Logging"]
+ path = modules/Logging
+ url = https://github.com/aspnet/Logging.git
+ branch = dev
+[submodule "modules/MetaPackages"]
+ path = modules/MetaPackages
+ url = https://github.com/aspnet/MetaPackages.git
+ branch = dev
+[submodule "modules/Microsoft.Data.Sqlite"]
+ path = modules/Microsoft.Data.Sqlite
+ url = https://github.com/aspnet/Microsoft.Data.Sqlite.git
+ branch = dev
+[submodule "modules/MusicStore"]
+ path = modules/MusicStore
+ url = https://github.com/aspnet/MusicStore.git
+ branch = dev
+[submodule "modules/Mvc"]
+ path = modules/Mvc
+ url = https://github.com/aspnet/Mvc.git
+ branch = dev
+[submodule "modules/MvcPrecompilation"]
+ path = modules/MvcPrecompilation
+ url = https://github.com/aspnet/MvcPrecompilation.git
+ branch = dev
+[submodule "modules/Options"]
+ path = modules/Options
+ url = https://github.com/aspnet/Options.git
+ branch = dev
+[submodule "modules/Proxy"]
+ path = modules/Proxy
+ url = https://github.com/aspnet/Proxy.git
+ branch = dev
+[submodule "modules/Razor"]
+ path = modules/Razor
+ url = https://github.com/aspnet/Razor.git
+ branch = dev
+[submodule "modules/ResponseCaching"]
+ path = modules/ResponseCaching
+ url = https://github.com/aspnet/ResponseCaching.git
+ branch = dev
+[submodule "modules/Routing"]
+ path = modules/Routing
+ url = https://github.com/aspnet/Routing.git
+ branch = dev
+[submodule "modules/Scaffolding"]
+ path = modules/Scaffolding
+ url = https://github.com/aspnet/Scaffolding.git
+ branch = dev
+[submodule "modules/Security"]
+ path = modules/Security
+ url = https://github.com/aspnet/Security.git
+ branch = dev
+[submodule "modules/ServerTests"]
+ path = modules/ServerTests
+ url = https://github.com/aspnet/ServerTests.git
+ branch = dev
+[submodule "modules/Session"]
+ path = modules/Session
+ url = https://github.com/aspnet/Session.git
+ branch = dev
+[submodule "modules/SignalR"]
+ path = modules/SignalR
+ url = https://github.com/aspnet/SignalR.git
+ branch = dev
+[submodule "modules/StaticFiles"]
+ path = modules/StaticFiles
+ url = https://github.com/aspnet/StaticFiles.git
+ branch = dev
+[submodule "modules/Testing"]
+ path = modules/Testing
+ url = https://github.com/aspnet/Testing.git
+ branch = dev
+[submodule "modules/WebSockets"]
+ path = modules/WebSockets
+ url = https://github.com/aspnet/WebSockets.git
+ branch = dev
diff --git a/README.md b/README.md
index 1b049850fa..0a1bc63329 100644
--- a/README.md
+++ b/README.md
@@ -1,51 +1,16 @@
Universe
-=========
+========
-This repo is to build the whole ASP.NET Core stack.
+Build infrastructure used to produce the whole ASP.NET Core stack.
## Getting started
- git clone git@github.com:aspnet/Universe.git
- cd Universe
- build
+```
+git clone --recursive https://github.com/aspnet/Universe.git
+cd Universe
+./build.cmd
+```
-The default build will clone all known repos as subfolders. The clone will be the dev branch.
+## More info
-If the build is run subsequently it will `git pull` the dev branch rather than clone. Note! This will cause a
-merge if you have local changes. We may tweak how this is done if it causes problems.
-
-After folders are up to date, `build.cmd compile` is executed in each of the enlisted subfolders.
-
-If there are errors the build will continue with the next repo.
-
-The last output is a list of which repos succeeded or failed.
-
-## build targets
-
-`build pull` will only clone or pull all repos.
-
-`build compile` this is the default target, described above.
-
-`build install` works like build compile, but will run `build.cmd install` in each subfolder. This means
-any nupkg produced by the repo are copied into the local `.nuget` folder to be picked up by subsequent
-repositories. The subfolders are built in dependency order.
-
-
-## Verifying cross repo changes
-You can use the Universe repo to preemptively verify and prepare follow ups for your breaking changes:
-- Clone the Universe repo https://github.com/aspnet/Universe
-- Add a branch attribute to the `build\Repositories.props` file to point to your branch in the repo you’re trying to verify. For instance,
- ``
- becomes
- ``
- **Note**: This branch should have been pushed to the server already.
-- Run from the root of Universe
- `build.cmd /p:CompileOnly=true /p:ShallowClone=true /p:BuildGraphOf=HtmlAbstractions`
-
- This should clone and compile all the repos against your breaking changes branch. If you’d like to additionally run tests in all your dependencies (this will take a while and also you could hit some flaky tests), remove the first parameter:
- `build.cmd /p:ShallowClone=true /p:BuildGraphOf=HtmlAbstractions`
-
- The ShallowClone property speeds up git clone and is optional in both cases.
-
-
-This project is part of ASP.NET Core. You can find samples, documentation and getting started instructions for ASP.NET Core at the [Home](https://github.com/aspnet/home) repo.
+This project is part of ASP.NET Core. You can find samples, documentation and getting started instructions for ASP.NET Core at the [Home](https://github.com/aspnet/home) repo.
\ No newline at end of file
diff --git a/build/Repositories.props b/build/Repositories.props
deleted file mode 100644
index 165c37c611..0000000000
--- a/build/Repositories.props
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
- dev
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/build/RepositoryBuild.targets b/build/RepositoryBuild.targets
index 119cc5b8b1..13b2d979b0 100644
--- a/build/RepositoryBuild.targets
+++ b/build/RepositoryBuild.targets
@@ -6,8 +6,7 @@
%(RepositoryToBuildInOrder.Identity)
RepositoryToBuild=%(RepositoryToBuildInOrder.Identity);
- BuildRepositoryRoot=%(RepositoryToBuildInOrder.RepositoryPath)\;
- CommitHash=%(RepositoryToBuildInOrder.Commit)
+ BuildRepositoryRoot=$([MSBuild]::NormalizeDirectory(%(RepositoryToBuildInOrder.RootPath)))
@@ -35,7 +34,7 @@
$(RepositoryBuildArguments) '/p:DotNetPackageVersionPropsPath=$(GeneratedPackageVersionPropsPath)'
$(RepositoryBuildArguments) '/p:CustomBeforeKoreBuildProps=$(MSBuildThisFileDirectory)repobuild\BeforeKoreBuild.props'
$(RepositoryBuildArguments) '/p:CustomAfterKoreBuildTargets=$(MSBuildThisFileDirectory)repobuild\AfterKoreBuild.targets'
- $(RepositoryBuildArguments) /p:BuildNumber=$(BuildNumber) /p:Configuration=$(Configuration) /p:CommitHash=$(CommitHash)
+ $(RepositoryBuildArguments) /p:BuildNumber=$(BuildNumber) /p:Configuration=$(Configuration)
$(RepositoryBuildArguments) /noconsolelogger '/l:RepoTasks.FlowLogger,$(MSBuildThisFileDirectory)tasks\bin\publish\RepoTasks.dll;Summary;FlowId=$(RepositoryToBuild)'
$(_RepositoryBuildTargets) $(RepositoryBuildArguments)
diff --git a/build/repo.props b/build/repo.props
index 40b83474b9..3c0277344d 100644
--- a/build/repo.props
+++ b/build/repo.props
@@ -1,6 +1,7 @@
+
diff --git a/build/repo.targets b/build/repo.targets
index 856c87bdd7..d907ee1eaf 100644
--- a/build/repo.targets
+++ b/build/repo.targets
@@ -3,20 +3,13 @@
+ $(RepositoryRoot)modules\
$(ArtifactsDir)lineups\
- false
- <_CloneRepositoryRoot>$(RepositoryRoot).r\
<_DependencyBuildDirectory>$(RepositoryRoot).deps\build\
<_DependencyLineupDir>$(RepositoryRoot).deps\lineups\
<_DependencyPackagesDirectory>$(_DependencyBuildDirectory)
<_RestoreGraphSpecsDirectory>$(IntermediateDir)package-specs\
- <_RepositoryListFileName>Repositories.props
- <_DefaultRepositoryList>$(MSBuildThisFileDirectory)$(_RepositoryListFileName)
- <_DependencyRepositoryList>$(_DependencyBuildDirectory)$(_RepositoryListFileName)
- <_RepositoryListToImport Condition="Exists('$(_DependencyRepositoryList)')">$(_DependencyRepositoryList)
- <_RepositoryListToImport Condition="!Exists('$(_DependencyRepositoryList)')">$(_DefaultRepositoryList)
-
<_RepositoryBuildTargets Condition="'$(_RepositoryBuildTargets)'=='' AND '$(CompileOnly)'=='true'">/t:Package /t:VerifyPackages
<_RepositoryBuildTargets Condition="'$(_RepositoryBuildTargets)'==''">/t:Build
@@ -26,20 +19,16 @@
$(IntermediateDir)ext\
$(IntermediateDir)dependencies.props
- $(PrepareDependsOn);VerifyPackageArtifactConfig;CleanArtifacts;CleanUniverseArtifacts
+ $(PrepareDependsOn);VerifyPackageArtifactConfig;CleanArtifacts;PrepareOutputPaths
$(RestoreDependsOn);RestoreExternalDependencies
- $(CleanDependsOn);CleanArtifacts;CleanUniverseArtifacts
- $(CompileDependsOn);CloneRepositories;BuildRepositories
+ $(CleanDependsOn);CleanArtifacts
+ $(CompileDependsOn);BuildRepositories
$(PackageDependsOn);CopyPackagesByCategory
$(VerifyDependsOn);VerifyCoherentVersions
-
-
-
-
-
-
+
+
@@ -49,21 +38,24 @@
+
+
+
-
+
@@ -113,104 +105,24 @@
-
-
-
-
-
-
- <_CloneOverHttps>true
- <_CloneOverHttps Condition="'$(UniverseCloneUrl)' != '' AND !$(UniverseCloneUrl.StartsWith('https'))">false
-
-
-
-
-
+
-
-
- <_CloneRepository Include="$(MSBuildProjectFullPath)">
-
- CloneRepository=%(Repository.Identity);
- CloneUrl=%(Repository.CloneUrl);
- CloneBranch=%(Repository.Branch);
- CloneRepositoryCommit=%(Repository.Commit);
- UseGateBranch=$(UseGateBranch)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- false
- <_CloneArguments>git clone --quiet $(CloneUrl) $(CloneRepository)
- <_CloneArguments Condition="'$(ShallowClone)'=='true'">$(_CloneArguments) --depth 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ DependsOnTargets="_PrepareRepositories;_UpdateNuGetConfig;_GenerateBuildGraph;_BuildRepositories" />
-
+
@@ -219,8 +131,8 @@
+ $(SubmoduleRoot)**\*.csproj;
+ $(SubmoduleRoot)**\dependencies.props" />
@@ -246,7 +158,7 @@
@@ -254,7 +166,7 @@
@@ -289,57 +201,4 @@
ExternalDependencies="@(ExternalDependency)" />
-
-
- $(BuildDir)$(_RepositoryListFileName)
-
-
-
-
-
-
-
-
-
-
-
-
- <_RepositoryName>$([System.String]::new('%(Repository.Identity)').Replace('.', '_'))
- <_CloneUrl>$([System.Environment]::GetEnvironmentVariable("BUILD_VCS_URL_$(_RepositoryName)"))
- <_CommitHash>$([System.Environment]::GetEnvironmentVariable("BUILD_VCS_NUMBER_$(_RepositoryName)"))
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <_CommitHash>
- <_CloneUrl>
-
-
-
diff --git a/build/submodules.props b/build/submodules.props
new file mode 100644
index 0000000000..2b15369e0c
--- /dev/null
+++ b/build/submodules.props
@@ -0,0 +1,55 @@
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build/tasks/BuildGraph/Repository.cs b/build/tasks/BuildGraph/Repository.cs
index c1e3e5c619..a72137739e 100644
--- a/build/tasks/BuildGraph/Repository.cs
+++ b/build/tasks/BuildGraph/Repository.cs
@@ -35,7 +35,7 @@ namespace RepoTools.BuildGraph
Parallel.For(0, repositoryPaths.Count, new ParallelOptions { MaxDegreeOfParallelism = 6 }, i =>
{
var repositoryPath = repositoryPaths[i];
- var repositoryName = Path.GetFileName(repositoryPath);
+ var repositoryName = Path.GetFileName(repositoryPath.TrimEnd(new [] { '\\', '/' }));
var repository = Read(provider, repositoryName, repositoryPath);
repositories[i] = repository;
});
diff --git a/build/tasks/CalculateBuildGraph.cs b/build/tasks/CalculateBuildGraph.cs
index 0c574f41dd..5d922f7d39 100644
--- a/build/tasks/CalculateBuildGraph.cs
+++ b/build/tasks/CalculateBuildGraph.cs
@@ -39,7 +39,7 @@ namespace RepoTasks
{
var graphSpecProvider = new DependencyGraphSpecProvider(PackageSpecsDirectory.Trim());
- var repositoryPaths = Repositories.Select(r => r.GetMetadata("RepositoryPath")).ToList();
+ var repositoryPaths = Repositories.Select(r => r.GetMetadata("RootPath")).ToList();
var repositories = Repository.ReadAllRepositories(repositoryPaths, graphSpecProvider);
var graph = GraphBuilder.Generate(repositories, StartGraphAt, Log);
diff --git a/modules/Antiforgery b/modules/Antiforgery
new file mode 160000
index 0000000000..e188458677
--- /dev/null
+++ b/modules/Antiforgery
@@ -0,0 +1 @@
+Subproject commit e1884586775c85e27f1b5f2dcad80ba1d84b2f21
diff --git a/modules/AzureIntegration b/modules/AzureIntegration
new file mode 160000
index 0000000000..c998d74e1d
--- /dev/null
+++ b/modules/AzureIntegration
@@ -0,0 +1 @@
+Subproject commit c998d74e1de26897dddaf3c2df7165341a4c0dbd
diff --git a/modules/BasicMiddleware b/modules/BasicMiddleware
new file mode 160000
index 0000000000..9f3ed006a1
--- /dev/null
+++ b/modules/BasicMiddleware
@@ -0,0 +1 @@
+Subproject commit 9f3ed006a12fdaddf2f5134cdc647433a0548946
diff --git a/modules/BrowserLink b/modules/BrowserLink
new file mode 160000
index 0000000000..7e2ff85a76
--- /dev/null
+++ b/modules/BrowserLink
@@ -0,0 +1 @@
+Subproject commit 7e2ff85a7622e20d697ed64936f8e4affb0865f7
diff --git a/modules/CORS b/modules/CORS
new file mode 160000
index 0000000000..8fd36866f9
--- /dev/null
+++ b/modules/CORS
@@ -0,0 +1 @@
+Subproject commit 8fd36866f9427b8a09cecdd6520ba54b064424c6
diff --git a/modules/Caching b/modules/Caching
new file mode 160000
index 0000000000..c6a9cbbe45
--- /dev/null
+++ b/modules/Caching
@@ -0,0 +1 @@
+Subproject commit c6a9cbbe4566d1d757b27d74a1aad5da8d12aed1
diff --git a/modules/Common b/modules/Common
new file mode 160000
index 0000000000..062ad3e7ca
--- /dev/null
+++ b/modules/Common
@@ -0,0 +1 @@
+Subproject commit 062ad3e7ca8fb86a471333864b6202926ea20aa5
diff --git a/modules/Configuration b/modules/Configuration
new file mode 160000
index 0000000000..94a5f9e3d1
--- /dev/null
+++ b/modules/Configuration
@@ -0,0 +1 @@
+Subproject commit 94a5f9e3d122cf1b01c3621130f70739efec1fb2
diff --git a/modules/DataProtection b/modules/DataProtection
new file mode 160000
index 0000000000..49b2e22ab3
--- /dev/null
+++ b/modules/DataProtection
@@ -0,0 +1 @@
+Subproject commit 49b2e22ab30239ed63d3f3b9478e7563e9a93ed9
diff --git a/modules/DependencyInjection b/modules/DependencyInjection
new file mode 160000
index 0000000000..88297e3c11
--- /dev/null
+++ b/modules/DependencyInjection
@@ -0,0 +1 @@
+Subproject commit 88297e3c1116f952aa22013172ef2f9396f716e0
diff --git a/modules/Diagnostics b/modules/Diagnostics
new file mode 160000
index 0000000000..7ac0e06abf
--- /dev/null
+++ b/modules/Diagnostics
@@ -0,0 +1 @@
+Subproject commit 7ac0e06abf822738437dba3bfc5b3b01325045f7
diff --git a/modules/DotNetTools b/modules/DotNetTools
new file mode 160000
index 0000000000..1836201bee
--- /dev/null
+++ b/modules/DotNetTools
@@ -0,0 +1 @@
+Subproject commit 1836201beecf81c3e2b4a50cc1666f5aa51f5786
diff --git a/modules/EntityFrameworkCore b/modules/EntityFrameworkCore
new file mode 160000
index 0000000000..e70d7daef7
--- /dev/null
+++ b/modules/EntityFrameworkCore
@@ -0,0 +1 @@
+Subproject commit e70d7daef78b7ef76f989277c0b63bc6a666acf6
diff --git a/modules/EventNotification b/modules/EventNotification
new file mode 160000
index 0000000000..3f881f18d8
--- /dev/null
+++ b/modules/EventNotification
@@ -0,0 +1 @@
+Subproject commit 3f881f18d811b65046c1df798d4d97c98aa39086
diff --git a/modules/FileSystem b/modules/FileSystem
new file mode 160000
index 0000000000..51e14a624c
--- /dev/null
+++ b/modules/FileSystem
@@ -0,0 +1 @@
+Subproject commit 51e14a624c5f32bd2df62adf06dbe558574b4b11
diff --git a/modules/Hosting b/modules/Hosting
new file mode 160000
index 0000000000..82ccf4f06e
--- /dev/null
+++ b/modules/Hosting
@@ -0,0 +1 @@
+Subproject commit 82ccf4f06e749d2044f3adb88e870b431341274f
diff --git a/modules/HtmlAbstractions b/modules/HtmlAbstractions
new file mode 160000
index 0000000000..d687617a35
--- /dev/null
+++ b/modules/HtmlAbstractions
@@ -0,0 +1 @@
+Subproject commit d687617a356b9a875ea5b09163ef9d443b4256bb
diff --git a/modules/HttpAbstractions b/modules/HttpAbstractions
new file mode 160000
index 0000000000..c0f937239a
--- /dev/null
+++ b/modules/HttpAbstractions
@@ -0,0 +1 @@
+Subproject commit c0f937239a0a099b73c67c96ab9e1c875952f67f
diff --git a/modules/HttpClientFactory b/modules/HttpClientFactory
new file mode 160000
index 0000000000..8a64334608
--- /dev/null
+++ b/modules/HttpClientFactory
@@ -0,0 +1 @@
+Subproject commit 8a643346089ce2356ac4bcc07f217f256004a00d
diff --git a/modules/HttpSysServer b/modules/HttpSysServer
new file mode 160000
index 0000000000..02331040a1
--- /dev/null
+++ b/modules/HttpSysServer
@@ -0,0 +1 @@
+Subproject commit 02331040a127954eadaa859777379af77f419183
diff --git a/modules/IISIntegration b/modules/IISIntegration
new file mode 160000
index 0000000000..94c895a1bd
--- /dev/null
+++ b/modules/IISIntegration
@@ -0,0 +1 @@
+Subproject commit 94c895a1bd1b9bba48ce496200fd386322fb6a74
diff --git a/modules/Identity b/modules/Identity
new file mode 160000
index 0000000000..52dfb02175
--- /dev/null
+++ b/modules/Identity
@@ -0,0 +1 @@
+Subproject commit 52dfb0217597ae18efd5958e380fe8e56cde3163
diff --git a/modules/JavaScriptServices b/modules/JavaScriptServices
new file mode 160000
index 0000000000..e583a17ef8
--- /dev/null
+++ b/modules/JavaScriptServices
@@ -0,0 +1 @@
+Subproject commit e583a17ef8381a15ae9f59635dae7e0cfbdd2aac
diff --git a/modules/JsonPatch b/modules/JsonPatch
new file mode 160000
index 0000000000..e453fafad5
--- /dev/null
+++ b/modules/JsonPatch
@@ -0,0 +1 @@
+Subproject commit e453fafad52649daff689c24fa2374a143f43654
diff --git a/modules/KestrelHttpServer b/modules/KestrelHttpServer
new file mode 160000
index 0000000000..0c34523e8b
--- /dev/null
+++ b/modules/KestrelHttpServer
@@ -0,0 +1 @@
+Subproject commit 0c34523e8b36be0236106aa174ede6aab9acce85
diff --git a/modules/Localization b/modules/Localization
new file mode 160000
index 0000000000..98484b8283
--- /dev/null
+++ b/modules/Localization
@@ -0,0 +1 @@
+Subproject commit 98484b828334f3914c3c2f723b4c98c7acb8f627
diff --git a/modules/Logging b/modules/Logging
new file mode 160000
index 0000000000..e8e3e707f5
--- /dev/null
+++ b/modules/Logging
@@ -0,0 +1 @@
+Subproject commit e8e3e707f5131e22d7d27fce6bfcefdda1dbb817
diff --git a/modules/MetaPackages b/modules/MetaPackages
new file mode 160000
index 0000000000..d63542ca31
--- /dev/null
+++ b/modules/MetaPackages
@@ -0,0 +1 @@
+Subproject commit d63542ca31614cff8a69c788d6fb1ebc8b0870f9
diff --git a/modules/Microsoft.Data.Sqlite b/modules/Microsoft.Data.Sqlite
new file mode 160000
index 0000000000..791993269c
--- /dev/null
+++ b/modules/Microsoft.Data.Sqlite
@@ -0,0 +1 @@
+Subproject commit 791993269cfbf97ec3fbdb5139d860ba61ef7396
diff --git a/modules/MusicStore b/modules/MusicStore
new file mode 160000
index 0000000000..1c0aeb08bb
--- /dev/null
+++ b/modules/MusicStore
@@ -0,0 +1 @@
+Subproject commit 1c0aeb08bb1ebd846726232226279bbe001782e1
diff --git a/modules/Mvc b/modules/Mvc
new file mode 160000
index 0000000000..2e4bc548f5
--- /dev/null
+++ b/modules/Mvc
@@ -0,0 +1 @@
+Subproject commit 2e4bc548f5921d2f4250314373473e453f3ca95b
diff --git a/modules/MvcPrecompilation b/modules/MvcPrecompilation
new file mode 160000
index 0000000000..00dd638c4f
--- /dev/null
+++ b/modules/MvcPrecompilation
@@ -0,0 +1 @@
+Subproject commit 00dd638c4ff35f53198ead9de7ccd40c26ec13c9
diff --git a/modules/Options b/modules/Options
new file mode 160000
index 0000000000..7e46634d3f
--- /dev/null
+++ b/modules/Options
@@ -0,0 +1 @@
+Subproject commit 7e46634d3fc19df60edadc00386034ccde8f54c9
diff --git a/modules/Proxy b/modules/Proxy
new file mode 160000
index 0000000000..0d1e231947
--- /dev/null
+++ b/modules/Proxy
@@ -0,0 +1 @@
+Subproject commit 0d1e2319472707ceaae2dab5a044764f7686b28e
diff --git a/modules/Razor b/modules/Razor
new file mode 160000
index 0000000000..6c7551d9c7
--- /dev/null
+++ b/modules/Razor
@@ -0,0 +1 @@
+Subproject commit 6c7551d9c7fc7a9e60d29ae6a39d46924960e6e6
diff --git a/modules/ResponseCaching b/modules/ResponseCaching
new file mode 160000
index 0000000000..85bd164189
--- /dev/null
+++ b/modules/ResponseCaching
@@ -0,0 +1 @@
+Subproject commit 85bd16418984058a4292f8071118d2794b8d8e07
diff --git a/modules/Routing b/modules/Routing
new file mode 160000
index 0000000000..bb413c6ac3
--- /dev/null
+++ b/modules/Routing
@@ -0,0 +1 @@
+Subproject commit bb413c6ac33fbc5bd5459033cb29afb3b002cdf2
diff --git a/modules/Scaffolding b/modules/Scaffolding
new file mode 160000
index 0000000000..d8f8670c7b
--- /dev/null
+++ b/modules/Scaffolding
@@ -0,0 +1 @@
+Subproject commit d8f8670c7b9fe467f9b20456549b19bee26f0e7d
diff --git a/modules/Security b/modules/Security
new file mode 160000
index 0000000000..88cb3df0eb
--- /dev/null
+++ b/modules/Security
@@ -0,0 +1 @@
+Subproject commit 88cb3df0ebdd524a8c56e74b740296941947fdff
diff --git a/modules/ServerTests b/modules/ServerTests
new file mode 160000
index 0000000000..f1e0205b9f
--- /dev/null
+++ b/modules/ServerTests
@@ -0,0 +1 @@
+Subproject commit f1e0205b9fedb29f0ea4901caf41acda56bdc597
diff --git a/modules/Session b/modules/Session
new file mode 160000
index 0000000000..a29e7cf687
--- /dev/null
+++ b/modules/Session
@@ -0,0 +1 @@
+Subproject commit a29e7cf687fef67e403f9909632e61fce4a7dbaa
diff --git a/modules/SignalR b/modules/SignalR
new file mode 160000
index 0000000000..2419867dfc
--- /dev/null
+++ b/modules/SignalR
@@ -0,0 +1 @@
+Subproject commit 2419867dfcda3b11a83a30de6559f1c44b3da38c
diff --git a/modules/StaticFiles b/modules/StaticFiles
new file mode 160000
index 0000000000..5248d6057c
--- /dev/null
+++ b/modules/StaticFiles
@@ -0,0 +1 @@
+Subproject commit 5248d6057c759e5944eb3d0a9088457081abb090
diff --git a/modules/Testing b/modules/Testing
new file mode 160000
index 0000000000..94569378d4
--- /dev/null
+++ b/modules/Testing
@@ -0,0 +1 @@
+Subproject commit 94569378d4e4fafa054560bfdc5a86b20d41553b
diff --git a/modules/WebSockets b/modules/WebSockets
new file mode 160000
index 0000000000..f17facd329
--- /dev/null
+++ b/modules/WebSockets
@@ -0,0 +1 @@
+Subproject commit f17facd32960ff7e0a64eac863cf444b98ea16d9
diff --git a/scripts/UpdateBuildTools.ps1 b/scripts/UpdateBuildTools.ps1
index 0c16b148b2..0308041774 100755
--- a/scripts/UpdateBuildTools.ps1
+++ b/scripts/UpdateBuildTools.ps1
@@ -1,4 +1,4 @@
-#!/usr/bin/env powershell
+#!/usr/bin/env pwsh
<#
.SYNOPSIS
diff --git a/scripts/UpdateRepos.ps1 b/scripts/UpdateRepos.ps1
old mode 100644
new mode 100755
index 0530979e1b..9fe5ec896a
--- a/scripts/UpdateRepos.ps1
+++ b/scripts/UpdateRepos.ps1
@@ -1,4 +1,4 @@
-#!/usr/bin/env powershell
+#!/usr/bin/env pwsh
<#
.SYNOPSIS
@@ -38,7 +38,7 @@ try {
Invoke-Block { & git submodule update --init }
$update_errors = @()
- $submodules = Get-Submodules $ModuleDirectory
+ $submodules = Get-Submodules $RepoRoot
$updated_submodules = @()
foreach($submodule in $submodules)
{
diff --git a/scripts/UpdateSubmodules.ps1 b/scripts/UpdateSubmodules.ps1
index 2ccdc8cdb9..5a64ed2006 100755
--- a/scripts/UpdateSubmodules.ps1
+++ b/scripts/UpdateSubmodules.ps1
@@ -1,4 +1,4 @@
-#!/usr/bin/env powershell
+#!/usr/bin/env pwsh
<#
.SYNOPSIS
@@ -36,65 +36,71 @@ function Get-GitChanges([string]$Path) {
return $LastExitCode -ne 0
}
+Push-Location $RepoRoot | Out-Null
try {
Assert-Git
+ Write-Host "Checking that submodules are in a clean state first..."
if (Get-GitChanges $ModuleDirectory) {
Write-Error "$RepoRoot/modules is in an unclean state. Reset submodules first by running ``git submodule update``"
exit 1
}
- $submodules = Get-Submodules $ModuleDirectory
+ $submodules = Get-Submodules $RepoRoot -Verbose:$VerbosePreference
- $changes = $submodules `
- | % {
- Push-Location $_.path
- try {
- $vcs_name = "BUILD_VCS_NUMBER_" + $_.module
- $newCommit = [environment]::GetEnvironmentVariable($vcs_name)
+ foreach ($submodule in $submodules) {
+ $submodulePath = $submodule.path
+ Write-Host "Updating $submodulePath"
- if($newCommit -eq $null)
- {
- Write-Warning "TeamCity env variable '$vcs_name' not found."
- Write-Warning "git submodule update --remote"
- Invoke-Block { & git submodule update --remote }
+ $vcs_name = "BUILD_VCS_NUMBER_" + $submodule.module
+ $newCommit = [environment]::GetEnvironmentVariable($vcs_name)
+
+ if (-not $newCommit) {
+ Write-Warning "TeamCity env variable '$vcs_name' not found. Pulling the latest submodule branch instead"
+ Invoke-Block { & git submodule update --remote $submodulePath }
+ Push-Location $submodulePath | Out-Null
+ try {
$newCommit = $(git rev-parse HEAD)
}
- else
- {
+ finally {
+ Pop-Location | Out-Null
+ }
+ }
+ else {
+ Push-Location $submodulePath | Out-Null
+ try {
Invoke-Block { & git checkout $newCommit }
}
-
- $_.newCommit = $newCommit
- if ($newCommit -ne $_.commit) {
- $_.changed = $true
- Write-Verbose "$($_.module) updated to $($_.newCommit)"
+ finally {
+ Pop-Location | Out-Null
}
- else {
- Write-Verbose "$($_.module) did not change"
- }
- return $_
}
- finally {
- Pop-Location
- }
- } `
- | ? { $_.changed } `
- | % { "$($_.module) to $($_.newCommit.Substring(0, 8))" }
- $submodules `
+ $submodule.newCommit = $newCommit
+ if ($newCommit -ne $submodule.commit) {
+ $submodule.changed = $true
+ Write-Host -ForegroundColor Cyan "`t=> $($submodule.module) updated to $($submodule.newCommit)"
+ }
+ else {
+ Write-Host -ForegroundColor Magenta "`t$($submodule.module) did not change"
+ }
+ }
+
+ $changes = $submodules `
| ? { $_.changed } `
| % {
Invoke-Block { & git add $_.path }
+ "$($_.module) => $($_.newCommit)"
}
if ($changes) {
- $shortMessage = "Updating submodule(s) $( $changes -join ' ,' )"
+ $shortMessage = "Updating submodule(s) `n`n$( $changes -join "`n" )"
# add this to the commit message to make it possible to filter commit triggers based on message
$message = "$shortMessage`n`n[auto-updated: submodules]"
if (-not $NoCommit -and ($Force -or ($PSCmdlet.ShouldContinue($shortMessage, 'Create a new commit with these changes?')))) {
Invoke-Block { & git commit -m $message @GitCommitArgs }
- } else {
+ }
+ else {
# If composing this script with others, return the message that would have been used
return @{
message = $message
diff --git a/scripts/common.psm1 b/scripts/common.psm1
index 9c08953171..3c78631d60 100644
--- a/scripts/common.psm1
+++ b/scripts/common.psm1
@@ -6,6 +6,7 @@ function Assert-Git {
}
function Invoke-Block([scriptblock]$cmd) {
+ $cmd | Out-String | Write-Verbose
& $cmd
# Need to check both of these cases for errors as they represent different items
@@ -16,15 +17,20 @@ function Invoke-Block([scriptblock]$cmd) {
}
}
-function Get-Submodules([string]$ModuleDirectory)
-{
- Invoke-Block { & git submodule update --init }
+function Get-Submodules {
+ param(
+ [Parameter(Mandatory = $true)]
+ [string]$RepoRoot
+ )
- $gitModules = Join-Path $RepoRoot ".gitmodules"
+ Invoke-Block { & git submodule update --init } | Out-Null
+
+ $moduleConfigFile = Join-Path $RepoRoot ".gitmodules"
$submodules = @()
- Get-ChildItem "$ModuleDirectory/*" -Directory | % {
- Push-Location $_
+ Get-ChildItem "$RepoRoot/modules/*" -Directory | % {
+ Push-Location $_ | Out-Null
+ Write-Verbose "Attempting to get submodule info for $_"
try {
$data = @{
path = $_
@@ -32,13 +38,13 @@ function Get-Submodules([string]$ModuleDirectory)
commit = $(git rev-parse HEAD)
newCommit = $null
changed = $false
- branch = $(git config -f $gitModules --get submodule.modules/$($_.Name).branch )
+ branch = $(git config -f $moduleConfigFile --get submodule.modules/$($_.Name).branch )
}
$submodules += $data
}
finally {
- Pop-Location
+ Pop-Location | Out-Null
}
}