From 7235918051266f1d75f82d4ab44a87de17aa8fdb Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 14 Nov 2017 14:22:38 -0800 Subject: [PATCH 01/93] Update templating to latest commit --- modules/Templating | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Templating b/modules/Templating index f0991b4e6d..18feba377f 160000 --- a/modules/Templating +++ b/modules/Templating @@ -1 +1 @@ -Subproject commit f0991b4e6daaf3acd0403b303b9b5142521a1572 +Subproject commit 18feba377f4d420a591c8320ca9170160f32060e From d7785d618702319eb83646b7ef24dfce0eab5f15 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 14 Nov 2017 15:26:51 -0800 Subject: [PATCH 02/93] Add tag repos script --- scripts/TagRepos.ps1 | 66 ++++++++++++++++++++++++++++++++++++++++++++ scripts/common.psm1 | 66 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100755 scripts/TagRepos.ps1 create mode 100644 scripts/common.psm1 diff --git a/scripts/TagRepos.ps1 b/scripts/TagRepos.ps1 new file mode 100755 index 0000000000..bd21163c6e --- /dev/null +++ b/scripts/TagRepos.ps1 @@ -0,0 +1,66 @@ +#!/usr/bin/env pwsh + +<# +.SYNOPSIS + Tags each repo according to VersionPrefix in version.props of that repo +.PARAMETER Push + Push all updated tags +.PARAMETER ForceUpdateTag + This will call git tag --force +#> +[cmdletbinding(SupportsShouldProcess = $true)] +param( + [switch]$Push = $false, + [switch]$ForceUpdateTag = $false +) + +Set-StrictMode -Version 2 +$ErrorActionPreference = 'Stop' + +Import-Module -Scope Local -Force "$PSScriptRoot/common.psm1" + +Assert-Git + +$RepoRoot = Resolve-Path "$PSScriptRoot/../" + +Get-Submodules $RepoRoot -Shipping | % { + Push-Location $_.path | Out-Null + try { + + if (-not $_.versionPrefix) { + Write-Warning "Could not determine tag version for $(_.path)" + } + else { + $tag = $_.versionPrefix + Write-Host "$($_.module) => $tag" + + $gitTagArgs = @() + if ($ForceUpdateTag) { + $gitTagArgs += '--force' + } + + Invoke-Block { & git tag @gitTagArgs $tag } + + if ($Push) { + $gitPushArgs = @() + if ($WhatIfPreference) { + $gitPushArgs += '--dry-run' + } + Invoke-Block { & git push --dry-run @gitPushArgs origin "refs/tags/${tag}" } + } + + if ($WhatIfPreference) { + Invoke-Block { & git tag -d $tag } | Out-Null + } + } + } + catch { + Write-Host -ForegroundColor Red "Could not update $_" + throw + } + finally { + Pop-Location + } +} + + diff --git a/scripts/common.psm1 b/scripts/common.psm1 new file mode 100644 index 0000000000..3eeca4b250 --- /dev/null +++ b/scripts/common.psm1 @@ -0,0 +1,66 @@ +function Assert-Git { + if (!(Get-Command git -ErrorAction Ignore)) { + Write-Error 'git is required to execute this script' + exit 1 + } +} + +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 + # - $?: did the powershell script block throw an error + # - $lastexitcode: did a windows command executed by the script block end in error + if ((-not $?) -or ($lastexitcode -ne 0)) { + Write-Warning $error[0] + throw "Command failed to execute: $cmd" + } +} + +function Get-Submodules { + param( + [Parameter(Mandatory = $true)] + [string]$RepoRoot, + [switch]$Shipping + ) + + $moduleConfigFile = Join-Path $RepoRoot ".gitmodules" + $submodules = @() + + [xml] $submoduleConfig = Get-Content "$RepoRoot/build/submodules.props" + $repos = $submoduleConfig.Project.ItemGroup.Repository | % { $_.Include } + + Get-ChildItem "$RepoRoot/modules/*" -Directory ` + | ? { (-not $Shipping) -or $($repos -contains $($_.Name)) -or $_.Name -eq 'Templating' } ` + | % { + Push-Location $_ | Out-Null + Write-Verbose "Attempting to get submodule info for $_" + + if (Test-Path 'version.props') { + [xml] $versionXml = Get-Content 'version.props' + $versionPrefix = $versionXml.Project.PropertyGroup.VersionPrefix + } else { + $versionPrefix = '' + } + + try { + $data = @{ + path = $_ + module = $_.Name + commit = $(git rev-parse HEAD) + newCommit = $null + changed = $false + branch = $(git config -f $moduleConfigFile --get submodule.modules/$($_.Name).branch ) + versionPrefix = $versionPrefix + } + + $submodules += $data + } + finally { + Pop-Location | Out-Null + } + } + + return $submodules +} From f58faa416b46ed880c3e052c61bd83fd19bdedbd Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 14 Nov 2017 16:02:56 -0800 Subject: [PATCH 03/93] Remove hard-coded --dry-run from TagRepos script --- scripts/TagRepos.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/TagRepos.ps1 b/scripts/TagRepos.ps1 index bd21163c6e..2bb595027c 100755 --- a/scripts/TagRepos.ps1 +++ b/scripts/TagRepos.ps1 @@ -46,7 +46,7 @@ Get-Submodules $RepoRoot -Shipping | % { if ($WhatIfPreference) { $gitPushArgs += '--dry-run' } - Invoke-Block { & git push --dry-run @gitPushArgs origin "refs/tags/${tag}" } + Invoke-Block { & git push @gitPushArgs origin "refs/tags/${tag}" } } if ($WhatIfPreference) { From 8f6f79bc47100f0ac3078a7cc82d0273408e5530 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 14 Nov 2017 16:20:16 -0800 Subject: [PATCH 04/93] Add script to list repo versions --- scripts/ListRepoVersions.ps1 | 23 +++++++++++++++++++++++ scripts/common.psm1 | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100755 scripts/ListRepoVersions.ps1 diff --git a/scripts/ListRepoVersions.ps1 b/scripts/ListRepoVersions.ps1 new file mode 100755 index 0000000000..62dfba8592 --- /dev/null +++ b/scripts/ListRepoVersions.ps1 @@ -0,0 +1,23 @@ +#!/usr/bin/env pwsh + +<# +.SYNOPSIS + Tags each repo according to VersionPrefix in version.props of that repo +.PARAMETER Shipping + Only list repos that are shipping +#> +[cmdletbinding(SupportsShouldProcess = $true)] +param( + [switch]$Shipping = $false +) + +Set-StrictMode -Version 2 +$ErrorActionPreference = 'Stop' + +Import-Module -Scope Local -Force "$PSScriptRoot/common.psm1" + +Assert-Git + +$RepoRoot = Resolve-Path "$PSScriptRoot/../" + +Get-Submodules $RepoRoot -Shipping:$Shipping | Format-Table -Property 'module','versionPrefix' diff --git a/scripts/common.psm1 b/scripts/common.psm1 index 3eeca4b250..5ed0f0ede7 100644 --- a/scripts/common.psm1 +++ b/scripts/common.psm1 @@ -45,7 +45,7 @@ function Get-Submodules { } try { - $data = @{ + $data = [PSCustomObject] @{ path = $_ module = $_.Name commit = $(git rev-parse HEAD) From 65906d361068a5c5fd163fd3170d6386ae5529b3 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 15 Nov 2017 16:01:02 -0800 Subject: [PATCH 05/93] Unify git submodules to point to the 'release/2.0.0' branch (#649) --- .gitmodules | 86 ++++++++++++++++++++++++++--------------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/.gitmodules b/.gitmodules index 297e22efd4..96f466b4e1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,172 +1,172 @@ [submodule "modules/Antiforgery"] path = modules/Antiforgery url = https://github.com/aspnet/Antiforgery.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/AzureIntegration"] path = modules/AzureIntegration url = https://github.com/aspnet/AzureIntegration.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/BasicMiddleware"] path = modules/BasicMiddleware url = https://github.com/aspnet/BasicMiddleware.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/BrowserLink"] path = modules/BrowserLink url = https://github.com/aspnet/BrowserLink.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/CORS"] path = modules/CORS url = https://github.com/aspnet/CORS.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/DataProtection"] path = modules/DataProtection url = https://github.com/aspnet/DataProtection.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/Diagnostics"] path = modules/Diagnostics url = https://github.com/aspnet/Diagnostics.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/EntityFrameworkCore"] path = modules/EntityFrameworkCore url = https://github.com/aspnet/EntityFrameworkCore.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/Hosting"] path = modules/Hosting url = https://github.com/aspnet/Hosting.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/HttpAbstractions"] path = modules/HttpAbstractions url = https://github.com/aspnet/HttpAbstractions.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/HttpSysServer"] path = modules/HttpSysServer url = https://github.com/aspnet/HttpSysServer.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/Identity"] path = modules/Identity url = https://github.com/aspnet/Identity.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/IISIntegration"] path = modules/IISIntegration url = https://github.com/aspnet/IISIntegration.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/JavaScriptServices"] path = modules/JavaScriptServices url = https://github.com/aspnet/JavaScriptServices.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/KestrelHttpServer"] path = modules/KestrelHttpServer url = https://github.com/aspnet/KestrelHttpServer.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/Localization"] path = modules/Localization url = https://github.com/aspnet/Localization.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/MetaPackages"] path = modules/MetaPackages url = https://github.com/aspnet/MetaPackages.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/Mvc"] path = modules/Mvc url = https://github.com/aspnet/Mvc.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/MvcPrecompilation"] path = modules/MvcPrecompilation url = https://github.com/aspnet/MvcPrecompilation.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/Proxy"] path = modules/Proxy url = https://github.com/aspnet/Proxy.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/Razor"] path = modules/Razor url = https://github.com/aspnet/Razor.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/ResponseCaching"] path = modules/ResponseCaching url = https://github.com/aspnet/ResponseCaching.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/Routing"] path = modules/Routing url = https://github.com/aspnet/Routing.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/Scaffolding"] path = modules/Scaffolding url = https://github.com/aspnet/Scaffolding.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/Security"] path = modules/Security url = https://github.com/aspnet/Security.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/ServerTests"] path = modules/ServerTests url = https://github.com/aspnet/ServerTests.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/Session"] path = modules/Session url = https://github.com/aspnet/Session.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/StaticFiles"] path = modules/StaticFiles url = https://github.com/aspnet/StaticFiles.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/WebSockets"] path = modules/WebSockets url = https://github.com/aspnet/WebSockets.git - branch = rel/2.0.1 + branch = release/2.0.0 [submodule "modules/Caching"] path = modules/Caching url = https://github.com/aspnet/Caching.git - branch = patch/2.0.1 + branch = release/2.0.0 [submodule "modules/Common"] path = modules/Common url = https://github.com/aspnet/Common.git - branch = patch/2.0.1 + branch = release/2.0.0 [submodule "modules/Configuration"] path = modules/Configuration url = https://github.com/aspnet/Configuration.git - branch = patch/2.0.1 + branch = release/2.0.0 [submodule "modules/DependencyInjection"] path = modules/DependencyInjection url = https://github.com/aspnet/DependencyInjection.git - branch = patch/2.0.1 + branch = release/2.0.0 [submodule "modules/DotNetTools"] path = modules/DotNetTools url = https://github.com/aspnet/DotNetTools.git - branch = patch/2.0.1 + branch = release/2.0.0 [submodule "modules/EventNotification"] path = modules/EventNotification url = https://github.com/aspnet/EventNotification.git - branch = patch/2.0.1 + branch = release/2.0.0 [submodule "modules/FileSystem"] path = modules/FileSystem url = https://github.com/aspnet/FileSystem.git - branch = patch/2.0.1 + branch = release/2.0.0 [submodule "modules/HtmlAbstractions"] path = modules/HtmlAbstractions url = https://github.com/aspnet/HtmlAbstractions.git - branch = patch/2.0.1 + branch = release/2.0.0 [submodule "modules/JsonPatch"] path = modules/JsonPatch url = https://github.com/aspnet/JsonPatch.git - branch = patch/2.0.1 + branch = release/2.0.0 [submodule "modules/Logging"] path = modules/Logging url = https://github.com/aspnet/Logging.git - branch = patch/2.0.1 + branch = release/2.0.0 [submodule "modules/Microsoft.Data.Sqlite"] path = modules/Microsoft.Data.Sqlite url = https://github.com/aspnet/Microsoft.Data.Sqlite.git - branch = patch/2.0.1 + branch = release/2.0.0 [submodule "modules/Options"] path = modules/Options url = https://github.com/aspnet/Options.git - branch = patch/2.0.1 + branch = release/2.0.0 [submodule "modules/Testing"] path = modules/Testing url = https://github.com/aspnet/Testing.git - branch = patch/2.0.1 + branch = release/2.0.0 [submodule "modules/Templating"] path = modules/Templating url = https://github.com/aspnet/Templating.git - branch = rel/2.0.3 + branch = release/2.0.0 From f7c3546b988ae2643b8b0cbdde6cb5cff3dc0e1a Mon Sep 17 00:00:00 2001 From: John Luo Date: Thu, 30 Nov 2017 12:57:15 -0800 Subject: [PATCH 06/93] LZMA update for 2.0.4 --- build/dependencies.props | 6 +++--- build/tools/templates/Archive/Archive.csproj | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index b58e80713a..d262b69550 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -202,18 +202,18 @@ - + KRB2004 NETStandardImplicitPackageVersion netstandard2.0 - + KRB2004 NETStandardLibraryPackageVersion net461 - + KRB2004 NETStandardLibraryPackageVersion diff --git a/build/tools/templates/Archive/Archive.csproj b/build/tools/templates/Archive/Archive.csproj index dec1f27375..eb51e5dbd4 100644 --- a/build/tools/templates/Archive/Archive.csproj +++ b/build/tools/templates/Archive/Archive.csproj @@ -5,6 +5,8 @@ netcoreapp2.0 false + true + true netcoreapp2.0 $(DotNetRestoreSources) $(RestoreSources);https://dotnet.myget.org/F/dotnet-core/api/v3/index.json; @@ -20,4 +22,8 @@ + + + + From d5ffe85bb906b05771228134e0f1fbdd32ea8414 Mon Sep 17 00:00:00 2001 From: John Luo Date: Thu, 30 Nov 2017 17:12:56 -0800 Subject: [PATCH 07/93] Build 2.0.4 Hosting installers --- build/RuntimeStoreInstaller.targets | 37 ++++++++++--------- .../packaging/hosting_debian_config.json | 2 +- version.props | 2 +- 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/build/RuntimeStoreInstaller.targets b/build/RuntimeStoreInstaller.targets index 08f6ecf3a8..33fc33992f 100644 --- a/build/RuntimeStoreInstaller.targets +++ b/build/RuntimeStoreInstaller.targets @@ -20,12 +20,12 @@ https://dotnetcli.blob.core.windows.net/dotnet $(KOREBUILD_DOTNET_FEED_UNCACHED) - $(PublicCoreFeedPrefix) + $(PublicCoreFeedPrefix) $(PublicCoreFeedPrefix)/aspnetcore/store/2.0.0-26452/Build.RS. $(CoreFeedPrefix)/Runtime/$(MicrosoftNETCoreApp20PackageVersion)/dotnet-runtime-$(MicrosoftNETCoreApp20PackageVersion)-linux-x64.tar.gz - $(_TimestampRSSource)aspnetcore-store-$(PackageVersion)-linux-x64.tar.gz - $(_TimestampFreeRSSource)aspnetcore-store-$(PackageVersionNoTimestamp)- + $(_TimestampRSSource)aspnetcore-store-2.0.3-rtm-125-linux-x64.tar.gz + $(_TimestampFreeRSSource)aspnetcore-store-2.0.3- $(TimestampFreeRSArchivePrefix)linux-x64.tar.gz @@ -47,7 +47,7 @@ - + Condition="!Exists('$(TimestampFreeRSArchivePrefix)win7-x86.zip')" /> --> @@ -71,7 +71,7 @@ MSBuild doesn't to the substitution correctly because the string contains %, so we'll let bash do it instead. --> - + @@ -307,14 +307,14 @@ 2.0.0 - - $(PackageVersion) + + 2.0.3-rtm-125 $(MicrosoftNETCoreApp20PackageVersion) - - $(PackageVersionNoTimestamp) + + 2.0.3 $(MicrosoftNETCoreApp20PackageVersion) @@ -368,18 +368,18 @@ - + - + - + - + @@ -409,6 +409,7 @@ + @@ -461,22 +462,22 @@ - + Properties="$(CommonRSArguments);RSArchive=$(TimestampFreeLinuxRSArchive);DebVersion=$(PackageVersionNoTimestamp)" /> --> + Properties="$(CommonHostingArguments);DebVersion=$(Version);StoreVersion=2.0.3-rtm-125" /> + Properties="$(CommonHostingArguments);DebVersion=$(PackageVersionNoTimestamp);StoreVersion=2.0.3" /> diff --git a/build/tools/packaging/hosting_debian_config.json b/build/tools/packaging/hosting_debian_config.json index 92c825e901..8159b4e25f 100644 --- a/build/tools/packaging/hosting_debian_config.json +++ b/build/tools/packaging/hosting_debian_config.json @@ -30,6 +30,6 @@ "debian_dependencies": { "dotnet-runtime-DOTNET_VERSION": {}, - "aspnetcore-store-DEB_VERSION": {} + "aspnetcore-store-STORE_VERSION": {} } } \ No newline at end of file diff --git a/version.props b/version.props index 9cccb9ea3e..ca922dba5c 100644 --- a/version.props +++ b/version.props @@ -1,6 +1,6 @@ - 2.0.3 + 2.0.4 rtm $(VersionPrefix) $(VersionPrefix) From cf7eccab5eec7d68ba3f9c201c5a109bb70036dd Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 1 Dec 2017 18:15:17 -0800 Subject: [PATCH 08/93] Add a design document for the bill of materials and build caching (#688) [ci skip] --- docs/BillOfMaterials.md | 171 ++++++++++++++++++++++++++++++++++++++++ docs/BuildCaching.md | 30 +++++++ 2 files changed, 201 insertions(+) create mode 100644 docs/BillOfMaterials.md create mode 100644 docs/BuildCaching.md diff --git a/docs/BillOfMaterials.md b/docs/BillOfMaterials.md new file mode 100644 index 0000000000..d56a05995e --- /dev/null +++ b/docs/BillOfMaterials.md @@ -0,0 +1,171 @@ +Bill of Materials +================= + +The bill of materials (bom) is a list of artifacts produced by the build. + +## Generating a new bom + +A new bill of materials is generated on each build and placed in `artifacts/bom.$(Version).xml`. + +In addition, this bill of materials can be produced without building the repo by running `build.ps1 -bom`. + +## Configuration data + +:x: The bom SHOULD NOT contain data that is for configuration. Configuration data is any kind of parameter that a consumer needs to find the artifact. + +Examples of ephemeral data: + + - File paths + - Download links + - Passwords + +## Format + +The bill of materials is an XML file. Here is a minimal example of a bom. + +```xml + + + + + + + + + + + + + + + + +``` + +### Elements + +#### `` + +Describes the build output. The root element of the document. + +Optional attributes: + - `Id` - a unique identifier describing this build. + - `Created` - a timestamp of when the build was created. + +#### `` + +Describes a group of artifacts + +Optional attributes: + - `Category` - an arbitrary category name. + +#### `` + +Describes a file produced by the build. + +Required attributes: + - `Id` - the file name of the artifact. Id MUST BE unique per each bill of materials. + - `Type` - an arbitrary string describing the semantic type of the artifact. + +Optional attributes: + - Others - any other attributes on the element are considered metadata values about the artifact. + +#### `` + +Describes artifact dependencies. + +#### `` + +Describes a dependency between two artifacts. + +Requried attributes + - `Source` - the artifact that has a dependency. This artifact MUST BE defined by an `` in the same `` + - `Target` - the thing it depends on. This artifact MAY OR MAY NOT be described in this ``. + It might have been produced in a previous build or be produced by a partner team. + +## Artifact types + +These are some common artifact types produced by the build. + + - NuGetPackage + - NuGetSymbolsPackage + - DebianPackage + - RedhatPackage + - ZipArchive + - TarGzArchive + - TextFile + - LzmaArchive + - TestBundle + +## Artifact categories + +Tools may use the category information to define how they handle different files. + +These are common categories for artifacts used in aspnet/Universe. + + - ship - used for files that will be published to NuGet.org, microsoft.com, or other official publication locations + - shipoob - used for files that will be distributed in other mechanism. + - noship - these files should not be published to partner teams or released publically. This may include test artifacts. + +## A more complete example + +```xml + + + + + + + + + + + + + + + + + + + + + + + + +``` + +### Example usage: signing + +In the example above, some of the `` items were marked `ShouldBeSigned="true"`. Our signing tool could use this as a way to +determine which files should be passed on to signing. + +### Example usage: metadata + +In the example above, some of the artifacts could contain data like FileHash, CommitHash, RepositoryUrl, BranchName, and others. +It is up to the consumer of the bom to define how to interpret and use this. + diff --git a/docs/BuildCaching.md b/docs/BuildCaching.md new file mode 100644 index 0000000000..6c746807b8 --- /dev/null +++ b/docs/BuildCaching.md @@ -0,0 +1,30 @@ +Build Caching +============= + +This repository can build the entire ASP.NET Core stack from scratch. However, in most cases, we only want to build part of the stack. + +## Building with cached artifacts + +This is the default behavior when `build.ps1` without arguments. + +This repository may contains files under `releases/*.xml`. These files follow the [Bill of Materials](./BillOfMaterials.md) format. +Any artifacts described in these bom's are assumed to have been built in a previous release and are available for download. +The build may use this information to skip building certain assets when a build action would produce a duplicate asset. + +## Disabling caching + +You can for the build to skip reading the bill of materials and build everything from scratch by calling `build.ps1 -NoCache`. +This will cause the build to always rebuild assets. + +## When to commit a new bill of material + +Each build will produce a new Bill of Materials (bom). Normally, this bom isn't added to source code right away. +This bom should only be committed to source once the assets it describes are published and available from caching mechanisms. + +## Caching mechanisms + +These are some common caching mechanisms used to store build artifacts. + + - NuGet servers. NuGet.org, MyGet.org, and file shares can be used to restore previously-built nupkg files + - Debian and RPM feeds. Some .deb and .rpm installers may be cached on https://packages.microsoft.com/repos. + - Azure blob feeds. Arbitrary build artifacts may be cached on https://aspnetcore.blob.core.windows.net/. From b07d405cc24565ba729b5cddbb67f71b78fe4c0c Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 6 Dec 2017 13:17:46 -0800 Subject: [PATCH 09/93] Update the templating submodule --- .gitmodules | 2 +- modules/Templating | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 96f466b4e1..cf4535ebdb 100644 --- a/.gitmodules +++ b/.gitmodules @@ -168,5 +168,5 @@ branch = release/2.0.0 [submodule "modules/Templating"] path = modules/Templating - url = https://github.com/aspnet/Templating.git + url = https://github.com/aspnet/Templating-Private.git branch = release/2.0.0 diff --git a/modules/Templating b/modules/Templating index 18feba377f..3a4c81dcc9 160000 --- a/modules/Templating +++ b/modules/Templating @@ -1 +1 @@ -Subproject commit 18feba377f4d420a591c8320ca9170160f32060e +Subproject commit 3a4c81dcc99fbfcb14d73994ac6255f6eced7ac1 From d6bbfa5f00f78a603a861421695fae18dd9f8e1a Mon Sep 17 00:00:00 2001 From: John Luo Date: Thu, 7 Dec 2017 14:50:39 -0800 Subject: [PATCH 10/93] Revert "Build 2.0.4 Hosting installers" This reverts commit d5ffe85bb906b05771228134e0f1fbdd32ea8414. --- build/RuntimeStoreInstaller.targets | 37 +++++++++---------- .../packaging/hosting_debian_config.json | 2 +- version.props | 2 +- 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/build/RuntimeStoreInstaller.targets b/build/RuntimeStoreInstaller.targets index 33fc33992f..08f6ecf3a8 100644 --- a/build/RuntimeStoreInstaller.targets +++ b/build/RuntimeStoreInstaller.targets @@ -20,12 +20,12 @@ https://dotnetcli.blob.core.windows.net/dotnet $(KOREBUILD_DOTNET_FEED_UNCACHED) - $(PublicCoreFeedPrefix) + $(PublicCoreFeedPrefix) $(PublicCoreFeedPrefix)/aspnetcore/store/2.0.0-26452/Build.RS. $(CoreFeedPrefix)/Runtime/$(MicrosoftNETCoreApp20PackageVersion)/dotnet-runtime-$(MicrosoftNETCoreApp20PackageVersion)-linux-x64.tar.gz - $(_TimestampRSSource)aspnetcore-store-2.0.3-rtm-125-linux-x64.tar.gz - $(_TimestampFreeRSSource)aspnetcore-store-2.0.3- + $(_TimestampRSSource)aspnetcore-store-$(PackageVersion)-linux-x64.tar.gz + $(_TimestampFreeRSSource)aspnetcore-store-$(PackageVersionNoTimestamp)- $(TimestampFreeRSArchivePrefix)linux-x64.tar.gz @@ -47,7 +47,7 @@ - + Condition="!Exists('$(TimestampFreeRSArchivePrefix)win7-x86.zip')" /> @@ -71,7 +71,7 @@ MSBuild doesn't to the substitution correctly because the string contains %, so we'll let bash do it instead. --> - + @@ -307,14 +307,14 @@ 2.0.0 - - 2.0.3-rtm-125 + + $(PackageVersion) $(MicrosoftNETCoreApp20PackageVersion) - - 2.0.3 + + $(PackageVersionNoTimestamp) $(MicrosoftNETCoreApp20PackageVersion) @@ -368,18 +368,18 @@ - + - + - + - + @@ -409,7 +409,6 @@ - @@ -462,22 +461,22 @@ - + Properties="$(CommonRSArguments);RSArchive=$(TimestampFreeLinuxRSArchive);DebVersion=$(PackageVersionNoTimestamp)" /> + Properties="$(CommonHostingArguments);DebVersion=$(Version)" /> + Properties="$(CommonHostingArguments);DebVersion=$(PackageVersionNoTimestamp)" /> diff --git a/build/tools/packaging/hosting_debian_config.json b/build/tools/packaging/hosting_debian_config.json index 8159b4e25f..92c825e901 100644 --- a/build/tools/packaging/hosting_debian_config.json +++ b/build/tools/packaging/hosting_debian_config.json @@ -30,6 +30,6 @@ "debian_dependencies": { "dotnet-runtime-DOTNET_VERSION": {}, - "aspnetcore-store-STORE_VERSION": {} + "aspnetcore-store-DEB_VERSION": {} } } \ No newline at end of file diff --git a/version.props b/version.props index ca922dba5c..9cccb9ea3e 100644 --- a/version.props +++ b/version.props @@ -1,6 +1,6 @@ - 2.0.4 + 2.0.3 rtm $(VersionPrefix) $(VersionPrefix) From 554c3310e34031c1a991fc0f9c197ebc40037100 Mon Sep 17 00:00:00 2001 From: John Luo Date: Thu, 7 Dec 2017 15:54:51 -0800 Subject: [PATCH 11/93] Updates for 2.0.5 installers --- build/RuntimeStoreInstaller.targets | 11 +++++------ version.props | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/build/RuntimeStoreInstaller.targets b/build/RuntimeStoreInstaller.targets index 08f6ecf3a8..315cde6a0c 100644 --- a/build/RuntimeStoreInstaller.targets +++ b/build/RuntimeStoreInstaller.targets @@ -22,7 +22,7 @@ $(KOREBUILD_DOTNET_FEED_UNCACHED) $(PublicCoreFeedPrefix) - $(PublicCoreFeedPrefix)/aspnetcore/store/2.0.0-26452/Build.RS. + $(PublicCoreFeedPrefix)/aspnetcore/store/2.0.3-125/Build.RS. $(CoreFeedPrefix)/Runtime/$(MicrosoftNETCoreApp20PackageVersion)/dotnet-runtime-$(MicrosoftNETCoreApp20PackageVersion)-linux-x64.tar.gz $(_TimestampRSSource)aspnetcore-store-$(PackageVersion)-linux-x64.tar.gz $(_TimestampFreeRSSource)aspnetcore-store-$(PackageVersionNoTimestamp)- @@ -72,7 +72,7 @@ so we'll let bash do it instead. --> - + @@ -140,9 +140,9 @@ - - - + + + @@ -490,7 +490,6 @@ - diff --git a/version.props b/version.props index 9cccb9ea3e..bc7193fb8e 100644 --- a/version.props +++ b/version.props @@ -1,6 +1,6 @@ - 2.0.3 + 2.0.5 rtm $(VersionPrefix) $(VersionPrefix) From 3bc3ca2a415579ba31524450621a05fed67229ab Mon Sep 17 00:00:00 2001 From: John Luo Date: Thu, 7 Dec 2017 16:00:32 -0800 Subject: [PATCH 12/93] Add 2.0.3 manifests to all metapackage --- .../build/aspnetcore-store-2.0.3.xml | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.3.xml diff --git a/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.3.xml b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.3.xml new file mode 100644 index 0000000000..da9ec336b4 --- /dev/null +++ b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.3.xml @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 0ade3698b4a195296f6dcd451c22fba35ed6dc0d Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 10 Nov 2017 13:46:15 -0800 Subject: [PATCH 13/93] Identify the difference between skipped and shipped repositories --- build/repo.targets | 8 +++++--- build/tasks/AnalyzeBuildGraph.cs | 2 +- build/tasks/ProjectModel/SolutionInfo.cs | 4 +++- build/tasks/ProjectModel/SolutionInfoFactory.cs | 4 +++- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/build/repo.targets b/build/repo.targets index c4042084bc..b4329c0155 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -110,7 +110,8 @@ Targets="ResolveSolutions" Properties="RepositoryRoot=%(Repository.RootPath);Configuration=$(Configuration);BuildNumber=$(BuildNumber)" ContinueOnError="WarnAndContinue"> - + + https://dotnet.myget.org/F/dotnet-core/api/v3/index.json - 2.0.2-servicing-25728-02 - 2.0.0 + 2.0.3 + 2.0.1 $(CoreSetupPackageVersion) - - - - - - RuntimeFrameworkVersion - netcoreapp2.0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -153,6 +112,53 @@ + + + + + KRB2004 + RuntimeFrameworkVersion + netcoreapp2.0 + + + KRB2004 + MicrosoftNETCoreApp20PackageVersion + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -290,6 +296,116 @@ not building again in this patch. --> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -338,9 +454,24 @@ not building again in this patch. - https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json + https://dotnet.myget.org/F/aspnet-2-0-2-october2017-patch-public/api/v3/index.json + + + + + + + + + + + + + https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json + + diff --git a/build/repo.targets b/build/repo.targets index b4329c0155..fdbc47fecd 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -142,6 +142,12 @@ + + + + + true + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/tasks/AnalyzeBuildGraph.cs b/build/tasks/AnalyzeBuildGraph.cs index 4a5555b82f..550bca775f 100644 --- a/build/tasks/AnalyzeBuildGraph.cs +++ b/build/tasks/AnalyzeBuildGraph.cs @@ -59,9 +59,12 @@ namespace RepoTasks var factory = new SolutionInfoFactory(Log, BuildEngine5); var props = MSBuildListSplitter.GetNamedProperties(Properties); - Log.LogMessage(MessageImportance.High, $"Beginning cross-repo analysis on {Solutions.Length} solutions. Hang tight..."); + if (!props.TryGetValue("Configuration", out var defaultConfig)) + { + defaultConfig = "Debug"; + } - var solutions = factory.Create(Solutions, props, _cts.Token); + var solutions = factory.Create(Solutions, props, defaultConfig, _cts.Token); Log.LogMessage($"Found {solutions.Count} and {solutions.Sum(p => p.Projects.Count)} projects"); if (_cts.IsCancellationRequested) diff --git a/build/tasks/CheckRepoGraph.cs b/build/tasks/CheckRepoGraph.cs new file mode 100644 index 0000000000..5502d7316c --- /dev/null +++ b/build/tasks/CheckRepoGraph.cs @@ -0,0 +1,214 @@ +// Copyright (c) .NET Foundation. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.IO; +using System.Text; +using System.Threading; +using Microsoft.Build.Framework; +using Microsoft.Build.Utilities; +using NuGet.Frameworks; +using NuGet.Packaging.Core; +using NuGet.Versioning; +using RepoTools.BuildGraph; +using RepoTasks.ProjectModel; +using RepoTasks.Utilities; + +namespace RepoTasks +{ + public class CheckRepoGraph : Task, ICancelableTask + { + private readonly CancellationTokenSource _cts = new CancellationTokenSource(); + + [Required] + public ITaskItem[] Solutions { get; set; } + + [Required] + public ITaskItem[] Artifacts { get; set; } + + [Required] + public ITaskItem[] Repositories { get; set; } + + [Required] + public string Properties { get; set; } + + public void Cancel() + { + _cts.Cancel(); + } + + public override bool Execute() + { + var packageArtifacts = Artifacts.Select(ArtifactInfo.Parse) + .OfType() + .Where(p => !p.IsSymbolsArtifact) + .ToDictionary(p => p.PackageInfo.Id, p => p, StringComparer.OrdinalIgnoreCase); + + var factory = new SolutionInfoFactory(Log, BuildEngine5); + var props = MSBuildListSplitter.GetNamedProperties(Properties); + + if (!props.TryGetValue("Configuration", out var defaultConfig)) + { + defaultConfig = "Debug"; + } + + var solutions = factory.Create(Solutions, props, defaultConfig, _cts.Token).OrderBy(f => f.Directory).ToList(); + Log.LogMessage($"Found {solutions.Count} and {solutions.Sum(p => p.Projects.Count)} projects"); + + if (_cts.IsCancellationRequested) + { + return false; + } + + var repoGraph = new AdjacencyMatrix(solutions.Count); + var packageToProjectMap = new Dictionary(); + + for (var i = 0; i < solutions.Count; i++) + { + var sln = repoGraph[i] = solutions[i]; + + foreach (var proj in sln.Projects) + { + if (!proj.IsPackable + || proj.FullPath.Contains("samples") + || proj.FullPath.Contains("tools/Microsoft.VisualStudio.Web.CodeGeneration.Design")) + { + continue; + } + + var id = new PackageIdentity(proj.PackageId, new NuGetVersion(proj.PackageVersion)); + + if (packageToProjectMap.TryGetValue(id, out var otherProj)) + { + Log.LogError($"Both {proj.FullPath} and {otherProj.FullPath} produce {id}"); + continue; + } + + packageToProjectMap.Add(id, proj); + } + + var sharedSrc = Path.Combine(sln.Directory, "shared"); + if (Directory.Exists(sharedSrc)) + { + foreach (var dir in Directory.GetDirectories(sharedSrc, "*.Sources")) + { + var id = GetDirectoryName(dir); + var artifactInfo = packageArtifacts[id]; + var sharedSrcProj = new ProjectInfo(dir, + Array.Empty(), + Array.Empty(), + true, + artifactInfo.PackageInfo.Id, + artifactInfo.PackageInfo.Version.ToNormalizedString()); + sharedSrcProj.SolutionInfo = sln; + var identity = new PackageIdentity(artifactInfo.PackageInfo.Id, artifactInfo.PackageInfo.Version); + packageToProjectMap.Add(identity, sharedSrcProj); + } + } + } + + if (Log.HasLoggedErrors) + { + return false; + } + + for (var i = 0; i < solutions.Count; i++) + { + var src = repoGraph[i]; + + foreach (var proj in src.Projects) + { + if (!proj.IsPackable + || proj.FullPath.Contains("samples")) + { + continue; + } + + foreach (var dep in proj.Frameworks.SelectMany(f => f.Dependencies.Values)) + { + if (packageToProjectMap.TryGetValue(new PackageIdentity(dep.Id, new NuGetVersion(dep.Version)), out var target)) + { + var j = repoGraph.FindIndex(target.SolutionInfo); + repoGraph.SetLink(i, j); + } + } + + foreach (var toolDep in proj.Tools) + { + if (packageToProjectMap.TryGetValue(new PackageIdentity(toolDep.Id, new NuGetVersion(toolDep.Version)), out var target)) + { + var j = repoGraph.FindIndex(target.SolutionInfo); + repoGraph.SetLink(i, j); + } + } + } + } + + var repos = Repositories.ToDictionary(i => i.ItemSpec, i => i, StringComparer.OrdinalIgnoreCase); + + for (var i = 0; i < repoGraph.Count; i++) + { + var src = repoGraph[i]; + var repoName = GetDirectoryName(src.Directory); + var repo = repos[repoName]; + + for (var j = 0; j < repoGraph.Count; j++) + { + if (j == i) continue; + if (repoGraph.HasLink(i, j)) + { + var target = repoGraph[j]; + var targetRepoName = GetDirectoryName(target.Directory); + var targetRepo = repos[targetRepoName]; + + if (src.Shipped && !target.Shipped) + { + Log.LogError($"{repoName} cannot depend on {targetRepoName}. Repos marked as 'Shipped' cannot depend on repos that are rebuilding. Update the configuration in submodule.props."); + } + } + } + } + + return !Log.HasLoggedErrors; + } + + private static string GetDirectoryName(string path) + => Path.GetFileName(path.TrimEnd(new[] { '\\', '/' })); + + private class AdjacencyMatrix + { + private readonly bool[,] _matrix; + private readonly SolutionInfo[] _items; + + public AdjacencyMatrix(int size) + { + _matrix = new bool[size, size]; + _items = new SolutionInfo[size]; + Count = size; + } + + public SolutionInfo this[int idx] + { + get => _items[idx]; + set => _items[idx] = value; + } + + public int FindIndex(SolutionInfo item) + { + return Array.FindIndex(_items, t => t.Equals(item)); + } + + public int Count { get; } + + public bool HasLink(int source, int target) => _matrix[source, target]; + + public void SetLink(int source, int target) + { + _matrix[source, target] = true; + } + } + } +} diff --git a/build/tasks/ProjectModel/ProjectInfo.cs b/build/tasks/ProjectModel/ProjectInfo.cs index 1dd4339185..9aed38898b 100644 --- a/build/tasks/ProjectModel/ProjectInfo.cs +++ b/build/tasks/ProjectModel/ProjectInfo.cs @@ -10,7 +10,6 @@ namespace RepoTasks.ProjectModel internal class ProjectInfo { public ProjectInfo(string fullPath, - string projectExtensionsPath, IReadOnlyList frameworks, IReadOnlyList tools, bool isPackable, @@ -28,7 +27,6 @@ namespace RepoTasks.ProjectModel FullPath = fullPath; FileName = Path.GetFileName(fullPath); Directory = Path.GetDirectoryName(FullPath); - ProjectExtensionsPath = projectExtensionsPath ?? Path.Combine(Directory, "obj"); IsPackable = isPackable; PackageId = packageId; PackageVersion = packageVersion; @@ -36,7 +34,6 @@ namespace RepoTasks.ProjectModel public string FullPath { get; } public string FileName { get; } - public string ProjectExtensionsPath { get; } public string Directory { get; } public string PackageId { get; } public string PackageVersion { get; } @@ -44,5 +41,6 @@ namespace RepoTasks.ProjectModel public IReadOnlyList Frameworks { get; } public IReadOnlyList Tools { get; } + public SolutionInfo SolutionInfo { get; internal set; } } } diff --git a/build/tasks/ProjectModel/ProjectInfoFactory.cs b/build/tasks/ProjectModel/ProjectInfoFactory.cs index 5c739f1784..78d5adc5fd 100644 --- a/build/tasks/ProjectModel/ProjectInfoFactory.cs +++ b/build/tasks/ProjectModel/ProjectInfoFactory.cs @@ -27,7 +27,6 @@ namespace RepoTasks.ProjectModel { var project = GetProject(path, projectCollection); var instance = project.CreateProjectInstance(ProjectInstanceSettings.ImmutableWithFastItemLookup); - var projExtPath = instance.GetPropertyValue("MSBuildProjectExtensionsPath"); var targetFrameworks = instance.GetPropertyValue("TargetFrameworks"); var targetFramework = instance.GetPropertyValue("TargetFramework"); @@ -59,11 +58,17 @@ namespace RepoTasks.ProjectModel var tools = GetTools(instance).ToArray(); bool.TryParse(instance.GetPropertyValue("IsPackable"), out var isPackable); + + if (isPackable) + { + // the default packable setting is disabled for projects referencing this package. + isPackable = !frameworks.SelectMany(f => f.Dependencies.Keys).Any(d => d.Equals("Microsoft.NET.Test.Sdk", StringComparison.OrdinalIgnoreCase)); + } + var packageId = instance.GetPropertyValue("PackageId"); var packageVersion = instance.GetPropertyValue("PackageVersion"); return new ProjectInfo(path, - projExtPath, frameworks, tools, isPackable, @@ -88,6 +93,8 @@ namespace RepoTasks.ProjectModel var globalProps = new Dictionary() { ["DesignTimeBuild"] = "true", + // Isolate the project from post-restore side effects + ["ExcludeRestorePackageImports"] = "true", }; var project = new Project(xml, diff --git a/build/tasks/ProjectModel/SolutionInfo.cs b/build/tasks/ProjectModel/SolutionInfo.cs index 8b9710081e..dce2f0bdd3 100644 --- a/build/tasks/ProjectModel/SolutionInfo.cs +++ b/build/tasks/ProjectModel/SolutionInfo.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using System.IO; namespace RepoTasks.ProjectModel { @@ -20,13 +21,20 @@ namespace RepoTasks.ProjectModel throw new ArgumentException(nameof(configName)); } + Directory = Path.GetDirectoryName(fullPath); FullPath = fullPath; ConfigName = configName; Projects = projects ?? throw new ArgumentNullException(nameof(projects)); ShouldBuild = shouldBuild; Shipped = shipped; + + foreach (var proj in Projects) + { + proj.SolutionInfo = this; + } } + public string Directory { get; } public string FullPath { get; } public string ConfigName { get; } public IReadOnlyList Projects { get; } diff --git a/build/tasks/ProjectModel/SolutionInfoFactory.cs b/build/tasks/ProjectModel/SolutionInfoFactory.cs index 91de1c818c..c24475f7c2 100644 --- a/build/tasks/ProjectModel/SolutionInfoFactory.cs +++ b/build/tasks/ProjectModel/SolutionInfoFactory.cs @@ -27,7 +27,7 @@ namespace RepoTasks.ProjectModel _buildEngine = buildEngine; } - public IReadOnlyList Create(IEnumerable solutionItems, IDictionary properties, CancellationToken ct) + public IReadOnlyList Create(IEnumerable solutionItems, IDictionary properties, string defaultConfig, CancellationToken ct) { var timer = Stopwatch.StartNew(); @@ -49,7 +49,7 @@ namespace RepoTasks.ProjectModel if (solutionProps.TryGetValue("Configuration", out var configName)) { - solutionProps["Configuration"] = configName = "Debug"; + solutionProps["Configuration"] = configName = defaultConfig; } var key = $"SlnInfo:{solutionFile}:{configName}"; diff --git a/build/tasks/RepoTasks.tasks b/build/tasks/RepoTasks.tasks index 5410effb57..569b766901 100644 --- a/build/tasks/RepoTasks.tasks +++ b/build/tasks/RepoTasks.tasks @@ -4,6 +4,7 @@ + diff --git a/modules/Identity b/modules/Identity index 8c47b90677..becf1df9c5 160000 --- a/modules/Identity +++ b/modules/Identity @@ -1 +1 @@ -Subproject commit 8c47b90677c0f544844151418ba94f24d9f2a094 +Subproject commit becf1df9c5a3b908e28ec3c1272b072d8801e3dc diff --git a/modules/JavaScriptServices b/modules/JavaScriptServices index 64389a9bbe..d5a664e481 160000 --- a/modules/JavaScriptServices +++ b/modules/JavaScriptServices @@ -1 +1 @@ -Subproject commit 64389a9bbeda7378c80b4c302700ddcb78d4f0aa +Subproject commit d5a664e4817a395cbafec942387162b5afeba7bf diff --git a/modules/Mvc b/modules/Mvc index f8789f5d5c..7cea779b7a 160000 --- a/modules/Mvc +++ b/modules/Mvc @@ -1 +1 @@ -Subproject commit f8789f5d5c4d5869490a05b8f7250b6151f1673e +Subproject commit 7cea779b7a744a3d915aa207a760f6f7b9c6dccc diff --git a/modules/MvcPrecompilation b/modules/MvcPrecompilation index bc58d8495a..f510e70340 160000 --- a/modules/MvcPrecompilation +++ b/modules/MvcPrecompilation @@ -1 +1 @@ -Subproject commit bc58d8495a431d3de606afc52c2987d1ebf1e6ad +Subproject commit f510e7034000e346f6771197d30aaf791ce2bf48 diff --git a/modules/Scaffolding b/modules/Scaffolding index 26822d4c87..069ca26129 160000 --- a/modules/Scaffolding +++ b/modules/Scaffolding @@ -1 +1 @@ -Subproject commit 26822d4c876ee6203014eaf6df398c874c4535ea +Subproject commit 069ca2612999a49e2b19099f21d8196f422c82de diff --git a/modules/Templating b/modules/Templating index 3a4c81dcc9..16c23b846e 160000 --- a/modules/Templating +++ b/modules/Templating @@ -1 +1 @@ -Subproject commit 3a4c81dcc99fbfcb14d73994ac6255f6eced7ac1 +Subproject commit 16c23b846ec57803e83c7e1bffc9c24546fe1de4 From 49c952a0352a55f54d77159617849796ac156e8e Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 8 Dec 2017 00:05:32 -0800 Subject: [PATCH 15/93] Update build tools to 2.0.3-rtm-10005 --- build.ps1 | 12 ++++- build.sh | 9 ++++ build/RepositoryBuild.targets | 5 +- build/Templating.targets | 5 +- build/dependencies.props | 2 +- build/repo.props | 2 + build/repo.targets | 7 +++ korebuild-lock.txt | 4 +- korebuild.json | 4 +- scripts/PatchVersionPrefix.ps1 | 66 +++++++++++++++++++++++ scripts/UpdateBuildTools.ps1 | 96 ++++++++++++++++++++++++++++++++++ 11 files changed, 201 insertions(+), 11 deletions(-) create mode 100644 scripts/PatchVersionPrefix.ps1 create mode 100644 scripts/UpdateBuildTools.ps1 diff --git a/build.ps1 b/build.ps1 index b7081bc1c2..9c8dda267e 100644 --- a/build.ps1 +++ b/build.ps1 @@ -23,6 +23,9 @@ The base url where build tools can be downloaded. Overrides the value from the c .PARAMETER Update Updates KoreBuild to the latest version even if a lock file is present. +.PARAMETER Reinstall +Re-installs KoreBuild + .PARAMETER ConfigFile The path to the configuration file that stores values. Defaults to version.props. @@ -57,6 +60,7 @@ param( [string]$ToolsSource, [Alias('u')] [switch]$Update, + [switch]$Reinstall, [string]$ConfigFile = $null, [Parameter(ValueFromRemainingArguments = $true)] [string[]]$MSBuildArgs @@ -84,6 +88,10 @@ function Get-KoreBuild { $version = $version.TrimStart('version:').Trim() $korebuildPath = Join-Paths $DotNetHome ('buildtools', 'korebuild', $version) + if ($Reinstall -and (Test-Path $korebuildPath)) { + Remove-Item -Force -Recurse $korebuildPath + } + if (!(Test-Path $korebuildPath)) { Write-Host -ForegroundColor Magenta "Downloading KoreBuild $version" New-Item -ItemType Directory -Path $korebuildPath | Out-Null @@ -103,11 +111,11 @@ function Get-KoreBuild { } } catch { - remove-item -Recurse -Force $korebuildPath -ErrorAction Ignore + Remove-Item -Recurse -Force $korebuildPath -ErrorAction Ignore throw } finally { - remove-item $tmpfile -ErrorAction Ignore + Remove-Item $tmpfile -ErrorAction Ignore } } diff --git a/build.sh b/build.sh index 14d84a8773..77169b3d91 100755 --- a/build.sh +++ b/build.sh @@ -15,6 +15,7 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" config_file="$DIR/korebuild.json" verbose=false update=false +reinstall=false repo_path="$DIR" channel='' tools_source='' @@ -36,6 +37,7 @@ __usage() { echo " --path The directory to build. Defaults to the directory containing the script." echo " -s|--tools-source The base url where build tools can be downloaded. Overrides the value from the config file." echo " -u|--update Update to the latest KoreBuild even if the lock file is present." + echo " --reinstall Reinstall KoreBuild." 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." @@ -60,6 +62,10 @@ get_korebuild() { version="$(echo "${version#version:}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')" local korebuild_path="$DOTNET_HOME/buildtools/korebuild/$version" + if [ "$reinstall" = true ] && [ -d "$korebuild_path" ]; then + rm -rf "$korebuild_path" + fi + { if [ ! -d "$korebuild_path" ]; then mkdir -p "$korebuild_path" @@ -164,6 +170,9 @@ while [[ $# -gt 0 ]]; do -u|--update|-Update) update=true ;; + --reinstall|-[Rr]einstall) + reinstall=true + ;; --verbose|-Verbose) verbose=true ;; diff --git a/build/RepositoryBuild.targets b/build/RepositoryBuild.targets index 9c5cd93425..e46c3a157b 100644 --- a/build/RepositoryBuild.targets +++ b/build/RepositoryBuild.targets @@ -43,10 +43,11 @@ $(RepositoryBuildArguments) /p:DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcesPropsPath) $(RepositoryBuildArguments) /p:DotNetPackageVersionPropsPath=$(GeneratedPackageVersionPropsPath) - $(RepositoryBuildArguments) /p:BuildNumber=$(BuildNumber) /p:Configuration=$(Configuration) + $(RepositoryBuildArguments) /p:BuildNumber=$(BuildNumber) + $(RepositoryBuildArguments) /p:Configuration=$(Configuration) $(RepositoryBuildArguments) /noconsolelogger '/l:RepoTasks.FlowLogger,$(MSBuildThisFileDirectory)tasks\bin\publish\RepoTasks.dll;Summary;FlowId=$(RepositoryToBuild)' - $(_RepositoryBuildTargets) $(RepositoryBuildArguments) + /t:CleanArtifacts $(_RepositoryBuildTargets) $(RepositoryBuildArguments) $(BuildRepositoryRoot)artifacts $(RepositoryArtifactsRoot)\build\ $(RepositoryArtifactsRoot)\msbuild\ diff --git a/build/Templating.targets b/build/Templating.targets index d7592be916..24dc7eef78 100644 --- a/build/Templating.targets +++ b/build/Templating.targets @@ -11,6 +11,7 @@ DotNetRestoreSourcesPropsPath=$(GeneratedRestoreSourcesPropsPath); BuildNumber=$(BuildNumber); Configuration=$(Configuration); + SkipBillOfMaterials=true; $(TemplateProjCommmonProperties); @@ -26,7 +27,7 @@ @@ -55,7 +56,7 @@ diff --git a/build/dependencies.props b/build/dependencies.props index c7caac4ed3..9acba29f63 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -89,7 +89,7 @@ https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json - 2.0.2-rc1-16007 + $(KoreBuildVersion) diff --git a/build/repo.props b/build/repo.props index 180925e696..2e60df02b8 100644 --- a/build/repo.props +++ b/build/repo.props @@ -2,6 +2,8 @@ true + + true diff --git a/build/repo.targets b/build/repo.targets index fdbc47fecd..3ddc0bc4a1 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -106,6 +106,13 @@ + + + + +[CmdletBinding()] +param( + [Parameter(Mandatory = $true)] + [string[]]$Repos, +) + +$ErrorActionPreference = 'Stop' + +function SaveXml($xml, [string]$path) { + Write-Verbose "Saving to $path" + $ErrorActionPreference = 'stop' + + $settings = New-Object System.XML.XmlWriterSettings + $settings.OmitXmlDeclaration = $true + $settings.Encoding = New-Object System.Text.UTF8Encoding( $true ) + $writer = [System.XML.XMLTextWriter]::Create($path, $settings) + $xml.Save($writer) + $writer.Close() +} + +function LoadXml([string]$path) { + Write-Verbose "Reading to $path" + + $ErrorActionPreference = 'stop' + $obj = new-object xml + $obj.PreserveWhitespace = $true + $obj.Load($path) + return $obj +} + +function BumpPatch([System.Xml.XmlNode]$node) { + if (-not $node) { + return + } + [version] $version = $node.InnerText + $node.InnerText = "{0}.{1}.{2}" -f $version.Major, $version.Minor, ($version.Build + 1) +} + +foreach ($repo in $Repos) { + $path = "$PSScriptRoot/../modules/$repo/version.props" + if (-not (Test-Path $path)) { + Write-Warning "$path does not exist" + continue + } + $path = Resolve-Path $path + Write-Verbose "$path" + [xml] $xml = LoadXml $path + + $suffix = $xml.SelectSingleNode('/Project/PropertyGroup/VersionSuffix') + if (-not $suffix) { + write-error "$path does not have VersionSuffix" + } + + $versionPrefix = $xml.SelectSingleNode('/Project/PropertyGroup/VersionPrefix') + $epxVersionPrefix = $xml.SelectSingleNode('/Project/PropertyGroup/ExperimentalProjectVersionPrefix') + BumpPatch $epxVersionPrefix + BumpPatch $versionPrefix + SaveXml $xml $path +} + diff --git a/scripts/UpdateBuildTools.ps1 b/scripts/UpdateBuildTools.ps1 new file mode 100644 index 0000000000..6f2e4ad3c5 --- /dev/null +++ b/scripts/UpdateBuildTools.ps1 @@ -0,0 +1,96 @@ +#!/usr/bin/env pwsh + +<# +.SYNOPSIS + Updates the build tools version and generates a commit message with the list of changes +.PARAMETER RepoRoot + The directory containing the repo +.PARAMETER GitAuthorName + The author name to use in the commit message. (Optional) +.PARAMETER GitAuthorEmail + The author email to use in the commit message. (Optional) +.PARAMETER GitCommitArgs + Additional arguments to pass into git-commit +.PARAMETER NoCommit + Make changes without executing git-commit +.PARAMETER Force + Specified this to make a commit with any changes +#> +[cmdletbinding(SupportsShouldProcess = $true)] +param( + [string]$RepoRoot, + [string]$GitAuthorName = $null, + [string]$GitAuthorEmail = $null, + [string[]]$GitCommitArgs = @(), + [switch]$NoCommit, + [switch]$Force +) + +$ErrorActionPreference = 'Stop' +Set-StrictMode -Version 2 + +if (-not $RepoRoot) { + $RepoRoot = Resolve-Path "$PSScriptRoot\.." +} + +Import-Module "$PSScriptRoot/common.psm1" -Scope Local -Force + +function Get-KoreBuildVersion { + $lockFile = "$RepoRoot/korebuild-lock.txt" + if (!(Test-Path $lockFile)) { + return '' + } + $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() + return $version +} + +Push-Location $RepoRoot +try { + Assert-Git + + $oldVersion = Get-KoreBuildVersion + + # Executes a command that no-ops. The only thing we really need is the updated version of korebuild-lock.txt + & "$RepoRoot/build.ps1" -Update '-t:Noop' | Out-Null + + $newVersion = Get-KoreBuildVersion + + if ($oldVersion -eq $newVersion) { + Write-Host -ForegroundColor Magenta 'No changes to build tools' + exit 0 + } + + Invoke-Block { git add "$RepoRoot/korebuild-lock.txt" } + Invoke-Block { git add "$RepoRoot/build/dependencies.props" } + + $shortMessage = "Updating BuildTools from $oldVersion to $newVersion" + # add this to the commit message to make it possible to filter commit triggers based on message + $message = "$shortMessage`n`n[auto-updated: buildtools]" + + if (-not $NoCommit -and ($Force -or ($PSCmdlet.ShouldContinue($shortMessage, 'Create a new commit with these changes?')))) { + + $gitConfigArgs = @() + if ($GitAuthorName) { + $gitConfigArgs += '-c', "user.name=$GitAuthorName" + } + + if ($GitAuthorEmail) { + $gitConfigArgs += '-c', "user.email=$GitAuthorEmail" + } + + Invoke-Block { git @gitConfigArgs commit -m $message @GitCommitArgs } + } + else { + # If composing this script with others, return the message that would have been used + return @{ + message = $message + } + } +} +finally { + Pop-Location +} From 997e31805b74710bd9a756f6ba1d2a1f8cfefa27 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 8 Dec 2017 11:17:09 -0800 Subject: [PATCH 16/93] Update dependencies --- build/artifacts.props | 1 - build/dependencies.props | 129 +++++++++++++++++++++------------ build/repo.targets | 25 ++++++- modules/HttpSysServer | 2 +- modules/Mvc | 2 +- modules/Templating | 2 +- scripts/PatchVersionPrefix.ps1 | 2 +- 7 files changed, 109 insertions(+), 54 deletions(-) diff --git a/build/artifacts.props b/build/artifacts.props index cc7872a533..f52c802dbe 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -10,7 +10,6 @@ - diff --git a/build/dependencies.props b/build/dependencies.props index 9acba29f63..0276840ed7 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -25,18 +25,72 @@ + + 1.0.8 + 1.1.5 + 2.0.5 + + https://dotnet.myget.org/F/dotnet-core/api/v3/index.json - 2.0.3 - 2.0.1 - $(CoreSetupPackageVersion) + + + https://dotnet.myget.org/F/dotnet-core/api/v3/index.json + + + + + KRB2004 + RuntimeFrameworkVersion + netcoreapp2.0 + + + KRB2004 + MicrosoftNETCoreApp20PackageVersion + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://dotnet.myget.org/F/roslyn/api/v3/index.json @@ -112,53 +166,33 @@ - - - - + + + + KRB2004 RuntimeFrameworkVersion + netcoreapp1.0 + + + KRB2004 + MicrosoftNETCoreApp10PackageVersion + + + KRB2004 + RuntimeFrameworkVersion + netcoreapp1.1 + + + KRB2004 + MicrosoftNETCoreApp11PackageVersion + + + + KRB2004 + DotNetCliTool_MicrosoftNETCoreApp20PackageVersion netcoreapp2.0 - - KRB2004 - MicrosoftNETCoreApp20PackageVersion - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -256,7 +290,7 @@ - + @@ -364,7 +398,6 @@ not building again in this patch. - diff --git a/build/repo.targets b/build/repo.targets index 3ddc0bc4a1..59ffa75e74 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -20,7 +20,7 @@ $(IntermediateDir)dependencies.props $(IntermediateDir)sources.props - $(PrepareDependsOn);PrepareOutputPath + $(PrepareDependsOn);VerifyPackageArtifactConfig;PrepareOutputPath $(CleanDependsOn);CleanArtifacts;CleanUniverseArtifacts $(RestoreDependsOn);RestoreExternalDependencies $(CompileDependsOn);BuildRepositories @@ -149,6 +149,15 @@ + + + <_UndeclaredPackageArtifact Include="%(ArtifactInfo.PackageId)" Condition="'%(ArtifactInfo.ArtifactType)' == 'NuGetPackage'" /> + <_UndeclaredPackageArtifact Remove="@(PackageArtifact)" /> + + + + + + + + + + + + + + diff --git a/modules/HttpSysServer b/modules/HttpSysServer index 88862aeb68..1b5ba87bbb 160000 --- a/modules/HttpSysServer +++ b/modules/HttpSysServer @@ -1 +1 @@ -Subproject commit 88862aeb6831567d182e406ecffb646bc327d44a +Subproject commit 1b5ba87bbb80d798bebdf73711a09a846205c19b diff --git a/modules/Mvc b/modules/Mvc index 7cea779b7a..67f48064ce 160000 --- a/modules/Mvc +++ b/modules/Mvc @@ -1 +1 @@ -Subproject commit 7cea779b7a744a3d915aa207a760f6f7b9c6dccc +Subproject commit 67f48064ced9ac9c2917d369ffc7d1866d03c84d diff --git a/modules/Templating b/modules/Templating index 16c23b846e..e3674db32e 160000 --- a/modules/Templating +++ b/modules/Templating @@ -1 +1 @@ -Subproject commit 16c23b846ec57803e83c7e1bffc9c24546fe1de4 +Subproject commit e3674db32e34f4b43671e978eb9902b3b11fb214 diff --git a/scripts/PatchVersionPrefix.ps1 b/scripts/PatchVersionPrefix.ps1 index 8549297c64..17303de53a 100644 --- a/scripts/PatchVersionPrefix.ps1 +++ b/scripts/PatchVersionPrefix.ps1 @@ -7,7 +7,7 @@ [CmdletBinding()] param( [Parameter(Mandatory = $true)] - [string[]]$Repos, + [string[]]$Repos ) $ErrorActionPreference = 'Stop' From 4ed1ade289cfdaf55c361ff744460d0006619622 Mon Sep 17 00:00:00 2001 From: = Date: Tue, 12 Dec 2017 01:27:57 -0800 Subject: [PATCH 17/93] Trim common manifest --- build/RuntimeStore.targets | 7 ++++ build/tasks/ComposeNewStore.cs | 70 +++++++++++++++++----------------- 2 files changed, 43 insertions(+), 34 deletions(-) diff --git a/build/RuntimeStore.targets b/build/RuntimeStore.targets index c369b30a0a..89a0e289b1 100644 --- a/build/RuntimeStore.targets +++ b/build/RuntimeStore.targets @@ -207,6 +207,7 @@ + + + + diff --git a/build/tasks/ComposeNewStore.cs b/build/tasks/ComposeNewStore.cs index 90f601e0a2..2ad23089d2 100644 --- a/build/tasks/ComposeNewStore.cs +++ b/build/tasks/ComposeNewStore.cs @@ -17,19 +17,15 @@ namespace RepoTasks [Required] public ITaskItem[] NewManifests { get; set; } - [Required] public ITaskItem[] RuntimeStoreFiles { get; set; } - [Required] public ITaskItem[] RuntimeStoreSymbolFiles { get; set; } [Required] public string ManifestDestination { get; set; } - [Required] public string StoreDestination { get; set; } - [Required] public string SymbolsDestination { get; set; } public override bool Execute() @@ -58,45 +54,51 @@ namespace RepoTasks } } - // Insert new runtime store files - foreach (var storeFile in RuntimeStoreFiles) + if (RuntimeStoreFiles != null) { - // format: {bitness}}/{tfm}}/{id}/{version}}/... - var recursiveDir = storeFile.GetMetadata("RecursiveDir"); - var components = recursiveDir.Split(Path.DirectorySeparatorChar); - var id = components[2]; - var version = components[3]; - - if (!existingFiles.TryGetValue(id, out var versions) || !versions.Contains(version)) + // Insert new runtime store files + foreach (var storeFile in RuntimeStoreFiles) { - var destinationDir = Path.Combine(StoreDestination, recursiveDir); - if (!Directory.Exists(Path.Combine(StoreDestination, recursiveDir))) - { - Directory.CreateDirectory(destinationDir); - } + // format: {bitness}}/{tfm}}/{id}/{version}}/... + var recursiveDir = storeFile.GetMetadata("RecursiveDir"); + var components = recursiveDir.Split(Path.DirectorySeparatorChar); + var id = components[2]; + var version = components[3]; - File.Copy(storeFile.GetMetadata("FullPath"), Path.Combine(destinationDir, $"{storeFile.GetMetadata("Filename")}{storeFile.GetMetadata("Extension")}"), overwrite: true); + if (!existingFiles.TryGetValue(id, out var versions) || !versions.Contains(version)) + { + var destinationDir = Path.Combine(StoreDestination, recursiveDir); + if (!Directory.Exists(Path.Combine(StoreDestination, recursiveDir))) + { + Directory.CreateDirectory(destinationDir); + } + + File.Copy(storeFile.GetMetadata("FullPath"), Path.Combine(destinationDir, $"{storeFile.GetMetadata("Filename")}{storeFile.GetMetadata("Extension")}"), overwrite: true); + } } } - // Insert new runtime store files - foreach (var symbolFile in RuntimeStoreSymbolFiles) + if (RuntimeStoreSymbolFiles != null) { - // format: {bitness}}/{tfm}}/{id}/{version}}/... - var recursiveDir = symbolFile.GetMetadata("RecursiveDir"); - var components = recursiveDir.Split(Path.DirectorySeparatorChar); - var id = components[2]; - var version = components[3]; - - if (!existingFiles.TryGetValue(id, out var versions) || !versions.Contains(version)) + // Insert new runtime store symbol files + foreach (var symbolFile in RuntimeStoreSymbolFiles) { - var destinationDir = Path.Combine(SymbolsDestination, recursiveDir); - if (!Directory.Exists(Path.Combine(SymbolsDestination, recursiveDir))) - { - Directory.CreateDirectory(destinationDir); - } + // format: {bitness}}/{tfm}}/{id}/{version}}/... + var recursiveDir = symbolFile.GetMetadata("RecursiveDir"); + var components = recursiveDir.Split(Path.DirectorySeparatorChar); + var id = components[2]; + var version = components[3]; - File.Copy(symbolFile.GetMetadata("FullPath"), Path.Combine(destinationDir, $"{symbolFile.GetMetadata("Filename")}{symbolFile.GetMetadata("Extension")}"), overwrite: true); + if (!existingFiles.TryGetValue(id, out var versions) || !versions.Contains(version)) + { + var destinationDir = Path.Combine(SymbolsDestination, recursiveDir); + if (!Directory.Exists(Path.Combine(SymbolsDestination, recursiveDir))) + { + Directory.CreateDirectory(destinationDir); + } + + File.Copy(symbolFile.GetMetadata("FullPath"), Path.Combine(destinationDir, $"{symbolFile.GetMetadata("Filename")}{symbolFile.GetMetadata("Extension")}"), overwrite: true); + } } } From 0554b12109e32e5bcc192fec4218c05412e84ae5 Mon Sep 17 00:00:00 2001 From: = Date: Tue, 12 Dec 2017 02:22:33 -0800 Subject: [PATCH 18/93] Delay building metapackage to after runtime store generation Wait for all manifests to be generated --- build/PackageArchive.targets | 5 +++++ build/RuntimeStore.targets | 27 ++++++--------------------- build/repo.targets | 2 +- 3 files changed, 12 insertions(+), 22 deletions(-) diff --git a/build/PackageArchive.targets b/build/PackageArchive.targets index 7688976518..a9b247cf29 100644 --- a/build/PackageArchive.targets +++ b/build/PackageArchive.targets @@ -34,6 +34,11 @@ + + + + + + + + + - - - - - - - - - - - - - - - - - - - diff --git a/build/repo.targets b/build/repo.targets index 59ffa75e74..788f91ad93 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -24,7 +24,7 @@ $(CleanDependsOn);CleanArtifacts;CleanUniverseArtifacts $(RestoreDependsOn);RestoreExternalDependencies $(CompileDependsOn);BuildRepositories - $(PackageDependsOn);BuildAllMetapackage;BuildTemplates;SplitPackages + $(PackageDependsOn);BuildTemplates;SplitPackages $(VerifyDependsOn);VerifyCoherentVersions From 8a30fc50baaf8ffe50959060026beb793ef9c45f Mon Sep 17 00:00:00 2001 From: John Luo Date: Tue, 12 Dec 2017 14:24:50 -0800 Subject: [PATCH 19/93] Pass build number property when building all metapackage --- build/RuntimeStore.targets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/RuntimeStore.targets b/build/RuntimeStore.targets index 18d79a1ae9..876dccc6ee 100644 --- a/build/RuntimeStore.targets +++ b/build/RuntimeStore.targets @@ -49,12 +49,12 @@ + Properties="Configuration=$(Configuration);BuildNumber=$(BuildNumber);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcesPropsPath);AspNetUniverseBuildOffline=true;_Target=Restore" /> + Properties="Configuration=$(Configuration);BuildNumber=$(BuildNumber);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcesPropsPath);AspNetUniverseBuildOffline=true" /> From 07d014ab324719bd0f7aea734f1842d55f08d797 Mon Sep 17 00:00:00 2001 From: John Luo Date: Thu, 14 Dec 2017 16:10:08 -0800 Subject: [PATCH 20/93] January patch fixes --- build/RuntimeStore.targets | 41 +++++++++++++++++-- build/RuntimeStoreInstaller.targets | 9 ++-- .../tools/packaging/store_debian_config.json | 2 +- .../HostingStartup/HostingStartup.csproj | 11 +++++ version.props | 1 + 5 files changed, 55 insertions(+), 9 deletions(-) diff --git a/build/RuntimeStore.targets b/build/RuntimeStore.targets index 876dccc6ee..b99613bebf 100644 --- a/build/RuntimeStore.targets +++ b/build/RuntimeStore.targets @@ -148,7 +148,40 @@ Properties="$(_ComposeStoreProps)" /> + + + $(_WorkRoot)HostingStartup\ + <_HostingStartupProps>DepsOutputPath=$(_DepsOutputDirectory) + <_HostingStartupProps>$(_HostingStartupProps);DotNetRestoreSourcesPropsPath=$(GeneratedRestoreSourcesPropsPath) + <_HostingStartupProps>$(_HostingStartupProps);RuntimeFrameworkVersion=$(MicrosoftNETCoreApp20PackageVersion) + <_HostingStartupProps>$(_HostingStartupProps);HostingStartupPackageName=$(HostingStartupPackageName) + <_HostingStartupProps>$(_HostingStartupProps);HostingStartupPackageVersion=$(HostingStartupPackageVersion) + + + + + + + + + + + + + + + + + + + + + - - + diff --git a/build/RuntimeStoreInstaller.targets b/build/RuntimeStoreInstaller.targets index 315cde6a0c..c55fb09c65 100644 --- a/build/RuntimeStoreInstaller.targets +++ b/build/RuntimeStoreInstaller.targets @@ -304,8 +304,8 @@ - - 2.0.0 + + $(RuntimeStoreInstallerDependencyVersion) $(PackageVersion) @@ -409,6 +409,7 @@ + @@ -464,11 +465,11 @@ + Properties="$(CommonRSArguments);RSArchive=$(TimestampRSArchive);DebVersion=$(Version);RsDepVersion=$(RuntimeStoreInstallerDependencyVersion)" /> + Properties="$(CommonRSArguments);RSArchive=$(TimestampFreeLinuxRSArchive);DebVersion=$(PackageVersionNoTimestamp);RsDepVersion=$(RuntimeStoreInstallerDependencyVersion)" /> + + netcoreapp2.0 Exe + $(DotNetRestoreSources) + + $(RestoreSources); + https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json; + + + $(RestoreSources); + https://api.nuget.org/v3/index.json; + diff --git a/version.props b/version.props index bc7193fb8e..1b4a62e7b2 100644 --- a/version.props +++ b/version.props @@ -1,5 +1,6 @@ + 2.0.3 2.0.5 rtm $(VersionPrefix) From 867438a4ae98f97a3ef3923d08232fa13b96a69f Mon Sep 17 00:00:00 2001 From: John Luo Date: Fri, 15 Dec 2017 15:22:12 -0800 Subject: [PATCH 21/93] LZMA woes --- build/PackageArchive.targets | 2 +- build/dependencies.props | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/build/PackageArchive.targets b/build/PackageArchive.targets index a9b247cf29..b938f13938 100644 --- a/build/PackageArchive.targets +++ b/build/PackageArchive.targets @@ -71,7 +71,7 @@ + Properties="RestorePackagesPath=$(FallbackStagingDir);RuntimeFrameworkVersion=$(LZMAMicrosoftNETCoreApp20PackageVersion);DotNetRestoreSourcePropsPath=$(GeneratedFallbackRestoreSourcesPropsPath);AspNetUniverseBuildOffline=true" /> diff --git a/build/dependencies.props b/build/dependencies.props index 0276840ed7..3ba89f2c4d 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -28,6 +28,7 @@ 1.0.8 1.1.5 + 2.0.0 2.0.5 From cabc9874c537695e35c5203b01075030c337c2f9 Mon Sep 17 00:00:00 2001 From: John Luo Date: Tue, 19 Dec 2017 12:00:13 -0800 Subject: [PATCH 22/93] Generate deps for hosting startup in external dependencies Use publish deps file instead of build deps file --- build/RuntimeStore.targets | 5 +++-- build/tasks/ResolveHostingStartupPackages.cs | 16 +++++++++++++++- .../HostingStartup/HostingStartup.csproj | 2 +- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/build/RuntimeStore.targets b/build/RuntimeStore.targets index b99613bebf..5fc3b44466 100644 --- a/build/RuntimeStore.targets +++ b/build/RuntimeStore.targets @@ -176,7 +176,7 @@ @@ -185,7 +185,8 @@ + PackageArtifacts="@(PackageArtifact)" + ExternalDependencies="@(ExternalDependency)"> diff --git a/build/tasks/ResolveHostingStartupPackages.cs b/build/tasks/ResolveHostingStartupPackages.cs index 8bfc27399c..5a97097db4 100644 --- a/build/tasks/ResolveHostingStartupPackages.cs +++ b/build/tasks/ResolveHostingStartupPackages.cs @@ -15,6 +15,9 @@ namespace RepoTasks [Required] public ITaskItem[] PackageArtifacts { get; set; } + [Required] + public ITaskItem[] ExternalDependencies { get; set; } + [Output] public ITaskItem[] HostingStartupArtifacts { get; set; } @@ -22,7 +25,18 @@ namespace RepoTasks { // Parse input var hostingStartupArtifacts = PackageArtifacts.Where(p => p.GetMetadata("HostingStartup") == "true"); - HostingStartupArtifacts = BuildArtifacts.Where(p => hostingStartupArtifacts.Any(h => h.GetMetadata("Identity") == p.GetMetadata("PackageId"))).ToArray(); + var externalHostingStartupArtifacts = ExternalDependencies.Where(p => p.GetMetadata("HostingStartup") == "true"); + + var hostingStartups = BuildArtifacts.Where(p => hostingStartupArtifacts.Any(h => h.GetMetadata("Identity") == p.GetMetadata("PackageId"))); + + foreach (var externalHostingStartup in externalHostingStartupArtifacts) + { + // The parameters PackageId and Version are required for output. For external dependencies, the identity is the pacakge id. + externalHostingStartup.SetMetadata("PackageId", externalHostingStartup.GetMetadata("Identity")); + hostingStartups = hostingStartups.Append(externalHostingStartup); + } + + HostingStartupArtifacts = hostingStartups.ToArray(); return true; } diff --git a/build/tools/templates/HostingStartup/HostingStartup.csproj b/build/tools/templates/HostingStartup/HostingStartup.csproj index 5c165b8f0e..12cdf93eb1 100644 --- a/build/tools/templates/HostingStartup/HostingStartup.csproj +++ b/build/tools/templates/HostingStartup/HostingStartup.csproj @@ -26,6 +26,6 @@ $(DepsOutputPath)\$(HostingStartupPackageName)\shared\Microsoft.NETCore.App\$(DepsRuntimeFrameworkVersion)\$(HostingStartupPackageName).deps.json - + From e28eb85750aaa5501cd8bcb89ae805fa2cc70564 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 3 Jan 2018 18:12:11 -0800 Subject: [PATCH 23/93] Bump build version to 2.0.6 --- version.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.props b/version.props index 1b4a62e7b2..efbdef10a5 100644 --- a/version.props +++ b/version.props @@ -1,7 +1,7 @@ - 2.0.3 - 2.0.5 + 2.0.5 + 2.0.6 rtm $(VersionPrefix) $(VersionPrefix) From c762abc1e339d4817e619d700a0b3992ca6d35ff Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 3 Jan 2018 18:12:31 -0800 Subject: [PATCH 24/93] Bump build tools to 2.0.3-rtm-10011 --- build/dependencies.props | 3 ++- korebuild-lock.txt | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 3ba89f2c4d..a57c3a0bb3 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -145,11 +145,12 @@ https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json $(KoreBuildVersion) + $(KoreBuildVersion) - + diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 1e32745c4f..0faaf3834b 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.0.3-rtm-10005 -commithash:767fa0dcd1cca6b0a722b7b6a3919f698fbd1325 +version:2.0.3-rtm-10011 +commithash:b75a467db3f6523402512f93f904f4b4f0452a0c From 83b7d0b052ee4a3aea06619ed0c8693ee7506c60 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 3 Jan 2018 18:17:21 -0800 Subject: [PATCH 25/93] Update EF Core and Kestrel submodules --- build/dependencies.props | 2 +- modules/EntityFrameworkCore | 2 +- modules/KestrelHttpServer | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index a57c3a0bb3..072abddc4d 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -392,7 +392,7 @@ not building again in this patch. - + diff --git a/modules/EntityFrameworkCore b/modules/EntityFrameworkCore index 88551da89e..1232de6d64 160000 --- a/modules/EntityFrameworkCore +++ b/modules/EntityFrameworkCore @@ -1 +1 @@ -Subproject commit 88551da89e6d26927dc8a80a50f2fd07157a7e22 +Subproject commit 1232de6d64f83826e1d2415fb1809182b56831f2 diff --git a/modules/KestrelHttpServer b/modules/KestrelHttpServer index 4afa9c8ca3..35a9432ce8 160000 --- a/modules/KestrelHttpServer +++ b/modules/KestrelHttpServer @@ -1 +1 @@ -Subproject commit 4afa9c8ca3c8aea987afb8e079f423342385f678 +Subproject commit 35a9432ce8e1bdd003309785e6ab1fa857c6eecc From cc4c8d7551ddcf416c1c6b8443695eec5bdfbd06 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 10 Jan 2018 14:59:17 -0800 Subject: [PATCH 26/93] Update repos to bumped versions and update the list of shipping packages --- build/artifacts.props | 30 ++++++++++++++++++++++++++++++ build/dependencies.props | 31 ------------------------------- build/submodules.props | 10 +++++----- modules/Diagnostics | 2 +- modules/Identity | 2 +- modules/JavaScriptServices | 2 +- modules/MetaPackages | 2 +- modules/Mvc | 2 +- modules/MvcPrecompilation | 2 +- modules/Scaffolding | 2 +- scripts/PatchVersionPrefix.ps1 | 4 ++++ 11 files changed, 46 insertions(+), 43 deletions(-) mode change 100644 => 100755 scripts/PatchVersionPrefix.ps1 diff --git a/build/artifacts.props b/build/artifacts.props index f52c802dbe..5550616050 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -10,6 +10,15 @@ + + + + + + + + + @@ -28,11 +37,32 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/build/dependencies.props b/build/dependencies.props index 072abddc4d..c9ea2a7c47 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -363,9 +363,6 @@ not building again in this patch. - - - @@ -375,12 +372,8 @@ not building again in this patch. - - - - @@ -394,33 +387,13 @@ not building again in this patch. - - - - - - - - - - - - - - - - - - - - @@ -432,10 +405,6 @@ not building again in this patch. diff --git a/build/submodules.props b/build/submodules.props index 6c6e81fe60..6bcfb4041d 100644 --- a/build/submodules.props +++ b/build/submodules.props @@ -7,7 +7,12 @@ + + + + + @@ -27,22 +32,17 @@ - - - - - diff --git a/modules/Diagnostics b/modules/Diagnostics index 111b6a4821..e10016ae41 160000 --- a/modules/Diagnostics +++ b/modules/Diagnostics @@ -1 +1 @@ -Subproject commit 111b6a4821f3d23b33a720a45b91a79ed720fab5 +Subproject commit e10016ae41eb75199a294bb5360387dcd11c9f27 diff --git a/modules/Identity b/modules/Identity index becf1df9c5..0ab57e8184 160000 --- a/modules/Identity +++ b/modules/Identity @@ -1 +1 @@ -Subproject commit becf1df9c5a3b908e28ec3c1272b072d8801e3dc +Subproject commit 0ab57e8184f524928b4e58791172b5a9d98940b1 diff --git a/modules/JavaScriptServices b/modules/JavaScriptServices index d5a664e481..79fd6debad 160000 --- a/modules/JavaScriptServices +++ b/modules/JavaScriptServices @@ -1 +1 @@ -Subproject commit d5a664e4817a395cbafec942387162b5afeba7bf +Subproject commit 79fd6debad12fd4e9b7fbe5af125fa05ab402c00 diff --git a/modules/MetaPackages b/modules/MetaPackages index 62790d278f..57e644b813 160000 --- a/modules/MetaPackages +++ b/modules/MetaPackages @@ -1 +1 @@ -Subproject commit 62790d278fe79b90d51e288c3ff3fe2313acc7bb +Subproject commit 57e644b813bf51a7e73e092995dc8511511074ba diff --git a/modules/Mvc b/modules/Mvc index 67f48064ce..f8b48b528f 160000 --- a/modules/Mvc +++ b/modules/Mvc @@ -1 +1 @@ -Subproject commit 67f48064ced9ac9c2917d369ffc7d1866d03c84d +Subproject commit f8b48b528fc6290c3248c1d99b00fceddb108622 diff --git a/modules/MvcPrecompilation b/modules/MvcPrecompilation index f510e70340..46d5f4e3d0 160000 --- a/modules/MvcPrecompilation +++ b/modules/MvcPrecompilation @@ -1 +1 @@ -Subproject commit f510e7034000e346f6771197d30aaf791ce2bf48 +Subproject commit 46d5f4e3d056310955f180da6af9ebe1333a0534 diff --git a/modules/Scaffolding b/modules/Scaffolding index 069ca26129..793c266455 160000 --- a/modules/Scaffolding +++ b/modules/Scaffolding @@ -1 +1 @@ -Subproject commit 069ca2612999a49e2b19099f21d8196f422c82de +Subproject commit 793c266455bf499d0d30434a4ef47cf673dd81c8 diff --git a/scripts/PatchVersionPrefix.ps1 b/scripts/PatchVersionPrefix.ps1 old mode 100644 new mode 100755 index 17303de53a..b67b953b60 --- a/scripts/PatchVersionPrefix.ps1 +++ b/scripts/PatchVersionPrefix.ps1 @@ -1,3 +1,5 @@ +#!/usr/bin/env pwsh + <# .SYNOPSIS Updates the version.props file in repos to a newer patch version @@ -40,10 +42,12 @@ function BumpPatch([System.Xml.XmlNode]$node) { } [version] $version = $node.InnerText $node.InnerText = "{0}.{1}.{2}" -f $version.Major, $version.Minor, ($version.Build + 1) + Write-Host "Changing $version to $($node.InnerText)" } foreach ($repo in $Repos) { $path = "$PSScriptRoot/../modules/$repo/version.props" + Write-Host -ForegroundColor Magenta "Updating $repo" if (-not (Test-Path $path)) { Write-Warning "$path does not exist" continue From 326c02e415df46aa6854c11d4e199eb39de24de9 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 11 Jan 2018 08:56:25 -0800 Subject: [PATCH 27/93] Update Microsoft.Data.Sqlite to include aspnet/Microsoft.Data.Sqlite#475 --- build/artifacts.props | 2 ++ build/dependencies.props | 2 -- build/submodules.props | 2 +- modules/Microsoft.Data.Sqlite | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build/artifacts.props b/build/artifacts.props index 5550616050..af32435c86 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -46,6 +46,8 @@ + + diff --git a/build/dependencies.props b/build/dependencies.props index c9ea2a7c47..8adbb8715d 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -413,8 +413,6 @@ not building again in this patch. - - diff --git a/build/submodules.props b/build/submodules.props index 6bcfb4041d..23267bb880 100644 --- a/build/submodules.props +++ b/build/submodules.props @@ -13,6 +13,7 @@ + @@ -43,7 +44,6 @@ - diff --git a/modules/Microsoft.Data.Sqlite b/modules/Microsoft.Data.Sqlite index 1ef4e2bf1b..b38e822b33 160000 --- a/modules/Microsoft.Data.Sqlite +++ b/modules/Microsoft.Data.Sqlite @@ -1 +1 @@ -Subproject commit 1ef4e2bf1b6fd14655dd8df918344b50add48ce3 +Subproject commit b38e822b335f30fa986277b1a38f09a2e7490db5 From cefe2aa65d83cc3b8d624bf4207f4f8d8e13c8be Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 11 Jan 2018 14:05:11 -0800 Subject: [PATCH 28/93] Update build tools to 2.0.5-rtm-10014 and update the SQLite repo --- build/dependencies.props | 6 +++++- korebuild-lock.txt | 4 ++-- modules/Microsoft.Data.Sqlite | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 8adbb8715d..dd817c3995 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -43,7 +43,7 @@ - https://dotnet.myget.org/F/dotnet-core/api/v3/index.json + https://api.nuget.org/v3/index.json @@ -249,6 +249,10 @@ NETStandardImplicitPackageVersion netstandard2.0 + + KRB2004 + NETStandardLibrary20PackageVersion + KRB2004 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 0faaf3834b..374126119a 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.0.3-rtm-10011 -commithash:b75a467db3f6523402512f93f904f4b4f0452a0c +version:2.0.5-rtm-10014 +commithash:768d13aef913e058dfa3bc7bafca48bc93c7e0ab diff --git a/modules/Microsoft.Data.Sqlite b/modules/Microsoft.Data.Sqlite index b38e822b33..97523ce852 160000 --- a/modules/Microsoft.Data.Sqlite +++ b/modules/Microsoft.Data.Sqlite @@ -1 +1 @@ -Subproject commit b38e822b335f30fa986277b1a38f09a2e7490db5 +Subproject commit 97523ce8522d1c7d129ef187ea15fc85d86b99d4 From 805540ddb82f33dde0972dd273356c700168f00c Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 11 Jan 2018 14:06:54 -0800 Subject: [PATCH 29/93] Add appveyor and travis CI config --- .appveyor.yml | 21 +++++++++++++++++++++ .travis.yml | 20 ++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 .appveyor.yml create mode 100644 .travis.yml diff --git a/.appveyor.yml b/.appveyor.yml new file mode 100644 index 0000000000..bc4b4093f5 --- /dev/null +++ b/.appveyor.yml @@ -0,0 +1,21 @@ +init: + - git config --global core.autocrlf true +branches: + only: + - master + - /^release\/.*/ + - dev + - /^(.*\/)?ci-.*$/ +install: + # Set depth to 50 because the commit we need may not be at the tip of the branch configured in .gitmodules + - git submodule update --init --depth=50 --recursive +build_script: + - ps: .\build.ps1 /t:ComputeGraph +clone_depth: 1 +environment: + global: + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true + DOTNET_CLI_TELEMETRY_OPTOUT: 1 +test: off +deploy: off +os: Visual Studio 2017 diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..d83797a701 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,20 @@ +language: csharp +sudo: false +dist: trusty +env: + global: + - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true + - DOTNET_CLI_TELEMETRY_OPTOUT: 1 +mono: none +addons: + apt: + packages: + - libunwind8 +branches: + only: + - master + - /^release\/.*/ + - dev + - /^(.*\/)?ci-.*$/ +script: + - ./build.sh -t:ComputeGraph From 4791eccc4fe4fd8a9ee28754158fe72033e3745f Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 11 Jan 2018 14:23:59 -0800 Subject: [PATCH 30/93] Update references to the 2.0.5 runtime store --- build/RuntimeStoreInstaller.targets | 2 +- .../build/aspnetcore-store-2.0.5.xml | 17 +++++++++++++++++ version.props | 5 ++++- 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100755 src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.5.xml diff --git a/build/RuntimeStoreInstaller.targets b/build/RuntimeStoreInstaller.targets index c55fb09c65..4a6f4eeaa3 100644 --- a/build/RuntimeStoreInstaller.targets +++ b/build/RuntimeStoreInstaller.targets @@ -22,7 +22,7 @@ $(KOREBUILD_DOTNET_FEED_UNCACHED) $(PublicCoreFeedPrefix) - $(PublicCoreFeedPrefix)/aspnetcore/store/2.0.3-125/Build.RS. + $(PublicCoreFeedPrefix)/aspnetcore/store/$(PreviousRuntimeStoreArchiveVersion)/Build.RS. $(CoreFeedPrefix)/Runtime/$(MicrosoftNETCoreApp20PackageVersion)/dotnet-runtime-$(MicrosoftNETCoreApp20PackageVersion)-linux-x64.tar.gz $(_TimestampRSSource)aspnetcore-store-$(PackageVersion)-linux-x64.tar.gz $(_TimestampFreeRSSource)aspnetcore-store-$(PackageVersionNoTimestamp)- diff --git a/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.5.xml b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.5.xml new file mode 100755 index 0000000000..a121eaf848 --- /dev/null +++ b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.5.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/version.props b/version.props index efbdef10a5..79f91aa50e 100644 --- a/version.props +++ b/version.props @@ -1,6 +1,5 @@ - 2.0.5 2.0.6 rtm $(VersionPrefix) @@ -8,5 +7,9 @@ $(VersionPrefix)-$(VersionSuffix)-final $(VersionPrefix)-$(VersionSuffix)-final $(VersionSuffix)-$(BuildNumber) + + + 2.0.5-155 + 2.0.5 From 386c3f466469dbb9a8d688924a5c4c433790513b Mon Sep 17 00:00:00 2001 From: Brice Lambson Date: Fri, 12 Jan 2018 10:53:00 -0800 Subject: [PATCH 31/93] Update EF Core submodule --- modules/EntityFrameworkCore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/EntityFrameworkCore b/modules/EntityFrameworkCore index 1232de6d64..984c2c87d6 160000 --- a/modules/EntityFrameworkCore +++ b/modules/EntityFrameworkCore @@ -1 +1 @@ -Subproject commit 1232de6d64f83826e1d2415fb1809182b56831f2 +Subproject commit 984c2c87d67d996e2a3c578ff1a7e8e1c4e0da80 From a5d6f9b36f3b1a693c7252f13b8ac67046e6dc6b Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 17 Jan 2018 10:01:24 -0800 Subject: [PATCH 32/93] Rename submodule branches to release/2.0 --- .gitmodules | 86 ++++++++++++++++++++++++------------------------ modules/Mvc | 2 +- modules/Security | 2 +- 3 files changed, 45 insertions(+), 45 deletions(-) diff --git a/.gitmodules b/.gitmodules index 96f466b4e1..295fc54ba8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,172 +1,172 @@ [submodule "modules/Antiforgery"] path = modules/Antiforgery url = https://github.com/aspnet/Antiforgery.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/AzureIntegration"] path = modules/AzureIntegration url = https://github.com/aspnet/AzureIntegration.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/BasicMiddleware"] path = modules/BasicMiddleware url = https://github.com/aspnet/BasicMiddleware.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/BrowserLink"] path = modules/BrowserLink url = https://github.com/aspnet/BrowserLink.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/CORS"] path = modules/CORS url = https://github.com/aspnet/CORS.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/DataProtection"] path = modules/DataProtection url = https://github.com/aspnet/DataProtection.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/Diagnostics"] path = modules/Diagnostics url = https://github.com/aspnet/Diagnostics.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/EntityFrameworkCore"] path = modules/EntityFrameworkCore url = https://github.com/aspnet/EntityFrameworkCore.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/Hosting"] path = modules/Hosting url = https://github.com/aspnet/Hosting.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/HttpAbstractions"] path = modules/HttpAbstractions url = https://github.com/aspnet/HttpAbstractions.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/HttpSysServer"] path = modules/HttpSysServer url = https://github.com/aspnet/HttpSysServer.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/Identity"] path = modules/Identity url = https://github.com/aspnet/Identity.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/IISIntegration"] path = modules/IISIntegration url = https://github.com/aspnet/IISIntegration.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/JavaScriptServices"] path = modules/JavaScriptServices url = https://github.com/aspnet/JavaScriptServices.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/KestrelHttpServer"] path = modules/KestrelHttpServer url = https://github.com/aspnet/KestrelHttpServer.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/Localization"] path = modules/Localization url = https://github.com/aspnet/Localization.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/MetaPackages"] path = modules/MetaPackages url = https://github.com/aspnet/MetaPackages.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/Mvc"] path = modules/Mvc url = https://github.com/aspnet/Mvc.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/MvcPrecompilation"] path = modules/MvcPrecompilation url = https://github.com/aspnet/MvcPrecompilation.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/Proxy"] path = modules/Proxy url = https://github.com/aspnet/Proxy.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/Razor"] path = modules/Razor url = https://github.com/aspnet/Razor.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/ResponseCaching"] path = modules/ResponseCaching url = https://github.com/aspnet/ResponseCaching.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/Routing"] path = modules/Routing url = https://github.com/aspnet/Routing.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/Scaffolding"] path = modules/Scaffolding url = https://github.com/aspnet/Scaffolding.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/Security"] path = modules/Security url = https://github.com/aspnet/Security.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/ServerTests"] path = modules/ServerTests url = https://github.com/aspnet/ServerTests.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/Session"] path = modules/Session url = https://github.com/aspnet/Session.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/StaticFiles"] path = modules/StaticFiles url = https://github.com/aspnet/StaticFiles.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/WebSockets"] path = modules/WebSockets url = https://github.com/aspnet/WebSockets.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/Caching"] path = modules/Caching url = https://github.com/aspnet/Caching.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/Common"] path = modules/Common url = https://github.com/aspnet/Common.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/Configuration"] path = modules/Configuration url = https://github.com/aspnet/Configuration.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/DependencyInjection"] path = modules/DependencyInjection url = https://github.com/aspnet/DependencyInjection.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/DotNetTools"] path = modules/DotNetTools url = https://github.com/aspnet/DotNetTools.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/EventNotification"] path = modules/EventNotification url = https://github.com/aspnet/EventNotification.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/FileSystem"] path = modules/FileSystem url = https://github.com/aspnet/FileSystem.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/HtmlAbstractions"] path = modules/HtmlAbstractions url = https://github.com/aspnet/HtmlAbstractions.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/JsonPatch"] path = modules/JsonPatch url = https://github.com/aspnet/JsonPatch.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/Logging"] path = modules/Logging url = https://github.com/aspnet/Logging.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/Microsoft.Data.Sqlite"] path = modules/Microsoft.Data.Sqlite url = https://github.com/aspnet/Microsoft.Data.Sqlite.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/Options"] path = modules/Options url = https://github.com/aspnet/Options.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/Testing"] path = modules/Testing url = https://github.com/aspnet/Testing.git - branch = release/2.0.0 + branch = release/2.0 [submodule "modules/Templating"] path = modules/Templating url = https://github.com/aspnet/Templating.git - branch = release/2.0.0 + branch = release/2.0 diff --git a/modules/Mvc b/modules/Mvc index f8b48b528f..c9e2d585a4 160000 --- a/modules/Mvc +++ b/modules/Mvc @@ -1 +1 @@ -Subproject commit f8b48b528fc6290c3248c1d99b00fceddb108622 +Subproject commit c9e2d585a49e861fe0c2f4846dedb44cba997b16 diff --git a/modules/Security b/modules/Security index b9d90b0376..598188a29a 160000 --- a/modules/Security +++ b/modules/Security @@ -1 +1 @@ -Subproject commit b9d90b03760dab2610be32ca561c702ca3e10a6e +Subproject commit 598188a29a02d7793c4fe15fbe9c88197eb81a8a From c78b8a7c1c3258400c40f900071d3f325bb43b3d Mon Sep 17 00:00:00 2001 From: Brice Lambson Date: Wed, 17 Jan 2018 14:58:20 -0800 Subject: [PATCH 33/93] Update SQLite submodule --- modules/Microsoft.Data.Sqlite | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Microsoft.Data.Sqlite b/modules/Microsoft.Data.Sqlite index 97523ce852..20cc6f4533 160000 --- a/modules/Microsoft.Data.Sqlite +++ b/modules/Microsoft.Data.Sqlite @@ -1 +1 @@ -Subproject commit 97523ce8522d1c7d129ef187ea15fc85d86b99d4 +Subproject commit 20cc6f45334c0d715d0b5387165cd5fddb5133c8 From fb4d7fe5d9d399d8a4ac83f81f0049cc3679e7c9 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 18 Jan 2018 16:48:30 -0800 Subject: [PATCH 34/93] Update FileSystem submodule and apply the result of the cascading versions --- build/artifacts.props | 119 ++++++++++++++++++++++++++ build/dependencies.props | 148 --------------------------------- build/submodules.props | 58 ++++++------- korebuild-lock.txt | 4 +- korebuild.json | 4 +- modules/Antiforgery | 2 +- modules/AzureIntegration | 2 +- modules/BasicMiddleware | 2 +- modules/BrowserLink | 2 +- modules/CORS | 2 +- modules/Caching | 2 +- modules/Configuration | 2 +- modules/DataProtection | 2 +- modules/Diagnostics | 2 +- modules/DotNetTools | 2 +- modules/EntityFrameworkCore | 2 +- modules/EventNotification | 2 +- modules/FileSystem | 2 +- modules/Hosting | 2 +- modules/HtmlAbstractions | 2 +- modules/HttpAbstractions | 2 +- modules/HttpSysServer | 2 +- modules/IISIntegration | 2 +- modules/Identity | 2 +- modules/JavaScriptServices | 2 +- modules/KestrelHttpServer | 2 +- modules/Localization | 2 +- modules/Logging | 2 +- modules/MetaPackages | 2 +- modules/Microsoft.Data.Sqlite | 2 +- modules/Mvc | 2 +- modules/MvcPrecompilation | 2 +- modules/Options | 2 +- modules/Proxy | 2 +- modules/Razor | 2 +- modules/ResponseCaching | 2 +- modules/Routing | 2 +- modules/Scaffolding | 2 +- modules/Security | 2 +- modules/ServerTests | 2 +- modules/Session | 2 +- modules/StaticFiles | 2 +- modules/Templating | 2 +- modules/Testing | 2 +- modules/WebSockets | 2 +- scripts/PatchVersionPrefix.ps1 | 22 +---- scripts/common.psm1 | 22 +++++ 47 files changed, 215 insertions(+), 242 deletions(-) diff --git a/build/artifacts.props b/build/artifacts.props index af32435c86..56d2b4a8c5 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -11,13 +11,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -27,6 +71,7 @@ + @@ -37,17 +82,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -63,8 +135,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -74,5 +190,8 @@ + + + diff --git a/build/dependencies.props b/build/dependencies.props index dd817c3995..6eb34af301 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -245,26 +245,8 @@ - KRB2004 - NETStandardImplicitPackageVersion - netstandard2.0 - - - KRB2004 NETStandardLibrary20PackageVersion - - - KRB2004 - NETStandardLibraryPackageVersion - net461 - - - - KRB2004 - NETStandardLibraryPackageVersion - net46 - @@ -337,141 +319,13 @@ not building again in this patch. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - https://dotnet.myget.org/F/aspnet-2-0-2-october2017-patch-public/api/v3/index.json - - - - - - - - - - - @@ -479,13 +333,11 @@ not building again in this patch. - - diff --git a/build/submodules.props b/build/submodules.props index 23267bb880..ad60e882e4 100644 --- a/build/submodules.props +++ b/build/submodules.props @@ -7,53 +7,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 374126119a..df86a509a5 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.0.5-rtm-10014 -commithash:768d13aef913e058dfa3bc7bafca48bc93c7e0ab +version:2.0.5-rtm-10016 +commithash:02bda79ac9c564229da734a836f258d6c1321eb7 diff --git a/korebuild.json b/korebuild.json index 6ac34cd945..9deb2b62d7 100644 --- a/korebuild.json +++ b/korebuild.json @@ -1,4 +1,4 @@ { - "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/release/2.0.0/tools/korebuild.schema.json", - "channel": "release/2.0.0" + "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/release/2.0/tools/korebuild.schema.json", + "channel": "release/2.0" } diff --git a/modules/Antiforgery b/modules/Antiforgery index 06b53886bd..af5623fb4b 160000 --- a/modules/Antiforgery +++ b/modules/Antiforgery @@ -1 +1 @@ -Subproject commit 06b53886bd9bfafa3e96da22d61edcbad8db3842 +Subproject commit af5623fb4bdeb5d5aa6f10a213f6f10bafd7334a diff --git a/modules/AzureIntegration b/modules/AzureIntegration index 714ea279ca..8cbc8e6a8c 160000 --- a/modules/AzureIntegration +++ b/modules/AzureIntegration @@ -1 +1 @@ -Subproject commit 714ea279ca648cd2fce0a302af9d79c708b0e954 +Subproject commit 8cbc8e6a8c9c84429e5fb2908e8c5a3b6d91da19 diff --git a/modules/BasicMiddleware b/modules/BasicMiddleware index 8319d8eb0f..8fd34cbb2f 160000 --- a/modules/BasicMiddleware +++ b/modules/BasicMiddleware @@ -1 +1 @@ -Subproject commit 8319d8eb0f2711e97ce86c9d98ec7a71d4710a21 +Subproject commit 8fd34cbb2f62cdf43a892289439b4bdf54ff9699 diff --git a/modules/BrowserLink b/modules/BrowserLink index d35de0ae6b..264e797c42 160000 --- a/modules/BrowserLink +++ b/modules/BrowserLink @@ -1 +1 @@ -Subproject commit d35de0ae6ba7f5a670387192ef0a5c5fef94a073 +Subproject commit 264e797c42d51b7eeb074e8da739f7888c67602e diff --git a/modules/CORS b/modules/CORS index 5a617d8cf1..54018f1f97 160000 --- a/modules/CORS +++ b/modules/CORS @@ -1 +1 @@ -Subproject commit 5a617d8cf152ed6cad54f93cecb8dc4dcdc47224 +Subproject commit 54018f1f97257ffae920e98525fcabfcf7f058cf diff --git a/modules/Caching b/modules/Caching index f3541e9187..d3c4b58119 160000 --- a/modules/Caching +++ b/modules/Caching @@ -1 +1 @@ -Subproject commit f3541e918714cdad4c24968292470b9531095b92 +Subproject commit d3c4b58119652b7c566fb00fcf19b907d9db18bc diff --git a/modules/Configuration b/modules/Configuration index 99777e88f9..c3f21a72ef 160000 --- a/modules/Configuration +++ b/modules/Configuration @@ -1 +1 @@ -Subproject commit 99777e88f936170830708fc51482fc23acc2dfec +Subproject commit c3f21a72efad1174ea5086e021c4798a439824d0 diff --git a/modules/DataProtection b/modules/DataProtection index 7cc58239c4..c4c6e1b0e9 160000 --- a/modules/DataProtection +++ b/modules/DataProtection @@ -1 +1 @@ -Subproject commit 7cc58239c477bcc91349f9bd217723ca46ab2da9 +Subproject commit c4c6e1b0e9667662646939139205e12bf57e865c diff --git a/modules/Diagnostics b/modules/Diagnostics index e10016ae41..df09b97669 160000 --- a/modules/Diagnostics +++ b/modules/Diagnostics @@ -1 +1 @@ -Subproject commit e10016ae41eb75199a294bb5360387dcd11c9f27 +Subproject commit df09b976698fc024a944aaa918987c6fd78b8420 diff --git a/modules/DotNetTools b/modules/DotNetTools index 8586b2d47d..78b8c3337d 160000 --- a/modules/DotNetTools +++ b/modules/DotNetTools @@ -1 +1 @@ -Subproject commit 8586b2d47d9d3e54cb349bcb156bc4bb20426e5b +Subproject commit 78b8c3337d4725b9108422cd98c951facc9067c2 diff --git a/modules/EntityFrameworkCore b/modules/EntityFrameworkCore index 984c2c87d6..b9309a7e82 160000 --- a/modules/EntityFrameworkCore +++ b/modules/EntityFrameworkCore @@ -1 +1 @@ -Subproject commit 984c2c87d67d996e2a3c578ff1a7e8e1c4e0da80 +Subproject commit b9309a7e825e0283354e6b4e4480ca74e8b2888e diff --git a/modules/EventNotification b/modules/EventNotification index b6ed5ce753..055ae09952 160000 --- a/modules/EventNotification +++ b/modules/EventNotification @@ -1 +1 @@ -Subproject commit b6ed5ce7534a7ead28cbe4bc6dc0458f53b0d4f7 +Subproject commit 055ae09952d92d2484b00dbf0724e7f9d187d12f diff --git a/modules/FileSystem b/modules/FileSystem index 73a4b45edb..3d57b55d72 160000 --- a/modules/FileSystem +++ b/modules/FileSystem @@ -1 +1 @@ -Subproject commit 73a4b45edbb14b6f3f5063400ab67f83230d5414 +Subproject commit 3d57b55d72399fddeb8eadca118b44a8c979c912 diff --git a/modules/Hosting b/modules/Hosting index 86df76440b..844f6a57af 160000 --- a/modules/Hosting +++ b/modules/Hosting @@ -1 +1 @@ -Subproject commit 86df76440b450daa3972d5b317026b58f718b803 +Subproject commit 844f6a57af553d1cb89c113a5254470b735a1bd9 diff --git a/modules/HtmlAbstractions b/modules/HtmlAbstractions index dd02e6829e..ab623aeb00 160000 --- a/modules/HtmlAbstractions +++ b/modules/HtmlAbstractions @@ -1 +1 @@ -Subproject commit dd02e6829ef4210795c17d198a97465e9b1875ea +Subproject commit ab623aeb00dd27c9a55c9a4f1662b5304f9acfb4 diff --git a/modules/HttpAbstractions b/modules/HttpAbstractions index 9cfc7502c1..022f96fc70 160000 --- a/modules/HttpAbstractions +++ b/modules/HttpAbstractions @@ -1 +1 @@ -Subproject commit 9cfc7502c15bf0f2240121d7d68b515fe16a8c95 +Subproject commit 022f96fc7078d2879ab3ca78680ef6861f66ec54 diff --git a/modules/HttpSysServer b/modules/HttpSysServer index 1b5ba87bbb..b85f18fe18 160000 --- a/modules/HttpSysServer +++ b/modules/HttpSysServer @@ -1 +1 @@ -Subproject commit 1b5ba87bbb80d798bebdf73711a09a846205c19b +Subproject commit b85f18fe18f511df0af442f5c9d3485c09b909d0 diff --git a/modules/IISIntegration b/modules/IISIntegration index f270358b27..346315f5c0 160000 --- a/modules/IISIntegration +++ b/modules/IISIntegration @@ -1 +1 @@ -Subproject commit f270358b27174f0f6a6afae44715f8176bd9d486 +Subproject commit 346315f5c0f5f6ea064fb4f0fffe930d3717d91c diff --git a/modules/Identity b/modules/Identity index 0ab57e8184..15a82284ce 160000 --- a/modules/Identity +++ b/modules/Identity @@ -1 +1 @@ -Subproject commit 0ab57e8184f524928b4e58791172b5a9d98940b1 +Subproject commit 15a82284ce52dc8932c49f3246763f3ea05a3568 diff --git a/modules/JavaScriptServices b/modules/JavaScriptServices index 79fd6debad..44d39bc0d4 160000 --- a/modules/JavaScriptServices +++ b/modules/JavaScriptServices @@ -1 +1 @@ -Subproject commit 79fd6debad12fd4e9b7fbe5af125fa05ab402c00 +Subproject commit 44d39bc0d42c7f6c5a3f61cdeead4d70f625b6e2 diff --git a/modules/KestrelHttpServer b/modules/KestrelHttpServer index 35a9432ce8..4e5bcf3f02 160000 --- a/modules/KestrelHttpServer +++ b/modules/KestrelHttpServer @@ -1 +1 @@ -Subproject commit 35a9432ce8e1bdd003309785e6ab1fa857c6eecc +Subproject commit 4e5bcf3f021eda3b6875fbf5768158cff21d8971 diff --git a/modules/Localization b/modules/Localization index 4ee17ae30b..beacd97a93 160000 --- a/modules/Localization +++ b/modules/Localization @@ -1 +1 @@ -Subproject commit 4ee17ae30bfbd464e11ceb28a5e4ee00c6141725 +Subproject commit beacd97a93a768b333e4ab30c710fbd32150a2dc diff --git a/modules/Logging b/modules/Logging index 6f6781e3fe..c2bf63ed67 160000 --- a/modules/Logging +++ b/modules/Logging @@ -1 +1 @@ -Subproject commit 6f6781e3fe98a7d8005f7b8e13e9e302c4067119 +Subproject commit c2bf63ed67058ed86dd66f6fea85532b5ed4f67a diff --git a/modules/MetaPackages b/modules/MetaPackages index 57e644b813..c5dc6f6959 160000 --- a/modules/MetaPackages +++ b/modules/MetaPackages @@ -1 +1 @@ -Subproject commit 57e644b813bf51a7e73e092995dc8511511074ba +Subproject commit c5dc6f6959af04bfe0862acaf6db9d3086dcf07f diff --git a/modules/Microsoft.Data.Sqlite b/modules/Microsoft.Data.Sqlite index 20cc6f4533..da74078a40 160000 --- a/modules/Microsoft.Data.Sqlite +++ b/modules/Microsoft.Data.Sqlite @@ -1 +1 @@ -Subproject commit 20cc6f45334c0d715d0b5387165cd5fddb5133c8 +Subproject commit da74078a40763971fe12494de9f1dbdb8daf46ab diff --git a/modules/Mvc b/modules/Mvc index c9e2d585a4..aeab6e295e 160000 --- a/modules/Mvc +++ b/modules/Mvc @@ -1 +1 @@ -Subproject commit c9e2d585a49e861fe0c2f4846dedb44cba997b16 +Subproject commit aeab6e295efdc0b1d89c375b62a84fe3b6ba969e diff --git a/modules/MvcPrecompilation b/modules/MvcPrecompilation index 46d5f4e3d0..ff55ddbd92 160000 --- a/modules/MvcPrecompilation +++ b/modules/MvcPrecompilation @@ -1 +1 @@ -Subproject commit 46d5f4e3d056310955f180da6af9ebe1333a0534 +Subproject commit ff55ddbd92b0266ac28d9f486704376dc127f611 diff --git a/modules/Options b/modules/Options index 0ea1fec422..e8275d1dee 160000 --- a/modules/Options +++ b/modules/Options @@ -1 +1 @@ -Subproject commit 0ea1fec42203b95785d6beade2e8ea6a93cdf47b +Subproject commit e8275d1dee8a4e8b03f0d87e81ebc8ef586e2fb7 diff --git a/modules/Proxy b/modules/Proxy index f0bec28f34..4665584812 160000 --- a/modules/Proxy +++ b/modules/Proxy @@ -1 +1 @@ -Subproject commit f0bec28f34e41824019c5eb87de67c73173e6a26 +Subproject commit 466558481201e2fdedbd2d7d5fdfe288aae85a98 diff --git a/modules/Razor b/modules/Razor index cff2ef2e0a..386840c82b 160000 --- a/modules/Razor +++ b/modules/Razor @@ -1 +1 @@ -Subproject commit cff2ef2e0a3a6a24c689505dcbdceec228cd6d20 +Subproject commit 386840c82b3122d06c5139955f70a2a87f2d1d0a diff --git a/modules/ResponseCaching b/modules/ResponseCaching index b0362dab9c..d4606fe791 160000 --- a/modules/ResponseCaching +++ b/modules/ResponseCaching @@ -1 +1 @@ -Subproject commit b0362dab9cd4c5bf8de364694d4880ab2c948be5 +Subproject commit d4606fe791f7b4fe746003dff6553498f039edb1 diff --git a/modules/Routing b/modules/Routing index 763aa1447e..c3cdbf67f0 160000 --- a/modules/Routing +++ b/modules/Routing @@ -1 +1 @@ -Subproject commit 763aa1447e340c4d6607b1542183817d5f08e257 +Subproject commit c3cdbf67f0606cd95eafe4194924e1ca6439da20 diff --git a/modules/Scaffolding b/modules/Scaffolding index 793c266455..4361c9bb77 160000 --- a/modules/Scaffolding +++ b/modules/Scaffolding @@ -1 +1 @@ -Subproject commit 793c266455bf499d0d30434a4ef47cf673dd81c8 +Subproject commit 4361c9bb778f2ce9d2557eaa1cf6d5d682337670 diff --git a/modules/Security b/modules/Security index 598188a29a..36e6ab673e 160000 --- a/modules/Security +++ b/modules/Security @@ -1 +1 @@ -Subproject commit 598188a29a02d7793c4fe15fbe9c88197eb81a8a +Subproject commit 36e6ab673eaf305e604333be01fc909be0fd1125 diff --git a/modules/ServerTests b/modules/ServerTests index 9533c2c643..0c313bb216 160000 --- a/modules/ServerTests +++ b/modules/ServerTests @@ -1 +1 @@ -Subproject commit 9533c2c6435fb86137de0914a93e76a04567eef5 +Subproject commit 0c313bb2164330b127e8941f91c67930bf550453 diff --git a/modules/Session b/modules/Session index 6cbe68fb3c..643c53de3d 160000 --- a/modules/Session +++ b/modules/Session @@ -1 +1 @@ -Subproject commit 6cbe68fb3c40bbf5e9c9ca2e87b0e4d51d3964f1 +Subproject commit 643c53de3d75479559391e3ffde3e24f5feb5e73 diff --git a/modules/StaticFiles b/modules/StaticFiles index f83ec642e7..6be7940dda 160000 --- a/modules/StaticFiles +++ b/modules/StaticFiles @@ -1 +1 @@ -Subproject commit f83ec642e7421f6ae133d4ef459a20729c9c16fb +Subproject commit 6be7940dda62d06c40b6e0144f1fbe0adf66c6c4 diff --git a/modules/Templating b/modules/Templating index e3674db32e..c786c029f4 160000 --- a/modules/Templating +++ b/modules/Templating @@ -1 +1 @@ -Subproject commit e3674db32e34f4b43671e978eb9902b3b11fb214 +Subproject commit c786c029f45547fd3d01be534c4634c974fe7377 diff --git a/modules/Testing b/modules/Testing index e270986c14..7d50390d3a 160000 --- a/modules/Testing +++ b/modules/Testing @@ -1 +1 @@ -Subproject commit e270986c142758ab529d6635394c76482f9c5416 +Subproject commit 7d50390d3ae3e1eea19cac017062e402e4cc212b diff --git a/modules/WebSockets b/modules/WebSockets index 5a9214e335..32c29cb3c4 160000 --- a/modules/WebSockets +++ b/modules/WebSockets @@ -1 +1 @@ -Subproject commit 5a9214e3355be3d4b8eec873e3d51e5737e061f0 +Subproject commit 32c29cb3c4ac317e93010341fc597045388d03b4 diff --git a/scripts/PatchVersionPrefix.ps1 b/scripts/PatchVersionPrefix.ps1 index b67b953b60..de09ecd311 100755 --- a/scripts/PatchVersionPrefix.ps1 +++ b/scripts/PatchVersionPrefix.ps1 @@ -14,27 +14,7 @@ param( $ErrorActionPreference = 'Stop' -function SaveXml($xml, [string]$path) { - Write-Verbose "Saving to $path" - $ErrorActionPreference = 'stop' - - $settings = New-Object System.XML.XmlWriterSettings - $settings.OmitXmlDeclaration = $true - $settings.Encoding = New-Object System.Text.UTF8Encoding( $true ) - $writer = [System.XML.XMLTextWriter]::Create($path, $settings) - $xml.Save($writer) - $writer.Close() -} - -function LoadXml([string]$path) { - Write-Verbose "Reading to $path" - - $ErrorActionPreference = 'stop' - $obj = new-object xml - $obj.PreserveWhitespace = $true - $obj.Load($path) - return $obj -} +Import-Module -Scope Local -Force "$PSScriptRoot/common.psm1" function BumpPatch([System.Xml.XmlNode]$node) { if (-not $node) { diff --git a/scripts/common.psm1 b/scripts/common.psm1 index 5ed0f0ede7..0c3397fa96 100644 --- a/scripts/common.psm1 +++ b/scripts/common.psm1 @@ -64,3 +64,25 @@ function Get-Submodules { return $submodules } + +function SaveXml([xml]$xml, [string]$path) { + Write-Verbose "Saving to $path" + $ErrorActionPreference = 'stop' + + $settings = New-Object System.XML.XmlWriterSettings + $settings.OmitXmlDeclaration = $true + $settings.Encoding = New-Object System.Text.UTF8Encoding( $true ) + $writer = [System.XML.XMLTextWriter]::Create($path, $settings) + $xml.Save($writer) + $writer.Close() +} + +function LoadXml([string]$path) { + Write-Verbose "Reading to $path" + + $ErrorActionPreference = 'stop' + $obj = new-object xml + $obj.PreserveWhitespace = $true + $obj.Load($path) + return $obj +} From fa9d64bd8fb7f8351480c6ba391842c6b844e2cf Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 18 Jan 2018 22:11:47 -0800 Subject: [PATCH 35/93] Update BasicMiddleware and Kestrel submodules --- .gitmodules | 8 ++++---- modules/BasicMiddleware | 2 +- modules/KestrelHttpServer | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitmodules b/.gitmodules index 295fc54ba8..140677a735 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,8 +8,8 @@ branch = release/2.0 [submodule "modules/BasicMiddleware"] path = modules/BasicMiddleware - url = https://github.com/aspnet/BasicMiddleware.git - branch = release/2.0 + url = https://github.com/aspnet/BasicMiddleware-Private.git + branch = release/2.0-msrc [submodule "modules/BrowserLink"] path = modules/BrowserLink url = https://github.com/aspnet/BrowserLink.git @@ -56,8 +56,8 @@ branch = release/2.0 [submodule "modules/KestrelHttpServer"] path = modules/KestrelHttpServer - url = https://github.com/aspnet/KestrelHttpServer.git - branch = release/2.0 + url = https://github.com/aspnet/KestrelHttpServer-Private.git + branch = release/2.0-msrc [submodule "modules/Localization"] path = modules/Localization url = https://github.com/aspnet/Localization.git diff --git a/modules/BasicMiddleware b/modules/BasicMiddleware index 8fd34cbb2f..6138024884 160000 --- a/modules/BasicMiddleware +++ b/modules/BasicMiddleware @@ -1 +1 @@ -Subproject commit 8fd34cbb2f62cdf43a892289439b4bdf54ff9699 +Subproject commit 613802488474bf4938345417faf321e64a173272 diff --git a/modules/KestrelHttpServer b/modules/KestrelHttpServer index 4e5bcf3f02..93022c062b 160000 --- a/modules/KestrelHttpServer +++ b/modules/KestrelHttpServer @@ -1 +1 @@ -Subproject commit 4e5bcf3f021eda3b6875fbf5768158cff21d8971 +Subproject commit 93022c062b5ad4c2cf6717a0671b8e5984c72ab7 From 3e2c3a7ab5416e44e03f7bb1c55d51e15f57abb6 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 19 Jan 2018 09:11:33 -0800 Subject: [PATCH 36/93] Update templating module to include aspnet/Templating#231 --- modules/Templating | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Templating b/modules/Templating index c786c029f4..a177c557c5 160000 --- a/modules/Templating +++ b/modules/Templating @@ -1 +1 @@ -Subproject commit c786c029f45547fd3d01be534c4634c974fe7377 +Subproject commit a177c557c51203a10b29dd7d28eb6d47be6fb1bb From 523ee741f9273ddc3bdebf28e3dc0f9df9cf5782 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 19 Jan 2018 09:47:26 -0800 Subject: [PATCH 37/93] Update to .NET Core 2.0.6-servicing-26118-01 and System.Data.SqlClient 4.4.3-servicing-26117-02 --- build/dependencies.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 6eb34af301..d4f02cc365 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -29,7 +29,7 @@ 1.0.8 1.1.5 2.0.0 - 2.0.5 + 2.0.6-servicing-26118-01 @@ -47,6 +47,7 @@ + KRB2004 RuntimeFrameworkVersion @@ -270,7 +271,6 @@ - From 2f44dbd572017bdd5bdd9cef3e3b3c64d269598b Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 19 Jan 2018 11:06:41 -0800 Subject: [PATCH 38/93] Update FileSystem submodule to include aspnet/FileSystem#315 --- modules/FileSystem | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/FileSystem b/modules/FileSystem index 3d57b55d72..4f95e44f03 160000 --- a/modules/FileSystem +++ b/modules/FileSystem @@ -1 +1 @@ -Subproject commit 3d57b55d72399fddeb8eadca118b44a8c979c912 +Subproject commit 4f95e44f03cd9922e6bdc9180db370b7ada368c7 From df31235288d5b8592351b2f4648b38be15ac7049 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 19 Jan 2018 11:08:34 -0800 Subject: [PATCH 39/93] Ensure the required 2.0.x runtime is installed --- build/repo.props | 7 +++++++ build/repo.targets | 2 +- korebuild-lock.txt | 4 ++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/build/repo.props b/build/repo.props index 2e60df02b8..33c3c4f56f 100644 --- a/build/repo.props +++ b/build/repo.props @@ -6,6 +6,13 @@ true + + + + + diff --git a/build/repo.targets b/build/repo.targets index 788f91ad93..9af43196aa 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -22,7 +22,7 @@ $(PrepareDependsOn);VerifyPackageArtifactConfig;PrepareOutputPath $(CleanDependsOn);CleanArtifacts;CleanUniverseArtifacts - $(RestoreDependsOn);RestoreExternalDependencies + $(RestoreDependsOn);InstallDotNet;RestoreExternalDependencies $(CompileDependsOn);BuildRepositories $(PackageDependsOn);BuildTemplates;SplitPackages $(VerifyDependsOn);VerifyCoherentVersions diff --git a/korebuild-lock.txt b/korebuild-lock.txt index df86a509a5..72a056667f 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.0.5-rtm-10016 -commithash:02bda79ac9c564229da734a836f258d6c1321eb7 +version:2.0.5-rtm-10018 +commithash:bfff3b742331a70e257ac29391abdb36dc59dd06 From e42c6527d8c692cd4a30c100109f4f3bf2d5c612 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 19 Jan 2018 12:31:00 -0800 Subject: [PATCH 40/93] Update MvcPrecompilation to include fixes to failing tests --- modules/MvcPrecompilation | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/MvcPrecompilation b/modules/MvcPrecompilation index ff55ddbd92..aa8c8d6064 160000 --- a/modules/MvcPrecompilation +++ b/modules/MvcPrecompilation @@ -1 +1 @@ -Subproject commit ff55ddbd92b0266ac28d9f486704376dc127f611 +Subproject commit aa8c8d6064caf8220eb94c507b770ba6656935d2 From ae0207b578d85cc2491f682807aaec8f72e2125b Mon Sep 17 00:00:00 2001 From: John Luo Date: Fri, 19 Jan 2018 12:41:29 -0800 Subject: [PATCH 41/93] Updated ResponseCaching to include https://github.com/aspnet/ResponseCaching/pull/154 --- modules/ResponseCaching | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ResponseCaching b/modules/ResponseCaching index d4606fe791..2adda717c7 160000 --- a/modules/ResponseCaching +++ b/modules/ResponseCaching @@ -1 +1 @@ -Subproject commit d4606fe791f7b4fe746003dff6553498f039edb1 +Subproject commit 2adda717c749829f6c670f86a079508c14783390 From 5bd5ba962651e0f0b7b7d7483c36f5bc35a1f60e Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 19 Jan 2018 14:42:04 -0800 Subject: [PATCH 42/93] Mirror System.Data.SqlClient --- build/dependencies.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/dependencies.props b/build/dependencies.props index d4f02cc365..5698588b54 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -47,7 +47,7 @@ - + KRB2004 RuntimeFrameworkVersion From e9058ff3477491dab1e0008915da1ae608fe946f Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 19 Jan 2018 15:44:04 -0800 Subject: [PATCH 43/93] Update Scaffolding submodule to include aspnet/Scaffolding#676 --- modules/Scaffolding | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Scaffolding b/modules/Scaffolding index 4361c9bb77..8e389bea6b 160000 --- a/modules/Scaffolding +++ b/modules/Scaffolding @@ -1 +1 @@ -Subproject commit 4361c9bb778f2ce9d2557eaa1cf6d5d682337670 +Subproject commit 8e389bea6b88d85d0388926b5176a1e31cd951cc From 22c09387cbe19bf5ea93ef31cf24da1da952663d Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 19 Jan 2018 16:57:17 -0800 Subject: [PATCH 44/93] Update runtime store generation to respect DotNetAssetRootUrl --- build/RuntimeStoreInstaller.targets | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/build/RuntimeStoreInstaller.targets b/build/RuntimeStoreInstaller.targets index 4a6f4eeaa3..b50c54ec97 100644 --- a/build/RuntimeStoreInstaller.targets +++ b/build/RuntimeStoreInstaller.targets @@ -19,7 +19,8 @@ $(_PackagingDir)hosting_debian_config.json https://dotnetcli.blob.core.windows.net/dotnet - $(KOREBUILD_DOTNET_FEED_UNCACHED) + $(DotNetAssetRootUrl) + $(KOREBUILD_DOTNET_FEED_UNCACHED) $(PublicCoreFeedPrefix) $(PublicCoreFeedPrefix)/aspnetcore/store/$(PreviousRuntimeStoreArchiveVersion)/Build.RS. @@ -67,11 +68,11 @@ - + @@ -435,7 +436,7 @@ -e 'KOREBUILD_DOTNET_FEED_UNCACHED=$(KOREBUILD_DOTNET_FEED_UNCACHED)' -e "KOREBUILD_DOTNET_FEED_CREDENTIAL=$KOREBUILD_DOTNET_FEED_CREDENTIAL" docker-image-$(Image) - ./build.sh /t:RunDebTool" + ./build.sh /t:RunDebTool '/p:DotNetAssetRootUrl=$(DotNetAssetRootUrl)' '/p:DotNetAssetRootAccessTokenSuffix=$(DotNetAssetRootAccessTokenSuffix)'" ContinueOnError="WarnAndContinue" /> From 76cc53c2be604d163cfc1fb7ad432dee1bb79c8a Mon Sep 17 00:00:00 2001 From: Pranav K Date: Wed, 24 Jan 2018 17:42:25 -0800 Subject: [PATCH 45/93] Pick up templating changes --- modules/Templating | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Templating b/modules/Templating index a177c557c5..c50f840cce 160000 --- a/modules/Templating +++ b/modules/Templating @@ -1 +1 @@ -Subproject commit a177c557c51203a10b29dd7d28eb6d47be6fb1bb +Subproject commit c50f840ccef22cdc97de4bcca4facaa988f28962 From 0afcf7ed76cc5aa2707c0270ff4e2820615cdc41 Mon Sep 17 00:00:00 2001 From: John Luo Date: Mon, 29 Jan 2018 18:32:19 -0800 Subject: [PATCH 46/93] Produce timestamped cumulative runtime store archives to enable ingestion of timestamped packages --- build/RuntimeStoreInstaller.targets | 56 ++++++++++++++++++++++------- 1 file changed, 43 insertions(+), 13 deletions(-) diff --git a/build/RuntimeStoreInstaller.targets b/build/RuntimeStoreInstaller.targets index b50c54ec97..75e04186dc 100644 --- a/build/RuntimeStoreInstaller.targets +++ b/build/RuntimeStoreInstaller.targets @@ -25,7 +25,8 @@ $(PublicCoreFeedPrefix)/aspnetcore/store/$(PreviousRuntimeStoreArchiveVersion)/Build.RS. $(CoreFeedPrefix)/Runtime/$(MicrosoftNETCoreApp20PackageVersion)/dotnet-runtime-$(MicrosoftNETCoreApp20PackageVersion)-linux-x64.tar.gz - $(_TimestampRSSource)aspnetcore-store-$(PackageVersion)-linux-x64.tar.gz + $(_TimestampRSSource)aspnetcore-store-$(PackageVersion)- + $(TimestampRSArchivePrefix)linux-x64.tar.gz $(_TimestampFreeRSSource)aspnetcore-store-$(PackageVersionNoTimestamp)- $(TimestampFreeRSArchivePrefix)linux-x64.tar.gz @@ -43,8 +44,17 @@ + Text="Timestamp linux archive not found. Expected it to exist in $(TimestampLinuxRSArchive)." + Condition="!Exists('$(TimestampLinuxRSArchive)')" /> + + + @@ -132,7 +142,7 @@ + Properties="DependentArchives=$(DependentArchives);RSArchive=$(TimestampLinuxRSArchive);OutputArchiveName=$(HostingArchiveName)" /> - $(TimestampFreeRSArchivePrefix)linux-x64.tar.gz + Build.RS.linux.tar.gz + $(TimestampRSArchivePrefix)linux-x64.tar.gz - $(TimestampFreeRSArchivePrefix)osx-x64.tar.gz + Build.RS.osx.tar.gz + $(TimestampRSArchivePrefix)osx-x64.tar.gz - - $(TimestampFreeRSArchivePrefix)win7-x64.zip + + Build.RS.winx64.zip + $(TimestampRSArchivePrefix)win7-x64.zip + Build.RS.winx86.zip + $(TimestampRSArchivePrefix)win7-x86.zip + + + Build.RS.linux.tar.gz + $(TimestampFreeRSArchivePrefix)linux-x64.tar.gz + + + Build.RS.osx.tar.gz + $(TimestampFreeRSArchivePrefix)osx-x64.tar.gz + + + Build.RS.winx64.zip + $(TimestampFreeRSArchivePrefix)win7-x64.zip + + + Build.RS.winx86.zip $(TimestampFreeRSArchivePrefix)win7-x86.zip @@ -168,12 +198,12 @@ + Properties="DependentArchives=$(_InstallerSource)%(TargzArchives.DependentArchive);RSArchive=%(TargzArchives.RSArchive);OutputArchiveName=%(TargzArchives.Identity)" /> + Properties="DependentArchives=$(_InstallerSource)%(ZipArchives.DependentArchive);RSArchive=%(ZipArchives.RSArchive);OutputArchiveName=%(ZipArchives.Identity)" /> @@ -344,7 +374,7 @@ $(CommonHostingArguments);RPMLicense=@(_HostingLicense);RPMHomepage=@(_HostingHomepage) $(CommonArguments);$(CommonGenericArguments);$(CommonRSArguments) - $(TimestampRSArguments);RSArchive=$(TimestampRSArchive);RPMVersion=$(PackageVersion);RPMArguments=$(GenericRSArguments) + $(TimestampRSArguments);RSArchive=$(TimestampLinuxRSArchive);RPMVersion=$(PackageVersion);RPMArguments=$(GenericRSArguments) $(CommonArguments);$(CommonGenericArguments);$(CommonRSArguments) $(TimestampFreeRSArguments);RSArchive=$(TimestampFreeLinuxRSArchive);RPMVersion=$(PackageVersionNoTimestamp);RPMArguments=$(GenericRSArguments) @@ -356,7 +386,7 @@ $(TimestampFreeHostingArguments);RPMVersion=$(PackageVersionNoTimestamp);RPMArguments=$(TimestampFreeHostingFPMArguments) $(CommonArguments);$(CommonRHArguments);$(CommonRSArguments) - $(RHTimestampRSArguments);RSArchive=$(TimestampRSArchive);RPMVersion=$(PackageVersion);RPMArguments=$(RHRSArguments) + $(RHTimestampRSArguments);RSArchive=$(TimestampLinuxRSArchive);RPMVersion=$(PackageVersion);RPMArguments=$(RHRSArguments) $(CommonArguments);$(CommonRHArguments);$(CommonRSArguments) $(RHTimestampFreeRSArguments);RSArchive=$(TimestampFreeLinuxRSArchive);RPMVersion=$(PackageVersionNoTimestamp);RPMArguments=$(RHRSArguments) @@ -466,7 +496,7 @@ + Properties="$(CommonRSArguments);RSArchive=$(TimestampLinuxRSArchive);DebVersion=$(Version);RsDepVersion=$(RuntimeStoreInstallerDependencyVersion)" /> Date: Tue, 30 Jan 2018 10:53:24 -0800 Subject: [PATCH 47/93] Update rhel.7 image used to build rpms --- build/tools/docker/rhel.7/Dockerfile | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/build/tools/docker/rhel.7/Dockerfile b/build/tools/docker/rhel.7/Dockerfile index 73247d2809..331cb6335b 100644 --- a/build/tools/docker/rhel.7/Dockerfile +++ b/build/tools/docker/rhel.7/Dockerfile @@ -4,11 +4,7 @@ # # Dockerfile that creates a container suitable to build dotnet-cli -FROM microsoft/dotnet-buildtools-prereqs:rhel-7-rpmpkg-c982313-20174116044113 - -# Install from sudo main package TODO This package needs to be mirrored -RUN yum install -y https://www.sudo.ws/sudo/dist/packages/RHEL/7/sudo-1.8.20-3.el7.x86_64.rpm \ - && yum clean all +FROM microsoft/dotnet-buildtools-prereqs:rhel-7-rpmpkg-e1b4a89-20175311035359 # Setup User to match Host User, and give superuser permissions ARG USER_ID=0 From 4f82c3e230826e76c88253b6a36b23d40f6d6977 Mon Sep 17 00:00:00 2001 From: "Chris Ross (ASP.NET)" Date: Fri, 2 Feb 2018 12:18:48 -0800 Subject: [PATCH 48/93] Add new WsFederation package and dependencies --- build/artifacts.props | 1 + build/dependencies.props | 2 ++ modules/Security | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/build/artifacts.props b/build/artifacts.props index 56d2b4a8c5..659d741f28 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -22,6 +22,7 @@ + diff --git a/build/dependencies.props b/build/dependencies.props index 6eb34af301..ae62e8ea70 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -227,6 +227,7 @@ + @@ -272,6 +273,7 @@ + diff --git a/modules/Security b/modules/Security index 36e6ab673e..bbf5cac2ab 160000 --- a/modules/Security +++ b/modules/Security @@ -1 +1 @@ -Subproject commit 36e6ab673eaf305e604333be01fc909be0fd1125 +Subproject commit bbf5cac2abd1cf4dca6831ae71097571c036ee56 From bb5bf073c22795447ae3b6f6c981a549b9774093 Mon Sep 17 00:00:00 2001 From: Pranav K Date: Tue, 13 Feb 2018 09:50:41 -0800 Subject: [PATCH 49/93] Update to final versions --- build/dependencies.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index e5d5b37f9b..25f05e3086 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -29,7 +29,7 @@ 1.0.8 1.1.5 2.0.0 - 2.0.6-servicing-26118-01 + 2.0.6 @@ -47,7 +47,7 @@ - + KRB2004 RuntimeFrameworkVersion From 71676f78880bcf534a6dba9d1f5bbc954ec5c04c Mon Sep 17 00:00:00 2001 From: John Luo Date: Tue, 13 Feb 2018 11:26:37 -0800 Subject: [PATCH 50/93] Fix typo --- build/RuntimeStoreInstaller.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/RuntimeStoreInstaller.targets b/build/RuntimeStoreInstaller.targets index 75e04186dc..d1f7fef085 100644 --- a/build/RuntimeStoreInstaller.targets +++ b/build/RuntimeStoreInstaller.targets @@ -168,7 +168,7 @@ Build.RS.osx.tar.gz $(TimestampRSArchivePrefix)osx-x64.tar.gz - + Build.RS.winx64.zip $(TimestampRSArchivePrefix)win7-x64.zip From 2a7d2ea12e1d62776bd8ca951c2da3510d475de8 Mon Sep 17 00:00:00 2001 From: John Luo Date: Mon, 29 Jan 2018 18:32:19 -0800 Subject: [PATCH 51/93] Produce timestamped cumulative runtime store archives to enable ingestion of timestamped packages --- build/RuntimeStoreInstaller.targets | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/build/RuntimeStoreInstaller.targets b/build/RuntimeStoreInstaller.targets index d1f7fef085..d5d0bce601 100644 --- a/build/RuntimeStoreInstaller.targets +++ b/build/RuntimeStoreInstaller.targets @@ -162,35 +162,35 @@ Build.RS.linux.tar.gz - $(TimestampRSArchivePrefix)linux-x64.tar.gz + $(TimestampFreeRSArchivePrefix)linux-x64.tar.gz Build.RS.osx.tar.gz - $(TimestampRSArchivePrefix)osx-x64.tar.gz + $(TimestampFreeRSArchivePrefix)osx-x64.tar.gz Build.RS.winx64.zip - $(TimestampRSArchivePrefix)win7-x64.zip + $(TimestampFreeRSArchivePrefix)win7-x64.zip Build.RS.winx86.zip - $(TimestampRSArchivePrefix)win7-x86.zip + $(TimestampFreeRSArchivePrefix)win7-x86.zip Build.RS.linux.tar.gz - $(TimestampFreeRSArchivePrefix)linux-x64.tar.gz + $(TimestampRSArchivePrefix)linux-x64.tar.gz Build.RS.osx.tar.gz - $(TimestampFreeRSArchivePrefix)osx-x64.tar.gz + $(TimestampRSArchivePrefix)osx-x64.tar.gz Build.RS.winx64.zip - $(TimestampFreeRSArchivePrefix)win7-x64.zip + $(TimestampRSArchivePrefix)win7-x64.zip Build.RS.winx86.zip - $(TimestampFreeRSArchivePrefix)win7-x86.zip + $(TimestampRSArchivePrefix)win7-x86.zip From f868fd8558446337ecdf9286e99f2e523ed835c6 Mon Sep 17 00:00:00 2001 From: = Date: Tue, 20 Feb 2018 10:45:50 -0800 Subject: [PATCH 52/93] Rename cumulatvie runtimestores for publishing --- build/RuntimeStoreInstaller.targets | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/build/RuntimeStoreInstaller.targets b/build/RuntimeStoreInstaller.targets index d5d0bce601..f36e791620 100644 --- a/build/RuntimeStoreInstaller.targets +++ b/build/RuntimeStoreInstaller.targets @@ -555,5 +555,28 @@ OverwriteReadOnlyFiles="True" SkipUnchangedFiles="False" UseHardlinksIfPossible="False" /> + + + + + $(RSInstallerName)-$(PackageVersionNoTimestamp)-linux-x64.tar.gz + + + $(RSInstallerName)-$(PackageVersionNoTimestamp)-osx-x64.tar.gz + + + $(RSInstallerName)-$(PackageVersionNoTimestamp)-win7-x64.zip + + + $(RSInstallerName)-$(PackageVersionNoTimestamp)-win7-x86.zip + + + + From a16c3614d4a0c6c158d3f96a1f95662deda62880 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 13 Mar 2018 16:35:46 -0700 Subject: [PATCH 53/93] Update submodule urls --- .gitmodules | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 140677a735..346d96ae02 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,7 +8,7 @@ branch = release/2.0 [submodule "modules/BasicMiddleware"] path = modules/BasicMiddleware - url = https://github.com/aspnet/BasicMiddleware-Private.git + url = https://github.com/aspnet/BasicMiddleware.git branch = release/2.0-msrc [submodule "modules/BrowserLink"] path = modules/BrowserLink @@ -56,7 +56,7 @@ branch = release/2.0 [submodule "modules/KestrelHttpServer"] path = modules/KestrelHttpServer - url = https://github.com/aspnet/KestrelHttpServer-Private.git + url = https://github.com/aspnet/KestrelHttpServer.git branch = release/2.0-msrc [submodule "modules/Localization"] path = modules/Localization From 027a6588f9e59cc6389de3a6a68b662915452396 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 13 Mar 2018 18:09:00 -0700 Subject: [PATCH 54/93] Backport scripts from dev used to generate tags on repos --- scripts/GenerateTags.ps1 | 106 ++++++++++++++++++++++++++++++ scripts/GetPackageVersion.targets | 5 ++ scripts/UpdateBuildTools.ps1 | 0 3 files changed, 111 insertions(+) create mode 100755 scripts/GenerateTags.ps1 create mode 100644 scripts/GetPackageVersion.targets mode change 100644 => 100755 scripts/UpdateBuildTools.ps1 diff --git a/scripts/GenerateTags.ps1 b/scripts/GenerateTags.ps1 new file mode 100755 index 0000000000..958ab36378 --- /dev/null +++ b/scripts/GenerateTags.ps1 @@ -0,0 +1,106 @@ +#!/usr/bin/env pwsh + +<# +.SYNOPSIS + Generates a tag on this repo and adds a tag for each submodule that corresponds + to the value in version.props +.PARAMETER Push + Push the tag to origin +.PARAMETER WhatIf + Dry run +#> +[cmdletbinding(PositionalBinding = $false, SupportsShouldProcess = $true)] +param( + [switch]$Push +) + +$ErrorActionPreference = 'Stop' +Import-Module -Scope Local -Force "$PSScriptRoot/common.psm1" +Set-StrictMode -Version 1 + +function New-GitTag { + [cmdletbinding(SupportsShouldProcess = $true)] + param( + [Parameter(Mandatory = $true)] + [string]$Repo, + [Parameter(Mandatory = $true)] + [string]$Tag + ) + + Push-Location $Repo + try { + git show-ref --tags --verify "refs/tags/$Tag" -q + $existingTag = $? + + if ($existingTag) { + Write-Warning "${Repo}: Tag '$Tag' already exists. Skipped adding tag" + } + else { + if ($PSCmdlet.ShouldProcess($Repo, "Tag $Tag")) { + Invoke-Block { & git tag -m "v$Tag" $Tag HEAD } + Write-Host -f Magenta "${Repo}: added tag '$Tag'" + } + } + + if ($Push -and $PSCmdlet.ShouldProcess($Repo, "Push tag $Tag to origin")) { + Invoke-Block { & git push origin refs/tags/$Tag } + } + } + finally { + Pop-Location + } +} + +# +# Gets the package version by invoking KoreBuild on a repo with a custom target that spits out the package version +# +function Get-PackageVersion([string]$repoRoot) { + $buildScript = if (-not $IsCoreCLR -or $IsWindows) { 'build.ps1' } else { 'build.sh' } + $inspectTarget = "/p:CustomAfterKoreBuildTargets=$PSScriptRoot/GetPackageVersion.targets" + # Add the /t:Noop target which may be used by the bootstrapper to skip unimportant initialization + $output = & "$repoRoot/$buildScript" $inspectTarget /v:m /p:IsFinalBuild=true /t:Noop /t:GetPackageVersion + $output | out-string | Write-Verbose + if (-not $? -or $LASTEXITCODE -ne 0) { + throw "$buildScript failed on $repoRoot. Exit code $LASTEXITCODE" + } + $packageVersion = $output | where-object { $_ -like '*PackageVersion=*' } | select-object -first 1 + $packageVersion = $packageVersion -replace 'PackageVersion=','' + if ($packageVersion) { $packageVersion = $packageVersion.Trim() } + if (-not $packageVersion) { + throw "Could not determine final package version for $repoRoot" + } + return $packageVersion.Trim() +} + +$repoRoot = Resolve-Path "$PSScriptRoot/../" + +Write-Warning "Make sure you have run ``git submodule update`` first to pin the submodules to the correct commit" +if (-not $PSCmdlet.ShouldContinue("Continue?", "This will apply tags to all submodules")) { + Write-Host "Exiting" + exit 1 +} + +$universeTag = Get-PackageVersion $repoRoot +New-GitTag $repoRoot $universeTag -WhatIf:$WhatIfPreference + +Get-Submodules $repoRoot | ForEach-Object { + $modPath = $_.path + $module = $_.module + if (-not (Test-Path (Join-Path $_.path 'version.props'))) { + Write-Warning "$module does not have a version.props file. Skipping" + return + } + + try { + $tag = Get-PackageVersion $_.path + if ($tag -ne $universeTag) { + Write-Warning "${module}: version ($tag) does not match universe ($universeTag)" + } + } + catch { + Write-Warning "${module}: Could not automatically determine tag for $modPath. Skipping" + return + } + + New-GitTag $_.path $tag -WhatIf:$WhatIfPreference +} diff --git a/scripts/GetPackageVersion.targets b/scripts/GetPackageVersion.targets new file mode 100644 index 0000000000..061c114027 --- /dev/null +++ b/scripts/GetPackageVersion.targets @@ -0,0 +1,5 @@ + + + + + diff --git a/scripts/UpdateBuildTools.ps1 b/scripts/UpdateBuildTools.ps1 old mode 100644 new mode 100755 From a313aead2a43b5b4a9ead00edf54b058871148ca Mon Sep 17 00:00:00 2001 From: John Luo Date: Fri, 16 Mar 2018 11:47:50 -0700 Subject: [PATCH 55/93] Update supported installer platforms Remove ubuntu 17.04 Add ubuntu 17.10 Add ubuntu 18.04 --- build/RuntimeStoreInstaller.targets | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/build/RuntimeStoreInstaller.targets b/build/RuntimeStoreInstaller.targets index f36e791620..958975810d 100644 --- a/build/RuntimeStoreInstaller.targets +++ b/build/RuntimeStoreInstaller.targets @@ -548,10 +548,18 @@ SkipUnchangedFiles="False" UseHardlinksIfPossible="False" /> - + + + + From a286e62c3d4176c556bfd9a0265d381ba51908dd Mon Sep 17 00:00:00 2001 From: Jass Bagga Date: Wed, 21 Mar 2018 12:34:00 -0700 Subject: [PATCH 56/93] Update Templating to include changes from release/2.0 (#981) --- modules/Templating | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/Templating b/modules/Templating index c50f840cce..9f49dce2f5 160000 --- a/modules/Templating +++ b/modules/Templating @@ -1 +1 @@ -Subproject commit c50f840ccef22cdc97de4bcca4facaa988f28962 +Subproject commit 9f49dce2f50458c0719f292e0a98a7cf5f140e50 From 6eb4b0ecfbe24aa97352a800369279d01faad46e Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 22 Mar 2018 10:06:08 -0700 Subject: [PATCH 57/93] Prepare the 2.0.7 patch --- build/RepositoryBuild.targets | 2 +- build/Templating.targets | 3 +- build/artifacts.props | 179 ----------------------- build/dependencies.props | 257 +++++++++++++++++++++++++++++----- build/repo.targets | 16 ++- build/submodules.props | 78 +++++------ korebuild-lock.txt | 4 +- modules/Templating | 2 +- version.props | 6 +- 9 files changed, 278 insertions(+), 269 deletions(-) diff --git a/build/RepositoryBuild.targets b/build/RepositoryBuild.targets index e46c3a157b..bbcc652f82 100644 --- a/build/RepositoryBuild.targets +++ b/build/RepositoryBuild.targets @@ -1,5 +1,5 @@ - + %(RepositoryBuildOrder.Order) diff --git a/build/Templating.targets b/build/Templating.targets index 24dc7eef78..54cebd94f4 100644 --- a/build/Templating.targets +++ b/build/Templating.targets @@ -40,7 +40,8 @@ + ContinueOnError="WarnAndContinue" + Condition=" '%(Repository.Identity)' != ''"> diff --git a/build/artifacts.props b/build/artifacts.props index 659d741f28..eec23a6efe 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -10,189 +10,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/build/dependencies.props b/build/dependencies.props index 25f05e3086..68c13b214f 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -1,4 +1,4 @@ - + @@ -197,7 +197,7 @@ netcoreapp2.0 - + @@ -208,7 +208,7 @@ - + KRB2004 @@ -216,24 +216,24 @@ KRB2004 - + KRB2004 - + KRB2004 - + - + - + @@ -243,9 +243,9 @@ - + - + NETStandardLibrary20PackageVersion @@ -260,45 +260,45 @@ KRB2004 NewtonsoftJsonRuntimePackageVersion - - + + - + - - + + - + - + - + - - + + - - + + - - + + KRB2004 XunitAssertStablePackageVersion - + KRB2004 - + XunitRunnerVisualStudioPackageVersion @@ -306,7 +306,7 @@ KRB2004 XunitStablePackageVersion - + KRB2004 @@ -320,19 +320,202 @@ not building again in this patch. --> - - - - - - - - - - https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/repo.targets b/build/repo.targets index 9af43196aa..8f02b10924 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -96,13 +96,14 @@ - - + + + ContinueOnError="WarnAndContinue" + Condition="'%(Repository.Identity)' != ''"> @@ -116,7 +117,8 @@ + ContinueOnError="WarnAndContinue" + Condition="'%(Repository.Identity)' != ''"> @@ -128,13 +130,15 @@ + ContinueOnError="WarnAndContinue" + Condition="'%(ShippedRepository.Identity)' != ''"> + ContinueOnError="WarnAndContinue" + Condition="'%(ShippedRepository.Identity)' != ''"> diff --git a/build/submodules.props b/build/submodules.props index ad60e882e4..cac8f3235e 100644 --- a/build/submodules.props +++ b/build/submodules.props @@ -7,53 +7,53 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 72a056667f..24286f69c1 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.0.5-rtm-10018 -commithash:bfff3b742331a70e257ac29391abdb36dc59dd06 +version:2.0.7-rtm-10021 +commithash:fd7692bd19ce7859829f4a1d28194a133d7a76a0 diff --git a/modules/Templating b/modules/Templating index 9f49dce2f5..5dad28a2aa 160000 --- a/modules/Templating +++ b/modules/Templating @@ -1 +1 @@ -Subproject commit 9f49dce2f50458c0719f292e0a98a7cf5f140e50 +Subproject commit 5dad28a2aa4acefcbbd6a86097f09fcbf5179eba diff --git a/version.props b/version.props index 79f91aa50e..6293bceb0b 100644 --- a/version.props +++ b/version.props @@ -1,6 +1,6 @@ - 2.0.6 + 2.0.7 rtm $(VersionPrefix) $(VersionPrefix) @@ -9,7 +9,7 @@ $(VersionSuffix)-$(BuildNumber) - 2.0.5-155 - 2.0.5 + 2.0.6-10011 + 2.0.6 From e5822232bb5c2ef4dc620a1d803ae6e27f90afb0 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 22 Mar 2018 15:15:52 -0700 Subject: [PATCH 58/93] Update to .NET Core 2.0.7-servicing-26322-01 --- build/dependencies.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/dependencies.props b/build/dependencies.props index 68c13b214f..9f8a30508a 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -29,7 +29,7 @@ 1.0.8 1.1.5 2.0.0 - 2.0.6 + 2.0.7-servicing-26322-01 From 2dbb33d3163b9f651cd62c6ad8999a7f893b9e64 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 26 Mar 2018 11:53:34 -0700 Subject: [PATCH 59/93] Update to build tools 2.0.7-rtm-10025 and remove custom DownloadNuGetPackages task in favor of the one in build tools --- build/dependencies.props | 1 + build/repo.targets | 4 +- build/tasks/DownloadNuGetPackages.cs | 196 --------------------------- build/tasks/RepoTasks.tasks | 1 - korebuild-lock.txt | 4 +- 5 files changed, 5 insertions(+), 201 deletions(-) delete mode 100644 build/tasks/DownloadNuGetPackages.cs diff --git a/build/dependencies.props b/build/dependencies.props index 9f8a30508a..eb3977bc8c 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -44,6 +44,7 @@ https://api.nuget.org/v3/index.json + $(DotNetCorePatchFeed);$(DotNetCoreFeed) diff --git a/build/repo.targets b/build/repo.targets index 8f02b10924..47b6aa7521 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -33,11 +33,11 @@ - - diff --git a/build/tasks/DownloadNuGetPackages.cs b/build/tasks/DownloadNuGetPackages.cs deleted file mode 100644 index f1d0d6300b..0000000000 --- a/build/tasks/DownloadNuGetPackages.cs +++ /dev/null @@ -1,196 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.IO; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; -using Microsoft.Build.Framework; -using Microsoft.Build.Utilities; -using NuGet.Build; -using NuGet.Commands; -using NuGet.Configuration; -using NuGet.DependencyResolver; -using NuGet.Packaging.Core; -using NuGet.Protocol; -using NuGet.Protocol.Core.Types; -using NuGet.Versioning; -using Task = System.Threading.Tasks.Task; - -namespace RepoTasks -{ - public class DownloadNuGetPackages : Microsoft.Build.Utilities.Task, ICancelableTask - { - private static readonly Task FalseTask = Task.FromResult(false); - private readonly CancellationTokenSource _cts = new CancellationTokenSource(); - - [Required] - public ITaskItem[] Packages { get; set; } - - [Required] - public string DestinationFolder { get; set; } - - [Output] - public ITaskItem[] Files { get; set; } - - public void Cancel() => _cts.Cancel(); - - public override bool Execute() - { - return ExecuteAsync().GetAwaiter().GetResult(); - } - - public async Task ExecuteAsync() - { - DestinationFolder = DestinationFolder.Replace('\\', '/'); - - var requests = new Dictionary>(StringComparer.OrdinalIgnoreCase); - var files = new List(); - var downloadCount = 0; - foreach (var item in Packages) - { - var id = item.ItemSpec; - var rawVersion = item.GetMetadata("Version"); - if (!NuGetVersion.TryParse(rawVersion, out var version)) - { - Log.LogError($"Package '{id}' has an invalid 'Version' metadata value: '{rawVersion}'."); - return false; - } - - var source = item.GetMetadata("Source"); - if (string.IsNullOrEmpty(source)) - { - Log.LogError($"Package '{id}' is missing the 'Source' metadata value."); - return false; - } - - if (!requests.TryGetValue(source, out var packages)) - { - packages = requests[source] = new List(); - } - - var request = new PackageIdentity(id, version); - var dest = GetExpectedOutputPath(request); - files.Add(new TaskItem(dest)); - if (File.Exists(dest)) - { - Log.LogMessage($"Skipping {request.Id} {request.Version}. Already exists in '{dest}'"); - continue; - } - else - { - downloadCount++; - packages.Add(request); - } - } - - Files = files.ToArray(); - - if (downloadCount == 0) - { - Log.LogMessage("All packages are downloaded."); - return true; - } - - Directory.CreateDirectory(DestinationFolder); - var logger = new MSBuildLogger(Log); - var timer = Stopwatch.StartNew(); - - logger.LogMinimal($"Downloading {downloadCount} package(s)"); - - using (var cacheContext = new SourceCacheContext()) - { - var defaultSettings = Settings.LoadDefaultSettings(root: null, configFileName: null, machineWideSettings: null); - var sourceProvider = new CachingSourceProvider(new PackageSourceProvider(defaultSettings)); - var tasks = new List>(); - - foreach (var feed in requests) - { - var repo = sourceProvider.CreateRepository(new PackageSource(feed.Key)); - tasks.Add(DownloadPackagesAsync(repo, feed.Value, cacheContext, logger, _cts.Token)); - } - - var all = Task.WhenAll(tasks); - var wait = TimeSpan.FromSeconds(Math.Max(downloadCount * 5, 120)); - var delay = Task.Delay(wait); - - var finished = await Task.WhenAny(all, delay); - if (ReferenceEquals(delay, finished)) - { - Log.LogError($"Timed out after {wait.TotalSeconds}s"); - Cancel(); - return false; - } - - if (!tasks.All(a => a.Result)) - { - Log.LogError("Failed to download all packages"); - return false; - } - - timer.Stop(); - logger.LogMinimal($"Finished downloading {downloadCount} package(s) in {timer.ElapsedMilliseconds}ms"); - return true; - } - } - - private async Task DownloadPackagesAsync( - SourceRepository repo, - IEnumerable requests, - SourceCacheContext cacheContext, - NuGet.Common.ILogger logger, - CancellationToken cancellationToken) - { - var remoteLibraryProvider = new SourceRepositoryDependencyProvider(repo, logger, cacheContext, ignoreFailedSources: false, ignoreWarning: false); - var downloads = new List>(); - var metadataResource = await repo.GetResourceAsync(); - - foreach (var request in requests) - { - cancellationToken.ThrowIfCancellationRequested(); - - if (metadataResource != null && !await metadataResource.Exists(request, logger, cancellationToken)) - { - logger.LogError($"Package {request.Id} {request.Version} is not available on '{repo}'"); - downloads.Add(FalseTask); - continue; - } - - var download = DownloadPackageAsync(cacheContext, logger, remoteLibraryProvider, request, cancellationToken); - downloads.Add(download); - } - - await Task.WhenAll(downloads); - return downloads.All(d => d.Result); - } - - private async Task DownloadPackageAsync(SourceCacheContext cacheContext, - NuGet.Common.ILogger logger, - SourceRepositoryDependencyProvider remoteLibraryProvider, - PackageIdentity request, - CancellationToken cancellationToken) - { - var dest = GetExpectedOutputPath(request); - logger.LogInformation($"Downloading {request.Id} {request.Version} to '{dest}'"); - - using (var packageDependency = await remoteLibraryProvider.GetPackageDownloaderAsync(request, cacheContext, logger, cancellationToken)) - { - if (!await packageDependency.CopyNupkgFileToAsync(dest, cancellationToken)) - { - logger.LogError($"Could not download {request.Id} {request.Version} from {remoteLibraryProvider.Source}"); - return false; - } - } - - return true; - } - - private string GetExpectedOutputPath(PackageIdentity request) - { - return Path.Combine(DestinationFolder, $"{request.Id.ToLowerInvariant()}.{request.Version.ToNormalizedString()}.nupkg"); - } - } -} diff --git a/build/tasks/RepoTasks.tasks b/build/tasks/RepoTasks.tasks index 569b766901..0eac7ce700 100644 --- a/build/tasks/RepoTasks.tasks +++ b/build/tasks/RepoTasks.tasks @@ -6,7 +6,6 @@ - diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 24286f69c1..148395b3cf 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.0.7-rtm-10021 -commithash:fd7692bd19ce7859829f4a1d28194a133d7a76a0 +version:2.0.7-rtm-10025 +commithash:bba59d713569bcf1b0095db91e41c9b11a075e79 From fbf8e886ba4696f38d05ec8362ae4db020d80eff Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 26 Mar 2018 13:32:10 -0700 Subject: [PATCH 60/93] Update to build tools 2.0.7-rtm-10027 --- korebuild-lock.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 148395b3cf..f22768dc12 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.0.7-rtm-10025 -commithash:bba59d713569bcf1b0095db91e41c9b11a075e79 +version:2.0.7-rtm-10027 +commithash:13a02f8875b73d7f9f922fce7b82fe6a44956247 From 957a6044e46d9b33f764b8b0366b5d91b431d1a1 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 26 Mar 2018 13:59:27 -0700 Subject: [PATCH 61/93] Fix misaligned MSBuild variable name --- build/Templating.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Templating.targets b/build/Templating.targets index 54cebd94f4..175942417e 100644 --- a/build/Templating.targets +++ b/build/Templating.targets @@ -8,7 +8,7 @@ $(IntermediateDir)dependencies.notimestamp.props RepositoryRoot=$(TemplatingProjectRoot); - DotNetRestoreSourcesPropsPath=$(GeneratedRestoreSourcesPropsPath); + DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcesPropsPath); BuildNumber=$(BuildNumber); Configuration=$(Configuration); SkipBillOfMaterials=true; From eb5b94e3c48b00079597fb9f75cbeef757eb7ef1 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 26 Mar 2018 16:03:09 -0700 Subject: [PATCH 62/93] Make consistent variable names for RestoreSourcePropsPath --- build/RepositoryBuild.targets | 2 +- build/RuntimeStore.targets | 14 +++++++------- build/Templating.targets | 2 +- build/repo.targets | 8 ++++---- .../tools/templates/RS.Manifest/RS.Manifest.csproj | 2 +- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/build/RepositoryBuild.targets b/build/RepositoryBuild.targets index bbcc652f82..07d45bb2c6 100644 --- a/build/RepositoryBuild.targets +++ b/build/RepositoryBuild.targets @@ -41,7 +41,7 @@ $(RepositoryBuildArguments) /p:AspNetUniverseBuildOffline=true - $(RepositoryBuildArguments) /p:DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcesPropsPath) + $(RepositoryBuildArguments) /p:DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcePropsPath) $(RepositoryBuildArguments) /p:DotNetPackageVersionPropsPath=$(GeneratedPackageVersionPropsPath) $(RepositoryBuildArguments) /p:BuildNumber=$(BuildNumber) $(RepositoryBuildArguments) /p:Configuration=$(Configuration) diff --git a/build/RuntimeStore.targets b/build/RuntimeStore.targets index 5fc3b44466..9592fc5be5 100644 --- a/build/RuntimeStore.targets +++ b/build/RuntimeStore.targets @@ -49,12 +49,12 @@ + Properties="Configuration=$(Configuration);BuildNumber=$(BuildNumber);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcePropsPath);AspNetUniverseBuildOffline=true;_Target=Restore" /> + Properties="Configuration=$(Configuration);BuildNumber=$(BuildNumber);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcePropsPath);AspNetUniverseBuildOffline=true" /> @@ -86,12 +86,12 @@ + Properties="Configuration=$(Configuration);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcePropsPath);_Target=Restore" /> + Properties="Configuration=$(Configuration);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcePropsPath)" /> @@ -110,11 +110,11 @@ + OutputPath="$(GeneratedRestoreSourcePropsPath)" /> <_RsManifestProps>MicrosoftAspNetCoreAllPackageVersion=$(PackageVersion) - <_RsManifestProps>$(_RsManifestProps);DotNetRestoreSourcesPropsPath=$(GeneratedRestoreSourcesPropsPath) + <_RsManifestProps>$(_RsManifestProps);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcePropsPath) @@ -152,7 +152,7 @@ $(_WorkRoot)HostingStartup\ <_HostingStartupProps>DepsOutputPath=$(_DepsOutputDirectory) - <_HostingStartupProps>$(_HostingStartupProps);DotNetRestoreSourcesPropsPath=$(GeneratedRestoreSourcesPropsPath) + <_HostingStartupProps>$(_HostingStartupProps);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcePropsPath) <_HostingStartupProps>$(_HostingStartupProps);RuntimeFrameworkVersion=$(MicrosoftNETCoreApp20PackageVersion) <_HostingStartupProps>$(_HostingStartupProps);HostingStartupPackageName=$(HostingStartupPackageName) <_HostingStartupProps>$(_HostingStartupProps);HostingStartupPackageVersion=$(HostingStartupPackageVersion) diff --git a/build/Templating.targets b/build/Templating.targets index 175942417e..003ad20ddb 100644 --- a/build/Templating.targets +++ b/build/Templating.targets @@ -8,7 +8,7 @@ $(IntermediateDir)dependencies.notimestamp.props RepositoryRoot=$(TemplatingProjectRoot); - DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcesPropsPath); + DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcePropsPath); BuildNumber=$(BuildNumber); Configuration=$(Configuration); SkipBillOfMaterials=true; diff --git a/build/repo.targets b/build/repo.targets index 47b6aa7521..caeb8ab94e 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -18,7 +18,7 @@ $(IntermediateDir)ext\ $(IntermediateDir)dependencies.props - $(IntermediateDir)sources.props + $(IntermediateDir)sources.props $(PrepareDependsOn);VerifyPackageArtifactConfig;PrepareOutputPath $(CleanDependsOn);CleanArtifacts;CleanUniverseArtifacts @@ -62,7 +62,7 @@ + OutputPath="$(GeneratedRestoreSourcePropsPath)" /> @@ -166,14 +166,14 @@ Solutions="@(Solution)" Artifacts="@(ArtifactInfo);@(ShippedArtifactInfo)" Repositories="@(Repository);@(ShippedRepository)" - Properties="Configuration=$(Configuration);BuildNumber=$(BuildNumber);DotNetPackageVersionPropsPath=$(GeneratedPackageVersionPropsPath);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcesPropsPath)" /> + Properties="Configuration=$(Configuration);BuildNumber=$(BuildNumber);DotNetPackageVersionPropsPath=$(GeneratedPackageVersionPropsPath);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcePropsPath)" /> + Properties="Configuration=$(Configuration);BuildNumber=$(BuildNumber);DotNetPackageVersionPropsPath=$(GeneratedPackageVersionPropsPath);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcePropsPath)"> diff --git a/build/tools/templates/RS.Manifest/RS.Manifest.csproj b/build/tools/templates/RS.Manifest/RS.Manifest.csproj index abb2d76d90..7d1d0f66ab 100644 --- a/build/tools/templates/RS.Manifest/RS.Manifest.csproj +++ b/build/tools/templates/RS.Manifest/RS.Manifest.csproj @@ -1,6 +1,6 @@ - + netcoreapp2.0 From 2efb163714fc2bed172ce588496001701c84dfef Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 26 Mar 2018 16:14:30 -0700 Subject: [PATCH 63/93] Generate branding.g.props for use in downstream builds that need to align version information --- build/repo.targets | 30 ++++++++++++++++++++++++++---- version.props | 11 +++++++++-- 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/build/repo.targets b/build/repo.targets index caeb8ab94e..3817e3c130 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -17,8 +17,9 @@ $(IntermediateDir)mirror\ $(IntermediateDir)ext\ - $(IntermediateDir)dependencies.props - $(IntermediateDir)sources.props + $(IntermediateDir)dependencies.g.props + $(IntermediateDir)sources.g.props + $(IntermediateDir)branding.g.props $(PrepareDependsOn);VerifyPackageArtifactConfig;PrepareOutputPath $(CleanDependsOn);CleanArtifacts;CleanUniverseArtifacts @@ -58,11 +59,32 @@ Packages="@(_LineupPackages)" OutputPath="$(GeneratedPackageVersionPropsPath)" /> - - + + + + + + + + $(AspNetCoreMajorVersion) + $(AspNetCoreMinorVersion) + $(AspNetCorePatchVersion) + $(PrereleaseVersionLabel) + $(BuildNumber) + $(PackageBrandingVersion) + + +]]> + + + + + + diff --git a/version.props b/version.props index 6293bceb0b..4f8fec4a7e 100644 --- a/version.props +++ b/version.props @@ -1,13 +1,20 @@ - 2.0.7 - rtm + 2 + 0 + 7 + $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).$(AspNetCorePatchVersion) + rtm + $(PrereleaseVersionLabel) $(VersionPrefix) $(VersionPrefix) $(VersionPrefix)-$(VersionSuffix)-final $(VersionPrefix)-$(VersionSuffix)-final $(VersionSuffix)-$(BuildNumber) + + $(VersionPrefix) + 2.0.6-10011 2.0.6 From 7fffc939cfdc49a0d3599a3d4891abc4840daffd Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 27 Mar 2018 09:03:44 -0700 Subject: [PATCH 64/93] Backport: consolidate list of myget feeds to one place and remove the need to mirror packages --- NuGet.config | 2 +- build/PackageArchive.targets | 4 +- build/RuntimeStore.targets | 13 +- build/dependencies.props | 702 +++++++++--------- build/push.targets | 1 - build/repo.props | 1 + build/repo.targets | 22 +- build/sources.props | 24 + build/tasks/CopyPackagesToSplitFolders.cs | 3 - build/tasks/RepoTasks.csproj | 1 + build/tasks/Utilities/PackageCategory.cs | 1 - build/tasks/Utilities/PackageCollection.cs | 3 - .../dotnet-deb-tool-consumer.csproj | 3 +- build/tools/templates/Archive/Archive.csproj | 13 +- .../HostingStartup/HostingStartup.csproj | 10 +- .../templates/RS.Manifest/RS.Manifest.csproj | 12 +- .../RS.References/RS.References.csproj | 10 +- src/Directory.Build.props | 1 + .../Microsoft.AspNetCore.All.csproj | 9 - 19 files changed, 382 insertions(+), 453 deletions(-) create mode 100644 build/sources.props diff --git a/NuGet.config b/NuGet.config index 7604d0051e..e32bddfd51 100644 --- a/NuGet.config +++ b/NuGet.config @@ -2,6 +2,6 @@ - + diff --git a/build/PackageArchive.targets b/build/PackageArchive.targets index b938f13938..6cf6f3ad83 100644 --- a/build/PackageArchive.targets +++ b/build/PackageArchive.targets @@ -57,7 +57,7 @@ <_FallbackArchiveRestoreSources Include="$(MetapackageRestoreSource)" Condition="Exists($(MetapackageRestoreSource))" /> - <_FallbackArchiveRestoreSources Include="$(_DependencyMirrorDirectory)" Condition="Exists($(_DependencyMirrorDirectory))" /> + <_FallbackArchiveRestoreSources Include="$(RestoreSources)" /> + Properties="RestorePackagesPath=$(FallbackStagingDir);RuntimeFrameworkVersion=$(LZMAMicrosoftNETCoreApp20PackageVersion);DotNetRestoreSourcePropsPath=$(GeneratedFallbackRestoreSourcesPropsPath);DotNetBuildOffline=true;AspNetUniverseBuildOffline=true" /> diff --git a/build/RuntimeStore.targets b/build/RuntimeStore.targets index 9592fc5be5..9a0a5732ce 100644 --- a/build/RuntimeStore.targets +++ b/build/RuntimeStore.targets @@ -3,7 +3,6 @@ <_DependencyBuildDirectory>$(RepositoryRoot).deps\build\ - <_DependencyMirrorDirectory>$(RepositoryRoot).deps\mirror\ <_BuildScriptsDirectory>$(MSBuildThisFileDirectory)tools\scripts\ <_WorkRoot>$(RepositoryRoot).w\ <_RuntimeStoreWorkDirectory>$(_WorkRoot).rw\ @@ -49,12 +48,12 @@ + Properties="Configuration=$(Configuration);BuildNumber=$(BuildNumber);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcePropsPath);DotNetBuildOffline=true;AspNetUniverseBuildOffline=true;_Target=Restore" /> + Properties="Configuration=$(Configuration);BuildNumber=$(BuildNumber);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcePropsPath);DotNetBuildOffline=true;AspNetUniverseBuildOffline=true" /> @@ -86,12 +85,12 @@ + Properties="Configuration=$(Configuration);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcePropsPath);DotNetBuildOffline=true;_Target=Restore" /> + Properties="Configuration=$(Configuration);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcePropsPath);DotNetBuildOffline=true" /> @@ -103,8 +102,8 @@ + <_RuntimeStoreRestoreSources Include="$(RestoreSources)" /> <_RuntimeStoreRestoreSources Include="$(_DependencyBuildDirectory)" Condition="Exists($(_DependencyBuildDirectory))" /> - <_RuntimeStoreRestoreSources Include="$(_DependencyMirrorDirectory)" Condition="Exists($(_DependencyMirrorDirectory))" /> <_RuntimeStoreRestoreSources Include="$(BuildDir)" Condition="Exists($(BuildDir))" /> @@ -114,6 +113,7 @@ <_RsManifestProps>MicrosoftAspNetCoreAllPackageVersion=$(PackageVersion) + <_RsManifestProps>$(_RsManifestProps);DotNetBuildOffline=true <_RsManifestProps>$(_RsManifestProps);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcePropsPath) @@ -153,6 +153,7 @@ $(_WorkRoot)HostingStartup\ <_HostingStartupProps>DepsOutputPath=$(_DepsOutputDirectory) <_HostingStartupProps>$(_HostingStartupProps);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcePropsPath) + <_HostingStartupProps>$(_HostingStartupProps);DotNetBuildOffline=true <_HostingStartupProps>$(_HostingStartupProps);RuntimeFrameworkVersion=$(MicrosoftNETCoreApp20PackageVersion) <_HostingStartupProps>$(_HostingStartupProps);HostingStartupPackageName=$(HostingStartupPackageName) <_HostingStartupProps>$(_HostingStartupProps);HostingStartupPackageVersion=$(HostingStartupPackageVersion) diff --git a/build/dependencies.props b/build/dependencies.props index eb3977bc8c..eab6ee52e0 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,14 +4,10 @@ - - false - - false false @@ -33,281 +29,258 @@ - - https://dotnet.myget.org/F/dotnet-core/api/v3/index.json - - - + - - - https://api.nuget.org/v3/index.json - $(DotNetCorePatchFeed);$(DotNetCoreFeed) - - - - + + KRB2004 RuntimeFrameworkVersion netcoreapp2.0 - + KRB2004 MicrosoftNETCoreApp20PackageVersion - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - https://dotnet.myget.org/F/roslyn/api/v3/index.json 2.6.0-beta1-61924-08 - + KRB2004 MicrosoftCodeAnalysisToolingPackageVersion - + KRB2004 MicrosoftCodeAnalysisCommonToolingPackageVersion - + KRB2004 MicrosoftCodeAnalysisCSharpToolingPackageVersion - + KRB2004 MicrosoftCodeAnalysisCSharpWorkspacesToolingPackageVersion - + KRB2004 MicrosoftCodeAnalysisVisualBasicToolingPackageVersion - + KRB2004 MicrosoftCodeAnalysisVisualBasicWorkspacesToolingPackageVersion - + KRB2004 MicrosoftCodeAnalysisWorkspacesCommonToolingPackageVersion - - - - - + + + + + - - https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json $(KoreBuildVersion) $(KoreBuildVersion) - - + + - - - https://dotnet.myget.org/F/aspnetcoremodule/api/v3/index.json - - - + - - - https://api.nuget.org/v3/index.json - - - - - - + + + + KRB2004 RuntimeFrameworkVersion netcoreapp1.0 - + KRB2004 MicrosoftNETCoreApp10PackageVersion - + KRB2004 RuntimeFrameworkVersion netcoreapp1.1 - + KRB2004 MicrosoftNETCoreApp11PackageVersion - + KRB2004 DotNetCliTool_MicrosoftNETCoreApp20PackageVersion netcoreapp2.0 - - - - - - - - - - - - - + + + + + + + + + + + + + KRB2004 - + KRB2004 - + KRB2004 - + KRB2004 - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + NETStandardLibrary20PackageVersion - - + + KRB2004 NewtonsoftJsonToolingPackageVersion - + KRB2004 NewtonsoftJsonRuntimePackageVersion - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KRB2004 XunitAssertStablePackageVersion - + KRB2004 - - + + XunitRunnerVisualStudioPackageVersion - + KRB2004 XunitStablePackageVersion - + KRB2004 @@ -321,218 +294,215 @@ not building again in this patch. --> - - https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/build/push.targets b/build/push.targets index d52845fc48..ecdc891050 100644 --- a/build/push.targets +++ b/build/push.targets @@ -3,7 +3,6 @@ - diff --git a/build/repo.props b/build/repo.props index 33c3c4f56f..b6984598fb 100644 --- a/build/repo.props +++ b/build/repo.props @@ -13,6 +13,7 @@ FeedCredential="$(DotNetAssetRootAccessTokenSuffix)" /> + diff --git a/build/repo.targets b/build/repo.targets index 3817e3c130..8b6e77531f 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -13,17 +13,13 @@ <_RepositoryBuildTargets Condition="'$(_RepositoryBuildTargets)'=='' AND '$(CompileOnly)'=='true'">/t:Package /t:VerifyPackages <_RepositoryBuildTargets Condition="'$(_RepositoryBuildTargets)'==''">/t:Verify - - $(IntermediateDir)mirror\ - - $(IntermediateDir)ext\ $(IntermediateDir)dependencies.g.props $(IntermediateDir)sources.g.props $(IntermediateDir)branding.g.props $(PrepareDependsOn);VerifyPackageArtifactConfig;PrepareOutputPath $(CleanDependsOn);CleanArtifacts;CleanUniverseArtifacts - $(RestoreDependsOn);InstallDotNet;RestoreExternalDependencies + $(RestoreDependsOn);InstallDotNet $(CompileDependsOn);BuildRepositories $(PackageDependsOn);BuildTemplates;SplitPackages $(VerifyDependsOn);VerifyCoherentVersions @@ -33,16 +29,6 @@ - - - - - - <_LineupPackages Include="@(ExternalDependency)" /> @@ -52,7 +38,7 @@ <_LineupSources Include="$(_DependencyPackagesDirectory)" Condition="'$(_DependencyPackagesDirectory)' != '' AND Exists('$(_DependencyPackagesDirectory)')" /> <_LineupSources Include="$(BuildDir)" /> <_LineupSources Include="$(IntermediateExternalPackageDir)" /> - <_LineupSources Include="$(IntermediateMirrorPackageDir)" /> + <_LineupSources Include="$(RestoreSources)" /> - - <_MirroredPackageFiles Include="$(IntermediateMirrorPackageDir)*.nupkg" /> diff --git a/build/sources.props b/build/sources.props new file mode 100644 index 0000000000..0cdb57fc43 --- /dev/null +++ b/build/sources.props @@ -0,0 +1,24 @@ + + + + + + + $(DotNetAdditionalRestoreSources); + $(DotNetRestoreSources); + $(DotNetCorePatchFeed); + + + $(RestoreSources); + https://api.nuget.org/v3/index.json; + + + $(RestoreSources); + https://dotnet.myget.org/F/dotnet-core/api/v3/index.json; + https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json; + https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json; + https://dotnet.myget.org/F/roslyn/api/v3/index.json; + https://dotnet.myget.org/F/aspnetcoremodule/api/v3/index.jsonl + + + diff --git a/build/tasks/CopyPackagesToSplitFolders.cs b/build/tasks/CopyPackagesToSplitFolders.cs index b9ead3f5b6..22f2f24df4 100644 --- a/build/tasks/CopyPackagesToSplitFolders.cs +++ b/build/tasks/CopyPackagesToSplitFolders.cs @@ -76,9 +76,6 @@ namespace RepoTasks case PackageCategory.ShipOob: destDir = Path.Combine(DestinationFolder, "shipoob"); break; - case PackageCategory.Mirror: - destDir = Path.Combine(DestinationFolder, "mirror"); - break; case PackageCategory.Symbols: destDir = Path.Combine(DestinationFolder, "symbols"); break; diff --git a/build/tasks/RepoTasks.csproj b/build/tasks/RepoTasks.csproj index a52ecec4f4..2c77aa56c2 100644 --- a/build/tasks/RepoTasks.csproj +++ b/build/tasks/RepoTasks.csproj @@ -1,5 +1,6 @@ + netstandard2.0 diff --git a/build/tasks/Utilities/PackageCategory.cs b/build/tasks/Utilities/PackageCategory.cs index 78afe9cbce..19a871d3b6 100644 --- a/build/tasks/Utilities/PackageCategory.cs +++ b/build/tasks/Utilities/PackageCategory.cs @@ -10,7 +10,6 @@ namespace RepoTasks.Utilities Shipping, NoShip, ShipOob, - Mirror, Symbols, } } diff --git a/build/tasks/Utilities/PackageCollection.cs b/build/tasks/Utilities/PackageCollection.cs index d066360f53..4aa778aa2a 100644 --- a/build/tasks/Utilities/PackageCollection.cs +++ b/build/tasks/Utilities/PackageCollection.cs @@ -47,9 +47,6 @@ namespace RepoTasks.Utilities case "shipoob": category = PackageCategory.ShipOob; break; - case "mirror": - category = PackageCategory.Mirror; - break; default: category = PackageCategory.Unknown; break; diff --git a/build/tools/dotnet-deb-tool-consumer/dotnet-deb-tool-consumer.csproj b/build/tools/dotnet-deb-tool-consumer/dotnet-deb-tool-consumer.csproj index 659448ee0e..27280799d4 100644 --- a/build/tools/dotnet-deb-tool-consumer/dotnet-deb-tool-consumer.csproj +++ b/build/tools/dotnet-deb-tool-consumer/dotnet-deb-tool-consumer.csproj @@ -1,8 +1,9 @@  + + netcoreapp1.0 - $(RestoreSources);https://dotnet.myget.org/F/cli-deps/api/v3/index.json diff --git a/build/tools/templates/Archive/Archive.csproj b/build/tools/templates/Archive/Archive.csproj index eb51e5dbd4..55c75739b1 100644 --- a/build/tools/templates/Archive/Archive.csproj +++ b/build/tools/templates/Archive/Archive.csproj @@ -8,18 +8,7 @@ true true netcoreapp2.0 - $(DotNetRestoreSources) - $(RestoreSources);https://dotnet.myget.org/F/dotnet-core/api/v3/index.json; - - $(RestoreSources); - https://dotnet.myget.org/F/aspnet-2-0-2-october2017-patch/api/v3/index.json; - https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json; - https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json; - - - $(RestoreSources); - https://api.nuget.org/v3/index.json; - + $(RestoreSources);$(DotNetRestoreSources); diff --git a/build/tools/templates/HostingStartup/HostingStartup.csproj b/build/tools/templates/HostingStartup/HostingStartup.csproj index 12cdf93eb1..0eb0b5357d 100644 --- a/build/tools/templates/HostingStartup/HostingStartup.csproj +++ b/build/tools/templates/HostingStartup/HostingStartup.csproj @@ -5,15 +5,7 @@ netcoreapp2.0 Exe - $(DotNetRestoreSources) - - $(RestoreSources); - https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json; - - - $(RestoreSources); - https://api.nuget.org/v3/index.json; - + $(RestoreSources);$(DotNetRestoreSources); diff --git a/build/tools/templates/RS.Manifest/RS.Manifest.csproj b/build/tools/templates/RS.Manifest/RS.Manifest.csproj index 7d1d0f66ab..bca7710a0f 100644 --- a/build/tools/templates/RS.Manifest/RS.Manifest.csproj +++ b/build/tools/templates/RS.Manifest/RS.Manifest.csproj @@ -4,17 +4,7 @@ netcoreapp2.0 - $(DotNetRestoreSources) - - $(RestoreSources); - https://dotnet.myget.org/F/aspnet-2-0-2-october2017-patch/api/v3/index.json; - https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json; - https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json; - - - $(RestoreSources); - https://api.nuget.org/v3/index.json; - + $(RestoreSources);$(DotNetRestoreSources); diff --git a/build/tools/templates/RS.References/RS.References.csproj b/build/tools/templates/RS.References/RS.References.csproj index bcbed2fd57..580c568b51 100644 --- a/build/tools/templates/RS.References/RS.References.csproj +++ b/build/tools/templates/RS.References/RS.References.csproj @@ -3,15 +3,7 @@ - $(DotNetRestoreSources) - - $(RestoreSources); - https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json; - - - $(RestoreSources); - https://api.nuget.org/v3/index.json; - + $(RestoreSources);$(DotNetRestoreSources); netcoreapp2.0 false false diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 7d57abfc71..6a9feb52e1 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -1,4 +1,5 @@ + diff --git a/src/Microsoft.AspNetCore.All/Microsoft.AspNetCore.All.csproj b/src/Microsoft.AspNetCore.All/Microsoft.AspNetCore.All.csproj index c3d5b59912..0f4826956f 100644 --- a/src/Microsoft.AspNetCore.All/Microsoft.AspNetCore.All.csproj +++ b/src/Microsoft.AspNetCore.All/Microsoft.AspNetCore.All.csproj @@ -4,15 +4,6 @@ $(DotNetRestoreSources) - - $(RestoreSources); - https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json; - - - $(RestoreSources); - https://api.nuget.org/v3/index.json; - - false false netcoreapp2.0 From 083e704b81ed4200c0c92a359e48359e6fe663cc Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 27 Mar 2018 09:04:12 -0700 Subject: [PATCH 65/93] Remove docs for features that were never implemented --- docs/BillOfMaterials.md | 171 ---------------------------------------- docs/BuildCaching.md | 30 ------- 2 files changed, 201 deletions(-) delete mode 100644 docs/BillOfMaterials.md delete mode 100644 docs/BuildCaching.md diff --git a/docs/BillOfMaterials.md b/docs/BillOfMaterials.md deleted file mode 100644 index d56a05995e..0000000000 --- a/docs/BillOfMaterials.md +++ /dev/null @@ -1,171 +0,0 @@ -Bill of Materials -================= - -The bill of materials (bom) is a list of artifacts produced by the build. - -## Generating a new bom - -A new bill of materials is generated on each build and placed in `artifacts/bom.$(Version).xml`. - -In addition, this bill of materials can be produced without building the repo by running `build.ps1 -bom`. - -## Configuration data - -:x: The bom SHOULD NOT contain data that is for configuration. Configuration data is any kind of parameter that a consumer needs to find the artifact. - -Examples of ephemeral data: - - - File paths - - Download links - - Passwords - -## Format - -The bill of materials is an XML file. Here is a minimal example of a bom. - -```xml - - - - - - - - - - - - - - - - -``` - -### Elements - -#### `` - -Describes the build output. The root element of the document. - -Optional attributes: - - `Id` - a unique identifier describing this build. - - `Created` - a timestamp of when the build was created. - -#### `` - -Describes a group of artifacts - -Optional attributes: - - `Category` - an arbitrary category name. - -#### `` - -Describes a file produced by the build. - -Required attributes: - - `Id` - the file name of the artifact. Id MUST BE unique per each bill of materials. - - `Type` - an arbitrary string describing the semantic type of the artifact. - -Optional attributes: - - Others - any other attributes on the element are considered metadata values about the artifact. - -#### `` - -Describes artifact dependencies. - -#### `` - -Describes a dependency between two artifacts. - -Requried attributes - - `Source` - the artifact that has a dependency. This artifact MUST BE defined by an `` in the same `` - - `Target` - the thing it depends on. This artifact MAY OR MAY NOT be described in this ``. - It might have been produced in a previous build or be produced by a partner team. - -## Artifact types - -These are some common artifact types produced by the build. - - - NuGetPackage - - NuGetSymbolsPackage - - DebianPackage - - RedhatPackage - - ZipArchive - - TarGzArchive - - TextFile - - LzmaArchive - - TestBundle - -## Artifact categories - -Tools may use the category information to define how they handle different files. - -These are common categories for artifacts used in aspnet/Universe. - - - ship - used for files that will be published to NuGet.org, microsoft.com, or other official publication locations - - shipoob - used for files that will be distributed in other mechanism. - - noship - these files should not be published to partner teams or released publically. This may include test artifacts. - -## A more complete example - -```xml - - - - - - - - - - - - - - - - - - - - - - - - -``` - -### Example usage: signing - -In the example above, some of the `` items were marked `ShouldBeSigned="true"`. Our signing tool could use this as a way to -determine which files should be passed on to signing. - -### Example usage: metadata - -In the example above, some of the artifacts could contain data like FileHash, CommitHash, RepositoryUrl, BranchName, and others. -It is up to the consumer of the bom to define how to interpret and use this. - diff --git a/docs/BuildCaching.md b/docs/BuildCaching.md deleted file mode 100644 index 6c746807b8..0000000000 --- a/docs/BuildCaching.md +++ /dev/null @@ -1,30 +0,0 @@ -Build Caching -============= - -This repository can build the entire ASP.NET Core stack from scratch. However, in most cases, we only want to build part of the stack. - -## Building with cached artifacts - -This is the default behavior when `build.ps1` without arguments. - -This repository may contains files under `releases/*.xml`. These files follow the [Bill of Materials](./BillOfMaterials.md) format. -Any artifacts described in these bom's are assumed to have been built in a previous release and are available for download. -The build may use this information to skip building certain assets when a build action would produce a duplicate asset. - -## Disabling caching - -You can for the build to skip reading the bill of materials and build everything from scratch by calling `build.ps1 -NoCache`. -This will cause the build to always rebuild assets. - -## When to commit a new bill of material - -Each build will produce a new Bill of Materials (bom). Normally, this bom isn't added to source code right away. -This bom should only be committed to source once the assets it describes are published and available from caching mechanisms. - -## Caching mechanisms - -These are some common caching mechanisms used to store build artifacts. - - - NuGet servers. NuGet.org, MyGet.org, and file shares can be used to restore previously-built nupkg files - - Debian and RPM feeds. Some .deb and .rpm installers may be cached on https://packages.microsoft.com/repos. - - Azure blob feeds. Arbitrary build artifacts may be cached on https://aspnetcore.blob.core.windows.net/. From d94db644e3fe26a8053a2e1587225ae98e6bda1d Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 27 Mar 2018 10:06:56 -0700 Subject: [PATCH 66/93] Backport: separate list of dependency versions and dependency items, and stop issuing KRB4002 on duplicates --- build/common.props | 1 - build/dependencies.props | 585 ++++------------------- build/external-dependencies.props | 407 ++++++++++++++++ build/repo.props | 3 +- build/repo.targets | 10 +- build/tasks/AnalyzeBuildGraph.cs | 6 - build/tasks/Utilities/KoreBuildErrors.cs | 1 - src/Directory.Build.props | 1 + 8 files changed, 504 insertions(+), 510 deletions(-) create mode 100644 build/external-dependencies.props diff --git a/build/common.props b/build/common.props index db6fa6bd04..6552ad98ea 100644 --- a/build/common.props +++ b/build/common.props @@ -1,5 +1,4 @@ - Microsoft ASP.NET Core diff --git a/build/dependencies.props b/build/dependencies.props index eab6ee52e0..2a07c98a0d 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -1,508 +1,93 @@  - - - - - - - - - false - - false - - false - - false - - false - - false - - - + 0.10.3 + 6.1.3 + 4.2.1 + $(KoreBuildVersion) + 1.10.0 + 2.0.0 + 2.1.1 + 1.0.0-pre-10057 + $(KoreBuildVersion) + 2.2.1 + 5.2.2 + 2.3.2 + 15.3.409 + 15.3.409 + 15.3.409 + 15.3.409 + 2.3.1 + 2.3.1 + 2.3.1 + 2.3.1 + 4.4.0 + 2.0.3 + 1.0.0-rc3-003121 + 2.0.3 + 3.14.1 + 2.1.4 + 5.2.0 1.0.8 1.1.5 - 2.0.0 2.0.7-servicing-26322-01 - - - - - - - - - - - KRB2004 - RuntimeFrameworkVersion - netcoreapp2.0 - - - KRB2004 - MicrosoftNETCoreApp20PackageVersion - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 2.0.1 + 1.0.1 + 15.6.1 + 3.0.1 + 3.0.1 + 3.0.1 + 15.0.26606 + 7.10.6070 + 15.0.26606 + 10.0.30319 + 11.0.61030 + 12.0.30110 + 8.0.50727 + 9.0.30729 + 7.10.6071 + 1.4.0 + 4.4.0 + 4.7.49 + 2.0.1 + 1.0.1 + 10.0.1 + 4.0.0 + 2.1.1 2.6.0-beta1-61924-08 + 1.4.0 + 3.2.0 + 1.1.7 + 1.1.7 + 1.2.4 + 1.1.92 + 1.0.0 + 4.4.0 + 1.4.0 + 4.4.0 + 4.4.3 + 4.4.1 + 5.2.0 + 3.1.1 + 4.4.0-preview3-25519-03 + 4.4.0 + 4.4.0 + 1.5.0 + 4.4.0 + 4.3.0 + 4.4.0 + 4.4.0 + 4.4.0 + 4.8.0 + 4.4.0 + 4.4.0 + 9.0.1 + 8.1.4 + 2.0.1 + 2.3.1 + 2.2.0 + 2.2.0 + 2.3.1 + 2.3.1 + 2.2.0 - - - - - KRB2004 - MicrosoftCodeAnalysisToolingPackageVersion - - - - KRB2004 - MicrosoftCodeAnalysisCommonToolingPackageVersion - - - - KRB2004 - MicrosoftCodeAnalysisCSharpToolingPackageVersion - - - - KRB2004 - MicrosoftCodeAnalysisCSharpWorkspacesToolingPackageVersion - - - - KRB2004 - MicrosoftCodeAnalysisVisualBasicToolingPackageVersion - - - - KRB2004 - MicrosoftCodeAnalysisVisualBasicWorkspacesToolingPackageVersion - - - - KRB2004 - MicrosoftCodeAnalysisWorkspacesCommonToolingPackageVersion - - - - - - - - - - $(KoreBuildVersion) - $(KoreBuildVersion) - - - - - - - - - - - - - - - - - KRB2004 - RuntimeFrameworkVersion - netcoreapp1.0 - - - KRB2004 - MicrosoftNETCoreApp10PackageVersion - - - KRB2004 - RuntimeFrameworkVersion - netcoreapp1.1 - - - KRB2004 - MicrosoftNETCoreApp11PackageVersion - - - - KRB2004 - DotNetCliTool_MicrosoftNETCoreApp20PackageVersion - netcoreapp2.0 - - - - - - - - - - - - - - - - KRB2004 - - - - KRB2004 - - - - KRB2004 - - - - KRB2004 - - - - - - - - - - - - - - - - - - - - - - - - - NETStandardLibrary20PackageVersion - - - - - KRB2004 - NewtonsoftJsonToolingPackageVersion - - - - KRB2004 - NewtonsoftJsonRuntimePackageVersion - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KRB2004 - XunitAssertStablePackageVersion - - - - KRB2004 - - - - XunitRunnerVisualStudioPackageVersion - - - - KRB2004 - XunitStablePackageVersion - - - - KRB2004 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/build/external-dependencies.props b/build/external-dependencies.props new file mode 100644 index 0000000000..d99e28ae37 --- /dev/null +++ b/build/external-dependencies.props @@ -0,0 +1,407 @@ + + + + + + + + + false + + false + + false + + false + + false + + false + + + + + + + + + + + + + + + + + + + + + + MicrosoftCodeAnalysisToolingPackageVersion + + + + MicrosoftCodeAnalysisCommonToolingPackageVersion + + + + MicrosoftCodeAnalysisCSharpToolingPackageVersion + + + + MicrosoftCodeAnalysisCSharpWorkspacesToolingPackageVersion + + + + MicrosoftCodeAnalysisVisualBasicToolingPackageVersion + + + + MicrosoftCodeAnalysisVisualBasicWorkspacesToolingPackageVersion + + + + MicrosoftCodeAnalysisWorkspacesCommonToolingPackageVersion + + + + + + + + + + + + + + + + + + + + + RuntimeFrameworkVersion + netcoreapp2.0 + + + MicrosoftNETCoreApp20PackageVersion + + + RuntimeFrameworkVersion + netcoreapp1.0 + + + MicrosoftNETCoreApp10PackageVersion + + + RuntimeFrameworkVersion + netcoreapp1.1 + + + MicrosoftNETCoreApp11PackageVersion + + + + DotNetCliTool_MicrosoftNETCoreApp20PackageVersion + netcoreapp2.0 + + + + + + + + + + + + + + + + + + + + + + NETStandardLibrary20PackageVersion + + + + + NewtonsoftJsonToolingPackageVersion + + + + NewtonsoftJsonRuntimePackageVersion + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XunitAssertStablePackageVersion + + + + + XunitRunnerVisualStudioPackageVersion + + + + XunitStablePackageVersion + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/repo.props b/build/repo.props index b6984598fb..8e580fac82 100644 --- a/build/repo.props +++ b/build/repo.props @@ -13,7 +13,8 @@ FeedCredential="$(DotNetAssetRootAccessTokenSuffix)" /> - + + diff --git a/build/repo.targets b/build/repo.targets index 8b6e77531f..f59d7b8e7d 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -17,7 +17,7 @@ $(IntermediateDir)sources.g.props $(IntermediateDir)branding.g.props - $(PrepareDependsOn);VerifyPackageArtifactConfig;PrepareOutputPath + $(PrepareDependsOn);VerifyPackageArtifactConfig;VerifyExternalDependencyConfig;PrepareOutputPath $(CleanDependsOn);CleanArtifacts;CleanUniverseArtifacts $(RestoreDependsOn);InstallDotNet $(CompileDependsOn);BuildRepositories @@ -212,6 +212,14 @@ Condition="'%(PackageArtifact.Category)' != 'ship' AND '%(PackageArtifact.LZMATools)' == 'true' " /> + + + + + + diff --git a/build/tasks/AnalyzeBuildGraph.cs b/build/tasks/AnalyzeBuildGraph.cs index 550bca775f..03157b410e 100644 --- a/build/tasks/AnalyzeBuildGraph.cs +++ b/build/tasks/AnalyzeBuildGraph.cs @@ -98,12 +98,6 @@ namespace RepoTasks { dependencyMap[dep.ItemSpec] = versions = new List(); } - else if (dep.GetMetadata("NoWarn") == null || dep.GetMetadata("NoWarn").IndexOf("KRB" + KoreBuildErrors.MultipleExternalDependencyVersions) < 0) - { - Log.LogKoreBuildWarning( - KoreBuildErrors.MultipleExternalDependencyVersions, - message: $"Multiple versions of external dependency '{dep.ItemSpec}' are defined. In most cases, there should only be one version of external dependencies."); - } versions.Add(dep.GetMetadata("Version")); } diff --git a/build/tasks/Utilities/KoreBuildErrors.cs b/build/tasks/Utilities/KoreBuildErrors.cs index f21bde3436..8386f9cf7f 100644 --- a/build/tasks/Utilities/KoreBuildErrors.cs +++ b/build/tasks/Utilities/KoreBuildErrors.cs @@ -15,7 +15,6 @@ namespace RepoTasks.Utilities public const int RepoVersionDoesNotMatchProjectVersion = 2001; public const int RepoPackageVersionDoesNotMatchProjectPackageVersion = 2002; public const int DuplicatePackageReference = 2003; - public const int MultipleExternalDependencyVersions = 2004; // NuGet errors public const int InvalidNuspecFile = 4001; diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 6a9feb52e1..ac67116891 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -1,5 +1,6 @@ + From 87613d0e413cf9e72cc6d32a8b702d9ae9daf2b3 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 27 Mar 2018 10:29:40 -0700 Subject: [PATCH 67/93] Fix typo in restore sources --- build/sources.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/sources.props b/build/sources.props index 0cdb57fc43..84cd4aabcb 100644 --- a/build/sources.props +++ b/build/sources.props @@ -18,7 +18,7 @@ https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json; https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json; https://dotnet.myget.org/F/roslyn/api/v3/index.json; - https://dotnet.myget.org/F/aspnetcoremodule/api/v3/index.jsonl + https://dotnet.myget.org/F/aspnetcoremodule/api/v3/index.json; From 61ffc55bc1ff71d1677e502bdef7e4d0860d94e0 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 26 Mar 2018 17:02:39 -0700 Subject: [PATCH 68/93] Add ANCM version to generate list of deps versions --- build/dependencies.props | 1 + build/external-dependencies.props | 3 +++ 2 files changed, 4 insertions(+) diff --git a/build/dependencies.props b/build/dependencies.props index 2a07c98a0d..d4e4fa214c 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -1,5 +1,6 @@  + 1.0.1990 0.10.3 6.1.3 4.2.1 diff --git a/build/external-dependencies.props b/build/external-dependencies.props index d99e28ae37..e91cfb15b0 100644 --- a/build/external-dependencies.props +++ b/build/external-dependencies.props @@ -21,6 +21,9 @@ + + AspNetCoreModuleVersion + From adb254f4bb27a7bbf8c3d916f687073a037b8523 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 28 Mar 2018 10:06:30 -0700 Subject: [PATCH 69/93] Add the 2.0.6 manifest to Microsoft.AspNetCore.All --- .../EnsureManifestExists.targets | 11 ++ .../Microsoft.AspNetCore.All.csproj | 2 + .../build/aspnetcore-store-2.0.6.xml | 130 ++++++++++++++++++ 3 files changed, 143 insertions(+) create mode 100644 src/Microsoft.AspNetCore.All/EnsureManifestExists.targets create mode 100755 src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.6.xml diff --git a/src/Microsoft.AspNetCore.All/EnsureManifestExists.targets b/src/Microsoft.AspNetCore.All/EnsureManifestExists.targets new file mode 100644 index 0000000000..a0b2a37936 --- /dev/null +++ b/src/Microsoft.AspNetCore.All/EnsureManifestExists.targets @@ -0,0 +1,11 @@ + + + + + + $(MSBuildProjectDirectory)\build\aspnetcore-store-$(RuntimeStoreInstallerDependencyVersion).xml + + + + + diff --git a/src/Microsoft.AspNetCore.All/Microsoft.AspNetCore.All.csproj b/src/Microsoft.AspNetCore.All/Microsoft.AspNetCore.All.csproj index 0f4826956f..5541bdc164 100644 --- a/src/Microsoft.AspNetCore.All/Microsoft.AspNetCore.All.csproj +++ b/src/Microsoft.AspNetCore.All/Microsoft.AspNetCore.All.csproj @@ -19,4 +19,6 @@ + + diff --git a/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.6.xml b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.6.xml new file mode 100755 index 0000000000..3e76c40d94 --- /dev/null +++ b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.6.xml @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 5b0af04b29a185e34c224f2035f2b178f390479b Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 28 Mar 2018 13:03:52 -0700 Subject: [PATCH 70/93] Fix RPM generation when store folder is empty, and add restore source for dotnetfeed --- build/RuntimeStoreInstaller.targets | 4 +++- build/sources.props | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/build/RuntimeStoreInstaller.targets b/build/RuntimeStoreInstaller.targets index 958975810d..420df124e7 100644 --- a/build/RuntimeStoreInstaller.targets +++ b/build/RuntimeStoreInstaller.targets @@ -223,7 +223,9 @@ - + + + $(RestoreSources); + https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json; https://api.nuget.org/v3/index.json; From f373a96968803e36053763082b2839ba630f53f0 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 28 Mar 2018 14:01:30 -0700 Subject: [PATCH 71/93] Update Microsoft.NETCore.App dependency to 2.0.7 --- build/dependencies.props | 3 +-- build/external-dependencies.props | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index d4e4fa214c..af818f59d3 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -30,8 +30,7 @@ 5.2.0 1.0.8 1.1.5 - 2.0.7-servicing-26322-01 - 2.0.1 + 2.0.7 1.0.1 15.6.1 3.0.1 diff --git a/build/external-dependencies.props b/build/external-dependencies.props index e91cfb15b0..454d1be242 100644 --- a/build/external-dependencies.props +++ b/build/external-dependencies.props @@ -111,7 +111,6 @@ DotNetCliTool_MicrosoftNETCoreApp20PackageVersion netcoreapp2.0 - From 19c7c1beecfba64592edba0a91f162ee79b55835 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 29 Mar 2018 09:45:31 -0700 Subject: [PATCH 72/93] Add MSBuild namespace to generated dependencies.props file --- build/tasks/GeneratePackageVersionPropsFile.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/build/tasks/GeneratePackageVersionPropsFile.cs b/build/tasks/GeneratePackageVersionPropsFile.cs index c007fd321f..0dda82af87 100644 --- a/build/tasks/GeneratePackageVersionPropsFile.cs +++ b/build/tasks/GeneratePackageVersionPropsFile.cs @@ -28,11 +28,12 @@ namespace RepoTasks OutputPath = OutputPath.Replace('\\', '/'); Directory.CreateDirectory(Path.GetDirectoryName(OutputPath)); - var props = new XElement("PropertyGroup"); - var root = new XElement("Project", props); + XNamespace ns = "http://schemas.microsoft.com/developer/msbuild/2003"; + var props = new XElement(ns + "PropertyGroup"); + var root = new XElement(ns + "Project", props); var doc = new XDocument(root); - props.Add(new XElement("MSBuildAllProjects", "$(MSBuildAllProjects);$(MSBuildThisFileFullPath)")); + props.Add(new XElement(ns + "MSBuildAllProjects", "$(MSBuildAllProjects);$(MSBuildThisFileFullPath)")); var varNames = new HashSet(); var versionElements = new List(); @@ -70,7 +71,7 @@ namespace RepoTasks continue; } varNames.Add(key); - var elem = new XElement(packageVarName, packageVersion); + var elem = new XElement(ns + packageVarName, packageVersion); if (!string.IsNullOrEmpty(packageTfm)) { elem.Add(new XAttribute("Condition", $" '$(TargetFramework)' == '{packageTfm}' ")); From e323d5fd12162743e955607ffec127a34a3a0007 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 3 Apr 2018 13:39:51 -0700 Subject: [PATCH 73/93] Update feed used to pull the latest 2.0.7 build --- build/sources.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/sources.props b/build/sources.props index fdcacd595e..dd25976b1e 100644 --- a/build/sources.props +++ b/build/sources.props @@ -10,12 +10,12 @@ $(RestoreSources); + https://aspnetcore.blob.core.windows.net/patchdrops/core-setup/2.0.7-20180403/index.json; https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json; https://api.nuget.org/v3/index.json; $(RestoreSources); - https://dotnet.myget.org/F/dotnet-core/api/v3/index.json; https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json; https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json; https://dotnet.myget.org/F/roslyn/api/v3/index.json; From 09418f1e393555bee3c2a7f12eb1d9dab47fd748 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 3 Apr 2018 14:06:25 -0700 Subject: [PATCH 74/93] Re-add dotnet-core myget feed --- build/sources.props | 1 + 1 file changed, 1 insertion(+) diff --git a/build/sources.props b/build/sources.props index dd25976b1e..96af189001 100644 --- a/build/sources.props +++ b/build/sources.props @@ -16,6 +16,7 @@ $(RestoreSources); + https://dotnet.myget.org/F/dotnet-core/api/v3/index.json; https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json; https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json; https://dotnet.myget.org/F/roslyn/api/v3/index.json; From 7ed3ccb768220e891bfe29a6324ef492674285de Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 9 Apr 2018 09:19:01 -0700 Subject: [PATCH 75/93] Update to core-setup 2.0.7-20180406 packages --- build/sources.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/sources.props b/build/sources.props index 96af189001..aa631f5fe4 100644 --- a/build/sources.props +++ b/build/sources.props @@ -10,7 +10,7 @@ $(RestoreSources); - https://aspnetcore.blob.core.windows.net/patchdrops/core-setup/2.0.7-20180403/index.json; + https://aspnetcore.blob.core.windows.net/patchdrops/core-setup/2.0.7-20180406/index.json; https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json; https://api.nuget.org/v3/index.json; From d44982b166ced12350556db460a283ea72833864 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 17 Apr 2018 09:08:47 -0700 Subject: [PATCH 76/93] Update GenerateTags.ps1 script --- scripts/GenerateTags.ps1 | 26 ++++++- scripts/common.psm1 | 150 ++++++++++++++++++++++++++++++++++++--- 2 files changed, 163 insertions(+), 13 deletions(-) diff --git a/scripts/GenerateTags.ps1 b/scripts/GenerateTags.ps1 index 958ab36378..5fc2ed9ee7 100755 --- a/scripts/GenerateTags.ps1 +++ b/scripts/GenerateTags.ps1 @@ -6,12 +6,15 @@ to the value in version.props .PARAMETER Push Push the tag to origin +.PARAMETER OutFile + When specified, generate a .csv with repo names and tags .PARAMETER WhatIf Dry run #> [cmdletbinding(PositionalBinding = $false, SupportsShouldProcess = $true)] param( - [switch]$Push + [switch]$Push, + [string]$OutFile ) $ErrorActionPreference = 'Stop' @@ -57,6 +60,7 @@ function New-GitTag { function Get-PackageVersion([string]$repoRoot) { $buildScript = if (-not $IsCoreCLR -or $IsWindows) { 'build.ps1' } else { 'build.sh' } $inspectTarget = "/p:CustomAfterKoreBuildTargets=$PSScriptRoot/GetPackageVersion.targets" + Write-Verbose "Running `"$repoRoot/$buildScript`" $inspectTarget /v:m /p:IsFinalBuild=true /t:Noop /t:GetPackageVersion" # Add the /t:Noop target which may be used by the bootstrapper to skip unimportant initialization $output = & "$repoRoot/$buildScript" $inspectTarget /v:m /p:IsFinalBuild=true /t:Noop /t:GetPackageVersion $output | out-string | Write-Verbose @@ -64,7 +68,7 @@ function Get-PackageVersion([string]$repoRoot) { throw "$buildScript failed on $repoRoot. Exit code $LASTEXITCODE" } $packageVersion = $output | where-object { $_ -like '*PackageVersion=*' } | select-object -first 1 - $packageVersion = $packageVersion -replace 'PackageVersion=','' + $packageVersion = $packageVersion -replace 'PackageVersion=', '' if ($packageVersion) { $packageVersion = $packageVersion.Trim() } if (-not $packageVersion) { throw "Could not determine final package version for $repoRoot" @@ -80,9 +84,16 @@ if (-not $PSCmdlet.ShouldContinue("Continue?", "This will apply tags to all subm exit 1 } + $universeTag = Get-PackageVersion $repoRoot New-GitTag $repoRoot $universeTag -WhatIf:$WhatIfPreference +$tags = @([pscustomobject] @{ + repo = $(git config remote.origin.url) + tag = $universeTag + commit = $(git rev-parse HEAD) + }) + Get-Submodules $repoRoot | ForEach-Object { $modPath = $_.path $module = $_.module @@ -96,6 +107,11 @@ Get-Submodules $repoRoot | ForEach-Object { if ($tag -ne $universeTag) { Write-Warning "${module}: version ($tag) does not match universe ($universeTag)" } + $tags += [pscustomobject] @{ + repo = $_.remote + tag = $tag + commit = $_.commit + } } catch { Write-Warning "${module}: Could not automatically determine tag for $modPath. Skipping" @@ -104,3 +120,9 @@ Get-Submodules $repoRoot | ForEach-Object { New-GitTag $_.path $tag -WhatIf:$WhatIfPreference } + +$tags | Format-Table + +if ($OutFile) { + $tags | Select-Object -Property * | Export-Csv -Path $OutFile -WhatIf:$false -NoTypeInformation +} diff --git a/scripts/common.psm1 b/scripts/common.psm1 index 0c3397fa96..b621d48193 100644 --- a/scripts/common.psm1 +++ b/scripts/common.psm1 @@ -1,3 +1,5 @@ +$ErrorActionPreference = 'Stop' + function Assert-Git { if (!(Get-Command git -ErrorAction Ignore)) { Write-Error 'git is required to execute this script' @@ -32,27 +34,32 @@ function Get-Submodules { $repos = $submoduleConfig.Project.ItemGroup.Repository | % { $_.Include } Get-ChildItem "$RepoRoot/modules/*" -Directory ` - | ? { (-not $Shipping) -or $($repos -contains $($_.Name)) -or $_.Name -eq 'Templating' } ` - | % { + | ? { (-not $Shipping) -or $($repos -contains $($_.Name)) -or $_.Name -eq 'Templating' } ` + | % { Push-Location $_ | Out-Null Write-Verbose "Attempting to get submodule info for $_" if (Test-Path 'version.props') { [xml] $versionXml = Get-Content 'version.props' - $versionPrefix = $versionXml.Project.PropertyGroup.VersionPrefix - } else { + $versionPrefix = $versionXml.Project.PropertyGroup.VersionPrefix | select-object -first 1 + $versionSuffix = $versionXml.Project.PropertyGroup.VersionSuffix | select-object -first 1 + } + else { $versionPrefix = '' + $versionSuffix = '' } try { $data = [PSCustomObject] @{ - path = $_ - module = $_.Name - commit = $(git rev-parse HEAD) - newCommit = $null - changed = $false - branch = $(git config -f $moduleConfigFile --get submodule.modules/$($_.Name).branch ) + path = $_ + module = $_.Name + commit = $(git rev-parse HEAD) + newCommit = $null + changed = $false + remote = $(git config remote.origin.url) + branch = $(git config -f $moduleConfigFile --get submodule.modules/$($_.Name).branch ) versionPrefix = $versionPrefix + versionSuffix = $versionSuffix } $submodules += $data @@ -78,7 +85,7 @@ function SaveXml([xml]$xml, [string]$path) { } function LoadXml([string]$path) { - Write-Verbose "Reading to $path" + Write-Verbose "Reading from $path" $ErrorActionPreference = 'stop' $obj = new-object xml @@ -86,3 +93,124 @@ function LoadXml([string]$path) { $obj.Load($path) return $obj } + +function PackageIdVarName([string]$packageId) { + $canonicalVarName = '' + $upperCaseNext = $true + for ($i = 0; $i -lt $packageId.Length; $i++) { + $ch = $packageId[$i] + if (-not [System.Char]::IsLetterOrDigit(($ch))) { + $upperCaseNext = $true + continue + } + if ($upperCaseNext) { + $ch = [System.Char]::ToUpperInvariant($ch) + $upperCaseNext = $false + } + $canonicalVarName += $ch + } + $canonicalVarName += "PackageVersion" + return $canonicalVarName +} + +function Ensure-Hub() { + $tmpDir = "$PSScriptRoot\tmp" + $zipDir = "$tmpDir\Hub" + $hubLocation = "$zipDir\bin\hub.exe" + + if (-Not (Test-Path $hubLocation) ) { + $source = "https://github.com/github/hub/releases/download/v2.3.0-pre9/hub-windows-amd64-2.3.0-pre9.zip" + $zipLocation = "$tmpDir\hub.zip" + if(-not (Test-Path $zipLocation)) { + New-Item -ItemType directory -Path $tmpDir + } + + Invoke-WebRequest -OutFile $zipLocation -Uri $source + + Expand-Archive -Path $zipLocation -DestinationPath $zipDir -Force + if (-Not (Test-Path $hubLocation)) { + throw "Hub couldn't be downloaded" + } + } + + return $hubLocation +} + +function CreatePR([string]$baseBranch, [string]$destinationBranch, [string]$body, [string]$gitHubToken) { + $hubLocation = Ensure-Hub + + Invoke-Block { git push -f https://$gitHubToken@github.com/aspnet/Universe.git $destinationBranch } + & $hubLocation pull-request -f -b $baseBranch -h $destinationBranch -m $body +} + +function Set-GithubInfo( + [string]$GitHubPassword, + [string]$GitHubUser, + [string]$GitHubEmail) +{ + $Env:GITHUB_TOKEN = $GitHubPassword + $Env:GITHUB_USER = $GitHubUser + $Env:GITHUB_EMAIL = $GitHubEmail +} +function CommitUpdatedVersions( + [hashtable]$updatedVars, + [xml]$dependencies, + [string]$depsPath) +{ + $count = $updatedVars.Count + if ($count -gt 0) { + & git add build\dependencies.props + + $subject = "Updating external dependencies" + + # Have to pipe null so that the output from this doesn't end up as part of the return value + $null = Invoke-Block { & git commit -m $subject } + + $body = "$subject`n`n" + + $body += "New versions:`n" + + foreach ($var in $updatedVars.GetEnumerator()) { + $body += " $($var.Name)`n" + } + + return $body + } +} + +function UpdateVersions([hashtable]$variables, [xml]$dependencies, [string]$depsPath) { + $updatedVars = @{} + + foreach ($varName in ($variables.Keys | sort)) { + $packageVersions = $variables[$varName] + if ($packageVersions.Length -gt 1) { + Write-Warning "Skipped $varName. Multiple version found. { $($packageVersions -join ', ') }." + continue + } + + $packageVersion = $packageVersions | Select-Object -First 1 + + $depVarNode = $dependencies.SelectSingleNode("//PropertyGroup[`@Label=`"Package Versions: Auto`"]/$varName") + if ($depVarNode -and $depVarNode.InnerText -ne $packageVersion) { + $depVarNode.InnerText = $packageVersion + Write-Host -f DarkGray " Updating $varName to $packageVersion" + $updatedVars[$varName] = $packageVersion + } + elseif ($depVarNode) { + Write-Host -f DarkBlue " Didn't update $varName to $packageVersion because it was $($depVarNode.InnerText)" + } + else { + # This isn't a dependency we use + } + } + + if ($updatedVars.Count -gt 0) { + Write-Host -f Cyan "Updating $count version variables in $depsPath" + SaveXml $dependencies $depsPath + } + else { + Write-Host -f Green "No changes found" + } + + return $updatedVars +} From 5d96a48638d032ffa16d20c84fcaa4bf2a7eb8f9 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 17 Apr 2018 14:33:34 -0700 Subject: [PATCH 77/93] Prepare 2.0.8 patch --- build/artifacts.props | 171 ++++++++++++++++++++++++++++++ build/dependencies.props | 2 +- build/external-dependencies.props | 171 ------------------------------ build/submodules.props | 73 ++++++------- korebuild-lock.txt | 4 +- modules/Antiforgery | 2 +- modules/AzureIntegration | 2 +- modules/BasicMiddleware | 2 +- modules/BrowserLink | 2 +- modules/CORS | 2 +- modules/Caching | 2 +- modules/Configuration | 2 +- modules/DataProtection | 2 +- modules/Diagnostics | 2 +- modules/DotNetTools | 2 +- modules/EntityFrameworkCore | 2 +- modules/Hosting | 2 +- modules/HtmlAbstractions | 2 +- modules/HttpAbstractions | 2 +- modules/HttpSysServer | 2 +- modules/IISIntegration | 2 +- modules/Identity | 2 +- modules/JavaScriptServices | 2 +- modules/KestrelHttpServer | 2 +- modules/Localization | 2 +- modules/Logging | 2 +- modules/MetaPackages | 2 +- modules/Mvc | 2 +- modules/MvcPrecompilation | 2 +- modules/Options | 2 +- modules/Proxy | 2 +- modules/Razor | 2 +- modules/ResponseCaching | 2 +- modules/Routing | 2 +- modules/Scaffolding | 2 +- modules/Security | 2 +- modules/ServerTests | 2 +- modules/Session | 2 +- modules/StaticFiles | 2 +- modules/Templating | 2 +- modules/Testing | 2 +- modules/WebSockets | 2 +- scripts/PatchVersionPrefix.ps1 | 2 + 43 files changed, 250 insertions(+), 247 deletions(-) diff --git a/build/artifacts.props b/build/artifacts.props index eec23a6efe..787057c646 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -10,10 +10,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/dependencies.props b/build/dependencies.props index af818f59d3..8ecd542ea2 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -32,7 +32,7 @@ 1.1.5 2.0.7 1.0.1 - 15.6.1 + 15.3.0 3.0.1 3.0.1 3.0.1 diff --git a/build/external-dependencies.props b/build/external-dependencies.props index 454d1be242..47cb1581d4 100644 --- a/build/external-dependencies.props +++ b/build/external-dependencies.props @@ -198,185 +198,14 @@ not building again in this patch. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/build/submodules.props b/build/submodules.props index cac8f3235e..fd4d65b78e 100644 --- a/build/submodules.props +++ b/build/submodules.props @@ -7,53 +7,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/korebuild-lock.txt b/korebuild-lock.txt index f22768dc12..5e0e3247df 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.0.7-rtm-10027 -commithash:13a02f8875b73d7f9f922fce7b82fe6a44956247 +version:2.0.8-rtm-10029 +commithash:02ac27ac741ef7b2a2ecd6ac08ff7b352007408a diff --git a/modules/Antiforgery b/modules/Antiforgery index af5623fb4b..262d123aea 160000 --- a/modules/Antiforgery +++ b/modules/Antiforgery @@ -1 +1 @@ -Subproject commit af5623fb4bdeb5d5aa6f10a213f6f10bafd7334a +Subproject commit 262d123aeae529e56160a03a1365e1cff095e82c diff --git a/modules/AzureIntegration b/modules/AzureIntegration index 8cbc8e6a8c..a926239281 160000 --- a/modules/AzureIntegration +++ b/modules/AzureIntegration @@ -1 +1 @@ -Subproject commit 8cbc8e6a8c9c84429e5fb2908e8c5a3b6d91da19 +Subproject commit a926239281dba7fd83404e321e8ce263569c68f7 diff --git a/modules/BasicMiddleware b/modules/BasicMiddleware index 6138024884..0df8a6bdcb 160000 --- a/modules/BasicMiddleware +++ b/modules/BasicMiddleware @@ -1 +1 @@ -Subproject commit 613802488474bf4938345417faf321e64a173272 +Subproject commit 0df8a6bdcbe9a8f9f4aafabba635a213377540c1 diff --git a/modules/BrowserLink b/modules/BrowserLink index 264e797c42..944c5a1788 160000 --- a/modules/BrowserLink +++ b/modules/BrowserLink @@ -1 +1 @@ -Subproject commit 264e797c42d51b7eeb074e8da739f7888c67602e +Subproject commit 944c5a1788a853a6264c798741e6968018ea9d90 diff --git a/modules/CORS b/modules/CORS index 54018f1f97..fb4d7e5db1 160000 --- a/modules/CORS +++ b/modules/CORS @@ -1 +1 @@ -Subproject commit 54018f1f97257ffae920e98525fcabfcf7f058cf +Subproject commit fb4d7e5db1ccfcc7c8eaa52cb34b4a21776bf1d3 diff --git a/modules/Caching b/modules/Caching index d3c4b58119..83b70a8a1e 160000 --- a/modules/Caching +++ b/modules/Caching @@ -1 +1 @@ -Subproject commit d3c4b58119652b7c566fb00fcf19b907d9db18bc +Subproject commit 83b70a8a1e2c29f56bc95335799ed70038f07cc4 diff --git a/modules/Configuration b/modules/Configuration index c3f21a72ef..cfb4848776 160000 --- a/modules/Configuration +++ b/modules/Configuration @@ -1 +1 @@ -Subproject commit c3f21a72efad1174ea5086e021c4798a439824d0 +Subproject commit cfb48487769b7fa6395e94fdcc9f707d812d8ba0 diff --git a/modules/DataProtection b/modules/DataProtection index c4c6e1b0e9..d7cb942a77 160000 --- a/modules/DataProtection +++ b/modules/DataProtection @@ -1 +1 @@ -Subproject commit c4c6e1b0e9667662646939139205e12bf57e865c +Subproject commit d7cb942a778c9b40065bd2f171b678726334a25e diff --git a/modules/Diagnostics b/modules/Diagnostics index df09b97669..1c2388eeb8 160000 --- a/modules/Diagnostics +++ b/modules/Diagnostics @@ -1 +1 @@ -Subproject commit df09b976698fc024a944aaa918987c6fd78b8420 +Subproject commit 1c2388eeb82bfe2ec51f4e0be816b2e5b98cfebd diff --git a/modules/DotNetTools b/modules/DotNetTools index 78b8c3337d..5377725b66 160000 --- a/modules/DotNetTools +++ b/modules/DotNetTools @@ -1 +1 @@ -Subproject commit 78b8c3337d4725b9108422cd98c951facc9067c2 +Subproject commit 5377725b666a51c027accae9a5cb7469d01b3f60 diff --git a/modules/EntityFrameworkCore b/modules/EntityFrameworkCore index b9309a7e82..7d8a834220 160000 --- a/modules/EntityFrameworkCore +++ b/modules/EntityFrameworkCore @@ -1 +1 @@ -Subproject commit b9309a7e825e0283354e6b4e4480ca74e8b2888e +Subproject commit 7d8a8342207104ea967219e981bb2c5df4075f8b diff --git a/modules/Hosting b/modules/Hosting index 844f6a57af..08d75033b5 160000 --- a/modules/Hosting +++ b/modules/Hosting @@ -1 +1 @@ -Subproject commit 844f6a57af553d1cb89c113a5254470b735a1bd9 +Subproject commit 08d75033b5e9b515f9c27368f23486629dbe40da diff --git a/modules/HtmlAbstractions b/modules/HtmlAbstractions index ab623aeb00..10aa71fdab 160000 --- a/modules/HtmlAbstractions +++ b/modules/HtmlAbstractions @@ -1 +1 @@ -Subproject commit ab623aeb00dd27c9a55c9a4f1662b5304f9acfb4 +Subproject commit 10aa71fdabe8882869445c812cab21ae26fcfe49 diff --git a/modules/HttpAbstractions b/modules/HttpAbstractions index 022f96fc70..f81559a9ef 160000 --- a/modules/HttpAbstractions +++ b/modules/HttpAbstractions @@ -1 +1 @@ -Subproject commit 022f96fc7078d2879ab3ca78680ef6861f66ec54 +Subproject commit f81559a9ef227b27ea5e893e5006ab264f6b7e91 diff --git a/modules/HttpSysServer b/modules/HttpSysServer index b85f18fe18..c53960ab5b 160000 --- a/modules/HttpSysServer +++ b/modules/HttpSysServer @@ -1 +1 @@ -Subproject commit b85f18fe18f511df0af442f5c9d3485c09b909d0 +Subproject commit c53960ab5befa3808c779551f6c1c8cb9cc4a09a diff --git a/modules/IISIntegration b/modules/IISIntegration index 346315f5c0..398ab66f38 160000 --- a/modules/IISIntegration +++ b/modules/IISIntegration @@ -1 +1 @@ -Subproject commit 346315f5c0f5f6ea064fb4f0fffe930d3717d91c +Subproject commit 398ab66f3890889bca9d3acda3a2828e019ec7bc diff --git a/modules/Identity b/modules/Identity index 15a82284ce..1a5f6945d9 160000 --- a/modules/Identity +++ b/modules/Identity @@ -1 +1 @@ -Subproject commit 15a82284ce52dc8932c49f3246763f3ea05a3568 +Subproject commit 1a5f6945d945f24624dae50b0d122c70f4a688d3 diff --git a/modules/JavaScriptServices b/modules/JavaScriptServices index 44d39bc0d4..09ae669370 160000 --- a/modules/JavaScriptServices +++ b/modules/JavaScriptServices @@ -1 +1 @@ -Subproject commit 44d39bc0d42c7f6c5a3f61cdeead4d70f625b6e2 +Subproject commit 09ae6693708349a61b23acfc2c8a13b1d19f99b9 diff --git a/modules/KestrelHttpServer b/modules/KestrelHttpServer index 93022c062b..8392ecdb81 160000 --- a/modules/KestrelHttpServer +++ b/modules/KestrelHttpServer @@ -1 +1 @@ -Subproject commit 93022c062b5ad4c2cf6717a0671b8e5984c72ab7 +Subproject commit 8392ecdb81698aec199a44ab8c1e937d1c68a688 diff --git a/modules/Localization b/modules/Localization index beacd97a93..4fa767ea88 160000 --- a/modules/Localization +++ b/modules/Localization @@ -1 +1 @@ -Subproject commit beacd97a93a768b333e4ab30c710fbd32150a2dc +Subproject commit 4fa767ea886c1487e2b6dfbe5203f0dd5d64d5a0 diff --git a/modules/Logging b/modules/Logging index c2bf63ed67..2a8e63d595 160000 --- a/modules/Logging +++ b/modules/Logging @@ -1 +1 @@ -Subproject commit c2bf63ed67058ed86dd66f6fea85532b5ed4f67a +Subproject commit 2a8e63d5950071089dbe6eff8202a4a3f5db7dfb diff --git a/modules/MetaPackages b/modules/MetaPackages index c5dc6f6959..d700049929 160000 --- a/modules/MetaPackages +++ b/modules/MetaPackages @@ -1 +1 @@ -Subproject commit c5dc6f6959af04bfe0862acaf6db9d3086dcf07f +Subproject commit d700049929ba09abab94596b3ea05a4e79affb74 diff --git a/modules/Mvc b/modules/Mvc index aeab6e295e..b24cd456d9 160000 --- a/modules/Mvc +++ b/modules/Mvc @@ -1 +1 @@ -Subproject commit aeab6e295efdc0b1d89c375b62a84fe3b6ba969e +Subproject commit b24cd456d9d9b5299bbf484292c7d0d7fe490a55 diff --git a/modules/MvcPrecompilation b/modules/MvcPrecompilation index aa8c8d6064..0b31128381 160000 --- a/modules/MvcPrecompilation +++ b/modules/MvcPrecompilation @@ -1 +1 @@ -Subproject commit aa8c8d6064caf8220eb94c507b770ba6656935d2 +Subproject commit 0b311283815e4d5019209402383934426e94fd9e diff --git a/modules/Options b/modules/Options index e8275d1dee..8a94262ff0 160000 --- a/modules/Options +++ b/modules/Options @@ -1 +1 @@ -Subproject commit e8275d1dee8a4e8b03f0d87e81ebc8ef586e2fb7 +Subproject commit 8a94262ff0d33fe1e90c7d8c132b4ec59d8f3165 diff --git a/modules/Proxy b/modules/Proxy index 4665584812..a0ca5e0ee7 160000 --- a/modules/Proxy +++ b/modules/Proxy @@ -1 +1 @@ -Subproject commit 466558481201e2fdedbd2d7d5fdfe288aae85a98 +Subproject commit a0ca5e0ee7988fac55063e0d8386ba546f87ecdd diff --git a/modules/Razor b/modules/Razor index 386840c82b..7dbb837dfb 160000 --- a/modules/Razor +++ b/modules/Razor @@ -1 +1 @@ -Subproject commit 386840c82b3122d06c5139955f70a2a87f2d1d0a +Subproject commit 7dbb837dfbbfeb61723c4b65705f9c8c7a3fae50 diff --git a/modules/ResponseCaching b/modules/ResponseCaching index 2adda717c7..74d699637c 160000 --- a/modules/ResponseCaching +++ b/modules/ResponseCaching @@ -1 +1 @@ -Subproject commit 2adda717c749829f6c670f86a079508c14783390 +Subproject commit 74d699637c5e77613e7ebbd4731f4ec17a3abbea diff --git a/modules/Routing b/modules/Routing index c3cdbf67f0..5bb7b03d41 160000 --- a/modules/Routing +++ b/modules/Routing @@ -1 +1 @@ -Subproject commit c3cdbf67f0606cd95eafe4194924e1ca6439da20 +Subproject commit 5bb7b03d418806b73bdbb47e94855c6dbf38ef81 diff --git a/modules/Scaffolding b/modules/Scaffolding index 8e389bea6b..6c3776781b 160000 --- a/modules/Scaffolding +++ b/modules/Scaffolding @@ -1 +1 @@ -Subproject commit 8e389bea6b88d85d0388926b5176a1e31cd951cc +Subproject commit 6c3776781bd3c517dd202fa3f6353bf6d886e045 diff --git a/modules/Security b/modules/Security index bbf5cac2ab..48dceba628 160000 --- a/modules/Security +++ b/modules/Security @@ -1 +1 @@ -Subproject commit bbf5cac2abd1cf4dca6831ae71097571c036ee56 +Subproject commit 48dceba628d4d4f15dd70b71dcdd55c4d7dad7e0 diff --git a/modules/ServerTests b/modules/ServerTests index 0c313bb216..92dd665af8 160000 --- a/modules/ServerTests +++ b/modules/ServerTests @@ -1 +1 @@ -Subproject commit 0c313bb2164330b127e8941f91c67930bf550453 +Subproject commit 92dd665af81c521fa1ababb5bb0b3201ef2d7090 diff --git a/modules/Session b/modules/Session index 643c53de3d..7e6d4f4669 160000 --- a/modules/Session +++ b/modules/Session @@ -1 +1 @@ -Subproject commit 643c53de3d75479559391e3ffde3e24f5feb5e73 +Subproject commit 7e6d4f46696fbc1eb788734a06b07b854377b80d diff --git a/modules/StaticFiles b/modules/StaticFiles index 6be7940dda..89060e55c5 160000 --- a/modules/StaticFiles +++ b/modules/StaticFiles @@ -1 +1 @@ -Subproject commit 6be7940dda62d06c40b6e0144f1fbe0adf66c6c4 +Subproject commit 89060e55c5b62d8b28c4183ddc6984f63be08aba diff --git a/modules/Templating b/modules/Templating index 5dad28a2aa..4dd1c7ae06 160000 --- a/modules/Templating +++ b/modules/Templating @@ -1 +1 @@ -Subproject commit 5dad28a2aa4acefcbbd6a86097f09fcbf5179eba +Subproject commit 4dd1c7ae0677b8b9fcf9f4834a86b2da713d014e diff --git a/modules/Testing b/modules/Testing index 7d50390d3a..979bde30c1 160000 --- a/modules/Testing +++ b/modules/Testing @@ -1 +1 @@ -Subproject commit 7d50390d3ae3e1eea19cac017062e402e4cc212b +Subproject commit 979bde30c1773991a56dce73ef64ed4f44269e02 diff --git a/modules/WebSockets b/modules/WebSockets index 32c29cb3c4..33fcef2ad9 160000 --- a/modules/WebSockets +++ b/modules/WebSockets @@ -1 +1 @@ -Subproject commit 32c29cb3c4ac317e93010341fc597045388d03b4 +Subproject commit 33fcef2ad9fda677f094d0369b95dcb79738ed36 diff --git a/scripts/PatchVersionPrefix.ps1 b/scripts/PatchVersionPrefix.ps1 index de09ecd311..61eb553cca 100755 --- a/scripts/PatchVersionPrefix.ps1 +++ b/scripts/PatchVersionPrefix.ps1 @@ -43,7 +43,9 @@ foreach ($repo in $Repos) { $versionPrefix = $xml.SelectSingleNode('/Project/PropertyGroup/VersionPrefix') $epxVersionPrefix = $xml.SelectSingleNode('/Project/PropertyGroup/ExperimentalProjectVersionPrefix') + $exVersionPrefix = $xml.SelectSingleNode('/Project/PropertyGroup/ExperimentalVersionPrefix') BumpPatch $epxVersionPrefix + BumpPatch $exVersionPrefix BumpPatch $versionPrefix SaveXml $xml $path } From cba1e5b166394817f111fd5e23aa2775351df886 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 17 Apr 2018 15:30:50 -0700 Subject: [PATCH 78/93] Add Microsoft.AspNetCore.AzureKeyVault.HostingStartup as a shipping package --- build/artifacts.props | 1 + build/dependencies.props | 1 + build/external-dependencies.props | 1 + 3 files changed, 3 insertions(+) diff --git a/build/artifacts.props b/build/artifacts.props index 787057c646..8933a8f919 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -27,6 +27,7 @@ + diff --git a/build/dependencies.props b/build/dependencies.props index 8ecd542ea2..ba9793863f 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -13,6 +13,7 @@ 2.2.1 5.2.2 2.3.2 + 1.1.0-preview 15.3.409 15.3.409 15.3.409 diff --git a/build/external-dependencies.props b/build/external-dependencies.props index 47cb1581d4..c9b1478110 100644 --- a/build/external-dependencies.props +++ b/build/external-dependencies.props @@ -35,6 +35,7 @@ + From c376dab2b6f6f9fd941c967e4c5f6d5b3415789d Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 17 Apr 2018 15:38:50 -0700 Subject: [PATCH 79/93] Fixup submodule branches --- .gitmodules | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 346d96ae02..295fc54ba8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -9,7 +9,7 @@ [submodule "modules/BasicMiddleware"] path = modules/BasicMiddleware url = https://github.com/aspnet/BasicMiddleware.git - branch = release/2.0-msrc + branch = release/2.0 [submodule "modules/BrowserLink"] path = modules/BrowserLink url = https://github.com/aspnet/BrowserLink.git @@ -57,7 +57,7 @@ [submodule "modules/KestrelHttpServer"] path = modules/KestrelHttpServer url = https://github.com/aspnet/KestrelHttpServer.git - branch = release/2.0-msrc + branch = release/2.0 [submodule "modules/Localization"] path = modules/Localization url = https://github.com/aspnet/Localization.git From 7089f1685932613fc9598f933a2ecf2d380f9288 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 17 Apr 2018 15:47:38 -0700 Subject: [PATCH 80/93] Update to include Kestrel patch changes --- .gitmodules | 4 ++-- modules/KestrelHttpServer | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index 295fc54ba8..667b6fc933 100644 --- a/.gitmodules +++ b/.gitmodules @@ -56,8 +56,8 @@ branch = release/2.0 [submodule "modules/KestrelHttpServer"] path = modules/KestrelHttpServer - url = https://github.com/aspnet/KestrelHttpServer.git - branch = release/2.0 + url = https://github.com/aspnet/KestrelHttpServer-Private.git + branch = release/2.0-msrc [submodule "modules/Localization"] path = modules/Localization url = https://github.com/aspnet/Localization.git diff --git a/modules/KestrelHttpServer b/modules/KestrelHttpServer index 8392ecdb81..1cfe5f1e0b 160000 --- a/modules/KestrelHttpServer +++ b/modules/KestrelHttpServer @@ -1 +1 @@ -Subproject commit 8392ecdb81698aec199a44ab8c1e937d1c68a688 +Subproject commit 1cfe5f1e0bf23da6c1679e2a26423c78e2f3f1e2 From 2f91599af9423a404549ca641e7a7e799dbf9127 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 17 Apr 2018 15:54:56 -0700 Subject: [PATCH 81/93] Upgrade to System.Security.Cryptography.Xml 4.4.2 --- build/dependencies.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/dependencies.props b/build/dependencies.props index ba9793863f..bed36de804 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -75,7 +75,7 @@ 1.5.0 4.4.0 4.3.0 - 4.4.0 + 4.4.2 4.4.0 4.4.0 4.8.0 From 95cd76abdddd16cf89fd5ea64839808588992a78 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 17 Apr 2018 16:44:40 -0700 Subject: [PATCH 82/93] Fix package category for shipoob packages --- build/artifacts.props | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/artifacts.props b/build/artifacts.props index 8933a8f919..544fa931f0 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -116,9 +116,9 @@ - + - + @@ -173,7 +173,7 @@ - + @@ -184,7 +184,7 @@ - + From ef9c66ab0b6eaeb6fe135e010e80d4ea397b6eea Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 18 Apr 2018 08:28:34 -0700 Subject: [PATCH 83/93] Remove Microsoft.AspNetCore.AzureKeyVault.HostingStartup from additionalDeps generation --- build/artifacts.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/artifacts.props b/build/artifacts.props index 544fa931f0..cf85f9aed1 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -27,7 +27,7 @@ - + From d4cc10801e433ddb29d29c9981040d591e3f798e Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 18 Apr 2018 08:37:50 -0700 Subject: [PATCH 84/93] Bump runtime store and metapackages to 2.0.8 --- .../build/aspnetcore-store-2.0.7.xml | 1 + version.props | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) create mode 100755 src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.7.xml diff --git a/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.7.xml b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.7.xml new file mode 100755 index 0000000000..23cbdfdc58 --- /dev/null +++ b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.7.xml @@ -0,0 +1 @@ + diff --git a/version.props b/version.props index 4f8fec4a7e..876f139605 100644 --- a/version.props +++ b/version.props @@ -2,7 +2,7 @@ 2 0 - 7 + 8 $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).$(AspNetCorePatchVersion) rtm $(PrereleaseVersionLabel) @@ -16,7 +16,7 @@ $(VersionPrefix) - 2.0.6-10011 - 2.0.6 + $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).$([MSBuild]::Subtract($(AspNetCorePatchVersion), 1)) + $(RuntimeStoreInstallerDependencyVersion)-231 From de692a6afe151602b8036c2ba7143184b01b68c7 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 18 Apr 2018 10:10:10 -0700 Subject: [PATCH 85/93] Flow DotNetAssetRootAccessTokenSuffix through to docker-run as an env variable --- build/RuntimeStoreInstaller.targets | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/build/RuntimeStoreInstaller.targets b/build/RuntimeStoreInstaller.targets index 420df124e7..109e5cccc4 100644 --- a/build/RuntimeStoreInstaller.targets +++ b/build/RuntimeStoreInstaller.targets @@ -462,13 +462,14 @@ -e DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true -e INSTALLER_NAME=$(DebPrefix)-$(DebVersion) -e INSTALLER_VERSION=$(DebVersion) - -e 'KOREBUILD_DOTNET_VERSION=$(KOREBUILD_DOTNET_VERSION)' - -e 'KOREBUILD_DOTNET_SHARED_RUNTIME_VERSION=$(KOREBUILD_DOTNET_SHARED_RUNTIME_VERSION)' - -e 'KOREBUILD_DOTNET_FEED_CDN=$(KOREBUILD_DOTNET_FEED_CDN)' - -e 'KOREBUILD_DOTNET_FEED_UNCACHED=$(KOREBUILD_DOTNET_FEED_UNCACHED)' - -e "KOREBUILD_DOTNET_FEED_CREDENTIAL=$KOREBUILD_DOTNET_FEED_CREDENTIAL" + -e KOREBUILD_DOTNET_VERSION + -e KOREBUILD_DOTNET_SHARED_RUNTIME_VERSION + -e KOREBUILD_DOTNET_FEED_CDN + -e KOREBUILD_DOTNET_FEED_UNCACHED + -e KOREBUILD_DOTNET_FEED_CREDENTIAL + -e DotNetAssetRootAccessTokenSuffix docker-image-$(Image) - ./build.sh /t:RunDebTool '/p:DotNetAssetRootUrl=$(DotNetAssetRootUrl)' '/p:DotNetAssetRootAccessTokenSuffix=$(DotNetAssetRootAccessTokenSuffix)'" + ./build.sh /t:RunDebTool '/p:DotNetAssetRootUrl=$(DotNetAssetRootUrl)'" ContinueOnError="WarnAndContinue" /> From de3d5e0e296e26340efdc0306dc06f304fea309b Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 18 Apr 2018 13:11:52 -0700 Subject: [PATCH 86/93] Exclude additionalDeps files due to file path conflicts with the 2.0.7 release --- build/RuntimeStore.targets | 9 ++++++--- build/artifacts.props | 15 +++++++++++++-- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/build/RuntimeStore.targets b/build/RuntimeStore.targets index 9a0a5732ce..f966bce6ee 100644 --- a/build/RuntimeStore.targets +++ b/build/RuntimeStore.targets @@ -191,7 +191,7 @@ - @@ -200,7 +200,8 @@ - + @@ -228,7 +229,9 @@ SymbolsDestination="$(_SymbolsZipDirectory)"/> - + diff --git a/build/artifacts.props b/build/artifacts.props index cf85f9aed1..7daf7b0337 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -10,9 +10,21 @@ + + + false + + + + false + + + - @@ -28,7 +40,6 @@ - From 90f35168fcecb695f3ca2987cb9b53650acdae60 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 20 Apr 2018 13:15:39 -0700 Subject: [PATCH 87/93] Update KestrelHttpServer submodules --- modules/KestrelHttpServer | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/KestrelHttpServer b/modules/KestrelHttpServer index 1cfe5f1e0b..5532528f1d 160000 --- a/modules/KestrelHttpServer +++ b/modules/KestrelHttpServer @@ -1 +1 @@ -Subproject commit 1cfe5f1e0bf23da6c1679e2a26423c78e2f3f1e2 +Subproject commit 5532528f1d4633c4b26b105d8a4d716ba5d349a6 From 75295b1289a5f43219318fdca1d50ebadf12a3df Mon Sep 17 00:00:00 2001 From: John Luo Date: Thu, 19 Apr 2018 18:32:25 -0700 Subject: [PATCH 88/93] Rename delta zips to *.patch.zip/*.patch.tar.gz --- build/RuntimeStore.targets | 2 +- build/RuntimeStoreInstaller.targets | 44 ++++++++++++++--------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/build/RuntimeStore.targets b/build/RuntimeStore.targets index f966bce6ee..480bc07a7e 100644 --- a/build/RuntimeStore.targets +++ b/build/RuntimeStore.targets @@ -206,7 +206,7 @@ - $(ArtifactsDir)aspnetcore-store-$(PackageVersion)-$(RuntimeStoreRID).zip + $(ArtifactsDir)aspnetcore-store-$(PackageVersion)-$(RuntimeStoreRID).patch.zip $(ArtifactsDir)aspnetcore-symbols-$(PackageVersion)-$(RuntimeStoreRID).zip diff --git a/build/RuntimeStoreInstaller.targets b/build/RuntimeStoreInstaller.targets index 109e5cccc4..eaece814e9 100644 --- a/build/RuntimeStoreInstaller.targets +++ b/build/RuntimeStoreInstaller.targets @@ -26,9 +26,9 @@ $(PublicCoreFeedPrefix)/aspnetcore/store/$(PreviousRuntimeStoreArchiveVersion)/Build.RS. $(CoreFeedPrefix)/Runtime/$(MicrosoftNETCoreApp20PackageVersion)/dotnet-runtime-$(MicrosoftNETCoreApp20PackageVersion)-linux-x64.tar.gz $(_TimestampRSSource)aspnetcore-store-$(PackageVersion)- - $(TimestampRSArchivePrefix)linux-x64.tar.gz + $(TimestampRSArchivePrefix)linux-x64.patch.tar.gz $(_TimestampFreeRSSource)aspnetcore-store-$(PackageVersionNoTimestamp)- - $(TimestampFreeRSArchivePrefix)linux-x64.tar.gz + $(TimestampFreeRSArchivePrefix)linux-x64.patch.tar.gz @@ -47,26 +47,26 @@ Text="Timestamp linux archive not found. Expected it to exist in $(TimestampLinuxRSArchive)." Condition="!Exists('$(TimestampLinuxRSArchive)')" /> + Text="Timestamp osx archive not found. Expected it to exist in $(TimestampRSArchivePrefix)osx-x64.patch.tar.gz." + Condition="!Exists('$(TimestampRSArchivePrefix)osx-x64.patch.tar.gz')" /> + Text="Timestamp winx64 archive not found. Expected it to exist in $(TimestampRSArchivePrefix)win7-x64.patch.zip." + Condition="!Exists('$(TimestampRSArchivePrefix)win7-x64.patch.zip')" /> + Text="Timestamp winx86 archive not found. Expected it to exist in $(TimestampRSArchivePrefix)win7-x86.patch.zip." + Condition="!Exists('$(TimestampRSArchivePrefix)win7-x86.patch.zip')" /> + Text="Non-timestamp osx archive not found. Expected it to exist in $(TimestampFreeRSArchivePrefix)osx-x64.patch.tar.gz." + Condition="!Exists('$(TimestampFreeRSArchivePrefix)osx-x64.patch.tar.gz')" /> + Text="Non-timestamp winx64 archive not found. Expected it to exist in $(TimestampFreeRSArchivePrefix)win7-x64.patch.zip." + Condition="!Exists('$(TimestampFreeRSArchivePrefix)win7-x64.patch.zip')" /> + Text="Non-timestamp winx86 archive not found. Expected it to exist in $(TimestampFreeRSArchivePrefix)win7-x86.patch.zip." + Condition="!Exists('$(TimestampFreeRSArchivePrefix)win7-x86.patch.zip')" /> @@ -162,35 +162,35 @@ Build.RS.linux.tar.gz - $(TimestampFreeRSArchivePrefix)linux-x64.tar.gz + $(TimestampFreeRSArchivePrefix)linux-x64.patch.tar.gz Build.RS.osx.tar.gz - $(TimestampFreeRSArchivePrefix)osx-x64.tar.gz + $(TimestampFreeRSArchivePrefix)osx-x64.patch.tar.gz Build.RS.winx64.zip - $(TimestampFreeRSArchivePrefix)win7-x64.zip + $(TimestampFreeRSArchivePrefix)win7-x64.patch.zip Build.RS.winx86.zip - $(TimestampFreeRSArchivePrefix)win7-x86.zip + $(TimestampFreeRSArchivePrefix)win7-x86.patch.zip Build.RS.linux.tar.gz - $(TimestampRSArchivePrefix)linux-x64.tar.gz + $(TimestampRSArchivePrefix)linux-x64.patch.tar.gz Build.RS.osx.tar.gz - $(TimestampRSArchivePrefix)osx-x64.tar.gz + $(TimestampRSArchivePrefix)osx-x64.patch.tar.gz Build.RS.winx64.zip - $(TimestampRSArchivePrefix)win7-x64.zip + $(TimestampRSArchivePrefix)win7-x64.patch.zip Build.RS.winx86.zip - $(TimestampRSArchivePrefix)win7-x86.zip + $(TimestampRSArchivePrefix)win7-x86.patch.zip From 0e5247f56ba5a6f1cb9d4df69a3af2cf283a74bd Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 23 Apr 2018 15:01:33 -0700 Subject: [PATCH 89/93] Mark KeyVault.HostingStartup as shipoob --- build/artifacts.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/artifacts.props b/build/artifacts.props index 7daf7b0337..8cad215af2 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -39,7 +39,7 @@ - + From 7ac5eb14b18d2f2367f81593862e4e1bb477d571 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 23 Apr 2018 16:52:31 -0700 Subject: [PATCH 90/93] Update KestrelHttpServer submodule --- modules/KestrelHttpServer | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/KestrelHttpServer b/modules/KestrelHttpServer index 5532528f1d..b080a943c1 160000 --- a/modules/KestrelHttpServer +++ b/modules/KestrelHttpServer @@ -1 +1 @@ -Subproject commit 5532528f1d4633c4b26b105d8a4d716ba5d349a6 +Subproject commit b080a943c138f611c9463a2856e11db16a599778 From 57593543c429c75bad06154b1ffaf5a6110581c5 Mon Sep 17 00:00:00 2001 From: Pavel Krymets Date: Fri, 4 May 2018 09:47:06 -0700 Subject: [PATCH 91/93] Make AzureKeyVault.HostingStartup shipping and update dependency version (#1142) --- build/artifacts.props | 2 +- build/dependencies.props | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/artifacts.props b/build/artifacts.props index 8cad215af2..7daf7b0337 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -39,7 +39,7 @@ - + diff --git a/build/dependencies.props b/build/dependencies.props index ba9793863f..f78c5bf875 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -13,7 +13,7 @@ 2.2.1 5.2.2 2.3.2 - 1.1.0-preview + 1.0.1 15.3.409 15.3.409 15.3.409 From 1dea8609974d507d13ef992a30c48c41c152a3b8 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 23 May 2018 11:18:16 -0700 Subject: [PATCH 92/93] Prepare the 2.0.9 patch Prepare the release/2.0 branch to produce 2.0.9. --- build/artifacts.props | 172 +----------------- build/dependencies.props | 8 +- build/external-dependencies.props | 155 ++++++++++++++++ build/submodules.props | 66 +++---- .../NuspecBaselineGenerator.csproj | 13 ++ .../NuspecBaselineGenerator.sln | 34 ++++ .../tools/NuspecBaselineGenerator/Program.cs | 72 ++++++++ korebuild-lock.txt | 4 +- modules/AzureIntegration | 2 +- modules/Identity | 2 +- modules/KestrelHttpServer | 2 +- modules/MetaPackages | 2 +- .../build/aspnetcore-store-2.0.8.xml | 123 +++++++++++++ version.props | 4 +- 14 files changed, 446 insertions(+), 213 deletions(-) create mode 100644 build/tools/NuspecBaselineGenerator/NuspecBaselineGenerator.csproj create mode 100644 build/tools/NuspecBaselineGenerator/NuspecBaselineGenerator.sln create mode 100644 build/tools/NuspecBaselineGenerator/Program.cs create mode 100644 src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.8.xml diff --git a/build/artifacts.props b/build/artifacts.props index 7daf7b0337..18f0f91d3a 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -10,193 +10,29 @@ - - - false - - - - false - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/build/dependencies.props b/build/dependencies.props index 269e58bb6e..2f7c7bc9d6 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -1,6 +1,6 @@  - 1.0.1990 + 2.1.1991 0.10.3 6.1.3 4.2.1 @@ -29,9 +29,9 @@ 3.14.1 2.1.4 5.2.0 - 1.0.8 - 1.1.5 - 2.0.7 + 1.0.11 + 1.1.8 + 2.0.8-servicing-26407-02 1.0.1 15.3.0 3.0.1 diff --git a/build/external-dependencies.props b/build/external-dependencies.props index c9b1478110..f7ff11b9eb 100644 --- a/build/external-dependencies.props +++ b/build/external-dependencies.props @@ -197,6 +197,161 @@ not building again in this patch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/submodules.props b/build/submodules.props index fd4d65b78e..97dc758fa7 100644 --- a/build/submodules.props +++ b/build/submodules.props @@ -7,42 +7,10 @@ - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/tools/NuspecBaselineGenerator/NuspecBaselineGenerator.csproj b/build/tools/NuspecBaselineGenerator/NuspecBaselineGenerator.csproj new file mode 100644 index 0000000000..54697dfb5f --- /dev/null +++ b/build/tools/NuspecBaselineGenerator/NuspecBaselineGenerator.csproj @@ -0,0 +1,13 @@ + + + + + Exe + netcoreapp2.0 + + + + + + + diff --git a/build/tools/NuspecBaselineGenerator/NuspecBaselineGenerator.sln b/build/tools/NuspecBaselineGenerator/NuspecBaselineGenerator.sln new file mode 100644 index 0000000000..d6695b6b86 --- /dev/null +++ b/build/tools/NuspecBaselineGenerator/NuspecBaselineGenerator.sln @@ -0,0 +1,34 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26124.0 +MinimumVisualStudioVersion = 15.0.26124.0 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NuspecBaselineGenerator", "NuspecBaselineGenerator.csproj", "{1A7FFC6E-7343-4AAD-A047-4D7097FBD7BF}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1A7FFC6E-7343-4AAD-A047-4D7097FBD7BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1A7FFC6E-7343-4AAD-A047-4D7097FBD7BF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1A7FFC6E-7343-4AAD-A047-4D7097FBD7BF}.Debug|x64.ActiveCfg = Debug|x64 + {1A7FFC6E-7343-4AAD-A047-4D7097FBD7BF}.Debug|x64.Build.0 = Debug|x64 + {1A7FFC6E-7343-4AAD-A047-4D7097FBD7BF}.Debug|x86.ActiveCfg = Debug|x86 + {1A7FFC6E-7343-4AAD-A047-4D7097FBD7BF}.Debug|x86.Build.0 = Debug|x86 + {1A7FFC6E-7343-4AAD-A047-4D7097FBD7BF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1A7FFC6E-7343-4AAD-A047-4D7097FBD7BF}.Release|Any CPU.Build.0 = Release|Any CPU + {1A7FFC6E-7343-4AAD-A047-4D7097FBD7BF}.Release|x64.ActiveCfg = Release|x64 + {1A7FFC6E-7343-4AAD-A047-4D7097FBD7BF}.Release|x64.Build.0 = Release|x64 + {1A7FFC6E-7343-4AAD-A047-4D7097FBD7BF}.Release|x86.ActiveCfg = Release|x86 + {1A7FFC6E-7343-4AAD-A047-4D7097FBD7BF}.Release|x86.Build.0 = Release|x86 + EndGlobalSection +EndGlobal diff --git a/build/tools/NuspecBaselineGenerator/Program.cs b/build/tools/NuspecBaselineGenerator/Program.cs new file mode 100644 index 0000000000..38785ff532 --- /dev/null +++ b/build/tools/NuspecBaselineGenerator/Program.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Xml.Linq; +using McMaster.Extensions.CommandLineUtils; +using NuGet.Packaging; + +namespace NuspecBaselineGenerator +{ + class Program + { + static void Main(string[] args) => CommandLineApplication.Execute(args); + + [Required] + [DirectoryExists] + [Argument(0)] + public string[] Directories { get; } + + [Required] + [Option] + [FileExists] + public string Artifacts { get; } + + private void OnExecute() + { + var doc = XDocument.Load(Artifacts); + var versions = new List<(string, string)>(); + foreach (var dir in Directories) + { + foreach (var nupkg in Directory.EnumerateFiles(dir, "*.nupkg")) + { + using (var reader = new PackageArchiveReader(nupkg)) + { + var identity = reader.GetIdentity(); + versions.Add((identity.Id, identity.Version.ToNormalizedString())); + } + } + } + + void WriteAttribute(XElement element, string attr) + { + var attribute = element.Attribute(attr); + if (attribute != null) + { + Console.Write($" {attr}=\"{attribute.Value}\""); + } + } + + foreach (var item in versions.OrderBy(i => i.Item1)) + { + var element = doc + .Descendants("PackageArtifact") + .SingleOrDefault(p => p.Attribute("Include")?.Value == item.Item1); + + + Console.Write($""); + } + } + } +} diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 5e0e3247df..b66b9a0b0e 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.0.8-rtm-10029 -commithash:02ac27ac741ef7b2a2ecd6ac08ff7b352007408a +version:2.0.8-rtm-10033 +commithash:a415fe50b6f5d7465e2e5d8576225a4a095eca7d diff --git a/modules/AzureIntegration b/modules/AzureIntegration index a926239281..6188e9edeb 160000 --- a/modules/AzureIntegration +++ b/modules/AzureIntegration @@ -1 +1 @@ -Subproject commit a926239281dba7fd83404e321e8ce263569c68f7 +Subproject commit 6188e9edebca6f372da462ef086fbf40fa5e088b diff --git a/modules/Identity b/modules/Identity index 1a5f6945d9..952b38aa4e 160000 --- a/modules/Identity +++ b/modules/Identity @@ -1 +1 @@ -Subproject commit 1a5f6945d945f24624dae50b0d122c70f4a688d3 +Subproject commit 952b38aa4ed42261465b4e7054a0fc0cc94b8f80 diff --git a/modules/KestrelHttpServer b/modules/KestrelHttpServer index b080a943c1..45abc6a931 160000 --- a/modules/KestrelHttpServer +++ b/modules/KestrelHttpServer @@ -1 +1 @@ -Subproject commit b080a943c138f611c9463a2856e11db16a599778 +Subproject commit 45abc6a931b49bd121ad1ec5867cb71862a71349 diff --git a/modules/MetaPackages b/modules/MetaPackages index d700049929..1916862d77 160000 --- a/modules/MetaPackages +++ b/modules/MetaPackages @@ -1 +1 @@ -Subproject commit d700049929ba09abab94596b3ea05a4e79affb74 +Subproject commit 1916862d7770b35ffe6ead9028eeb00e0f8799b6 diff --git a/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.8.xml b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.8.xml new file mode 100644 index 0000000000..5da200395f --- /dev/null +++ b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.8.xml @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/version.props b/version.props index 876f139605..3314f5b6c0 100644 --- a/version.props +++ b/version.props @@ -2,7 +2,7 @@ 2 0 - 8 + 9 $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).$(AspNetCorePatchVersion) rtm $(PrereleaseVersionLabel) @@ -17,6 +17,6 @@ $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).$([MSBuild]::Subtract($(AspNetCorePatchVersion), 1)) - $(RuntimeStoreInstallerDependencyVersion)-231 + $(RuntimeStoreInstallerDependencyVersion)-10026 From d133185a78eac475e6dd07fd7a945ddb59c62445 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 23 May 2018 11:30:56 -0700 Subject: [PATCH 93/93] Updating submodule(s) Templating => 72e29bfd1c51792e041b6b055e7f636bfc4fb813 [auto-updated: submodules] --- modules/Templating | 2 +- scripts/UpdateSubmodules.ps1 | 144 +++++++++++++++++++++++++++++++++++ 2 files changed, 145 insertions(+), 1 deletion(-) create mode 100755 scripts/UpdateSubmodules.ps1 diff --git a/modules/Templating b/modules/Templating index 4dd1c7ae06..72e29bfd1c 160000 --- a/modules/Templating +++ b/modules/Templating @@ -1 +1 @@ -Subproject commit 4dd1c7ae0677b8b9fcf9f4834a86b2da713d014e +Subproject commit 72e29bfd1c51792e041b6b055e7f636bfc4fb813 diff --git a/scripts/UpdateSubmodules.ps1 b/scripts/UpdateSubmodules.ps1 new file mode 100755 index 0000000000..11058328f0 --- /dev/null +++ b/scripts/UpdateSubmodules.ps1 @@ -0,0 +1,144 @@ +#!/usr/bin/env pwsh -c + +<# +.SYNOPSIS + Updates git submodules and generates a commit message with the list of changes +.PARAMETER GitAuthorName + The author name to use in the commit message. (Optional) +.PARAMETER GitAuthorEmail + The author email to use in the commit message. (Optional) +.PARAMETER GitCommitArgs + Additional arguments to pass into git-commit +.PARAMETER NoCommit + Make changes without executing git-commit +.PARAMETER Force + Specified this to make a commit with any changes +.PARAMETER IgnoredRepos + Repos to not update (likely because they are temporarily broken). +#> +[cmdletbinding(SupportsShouldProcess = $true)] +param( + [string]$GitAuthorName = $null, + [string]$GitAuthorEmail = $null, + [string[]]$GitCommitArgs = @(), + [switch]$NoCommit, + [switch]$Force, + [string[]]$IgnoredRepos = @() +) + +$ErrorActionPreference = 'Stop' +Set-StrictMode -Version 2 + +$RepoRoot = Resolve-Path "$PSScriptRoot\.." +$ModuleDirectory = Join-Path $RepoRoot "modules" + +Import-Module "$PSScriptRoot/common.psm1" -Scope Local -Force + +function Get-GitChanges([string]$Path) { + Write-Verbose "git diff --cached --quiet $Path" + & git diff --cached --quiet $Path | Out-Null + if ($LastExitCode -ne 0) { + return $true + } + Write-Verbose "git diff --quiet $Path" + & git diff --quiet $Path | Out-Null + 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 $RepoRoot -Verbose:$VerbosePreference + + foreach ($submodule in $submodules) { + $submoduleName = $submodule.module + if ($IgnoredRepos.Contains($submoduleName)) + { + Write-Host "Skipping $submoduleName due to IgnoredRepos." + continue + } + + $submodulePath = $submodule.path + Write-Host "Updating $submodulePath" + + $vcs_name = "BUILD_VCS_NUMBER_" + ($submodule.module -replace '\.','_') + $newCommit = [environment]::GetEnvironmentVariable($vcs_name) + + if (-not $newCommit) { + if ($env:TEAMCITY_PROJECT_NAME) { + throw "TeamCity env variable '$vcs_name' not found. Make sure to configure a VCS root for $submodulePath" + } + Invoke-Block { & git submodule update --remote $submodulePath } + Push-Location $submodulePath | Out-Null + try { + $newCommit = $(git rev-parse HEAD) + } + finally { + Pop-Location | Out-Null + } + } + else { + Push-Location $submodulePath | Out-Null + try { + Invoke-Block { & git checkout $newCommit } + } + finally { + Pop-Location | Out-Null + } + } + + $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) `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?')))) { + + $gitConfigArgs = @() + if ($GitAuthorName) { + $gitConfigArgs += '-c',"user.name=$GitAuthorName" + } + + if ($GitAuthorEmail) { + $gitConfigArgs += '-c',"user.email=$GitAuthorEmail" + } + + Invoke-Block { & git @gitConfigArgs commit -m $message @GitCommitArgs } + } + else { + # If composing this script with others, return the message that would have been used + return @{ + message = $message + } + } + } + else { + Write-Host -ForegroundColor Magenta 'No changes detected in git submodules' + } +} +finally { + Pop-Location +}