From 3254386e411d0ffdc5296f28fb2d3c43fa8098bb Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 28 Jun 2018 16:48:53 -0700 Subject: [PATCH 01/29] Bumping version from 2.2.0 to 3.0.0 --- version.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/version.props b/version.props index ddf502f2b3..e37dbcf611 100644 --- a/version.props +++ b/version.props @@ -1,7 +1,7 @@ - + - 2.2.0 - preview1 + 3.0.0 + alpha1 $(VersionPrefix) $(VersionPrefix)-$(VersionSuffix)-final t000 From 7d8599ed5cbb870b1b03921312ff0d2faa8eeecd Mon Sep 17 00:00:00 2001 From: "Nate McMaster (automated)" Date: Mon, 2 Jul 2018 12:40:23 -0700 Subject: [PATCH 02/29] [automated] Change default branch to master --- .appveyor.yml | 18 +++++++++--------- korebuild.json | 6 +++--- run.ps1 | 6 +++--- run.sh | 2 +- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 8290b9bacd..ebd2d12d89 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -1,20 +1,20 @@ init: - - git config --global core.autocrlf true +- git config --global core.autocrlf true branches: only: - - dev - - /^release\/.*$/ - - /^(.*\/)?ci-.*$/ + - master + - /^release\/.*$/ + - /^(.*\/)?ci-.*$/ install: - - ps: .\tools\update_schema.ps1 - - git submodule update --init --recursive +- ps: .\tools\update_schema.ps1 +- git submodule update --init --recursive build_script: - - ps: .\run.ps1 default-build +- ps: .\run.ps1 default-build clone_depth: 1 environment: global: DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true DOTNET_CLI_TELEMETRY_OPTOUT: 1 -test: off -deploy: off +test: 'off' +deploy: 'off' os: Visual Studio 2017 diff --git a/korebuild.json b/korebuild.json index 4893e52bc4..b76e84272b 100644 --- a/korebuild.json +++ b/korebuild.json @@ -1,6 +1,6 @@ { - "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/dev/tools/korebuild.schema.json", - "channel": "dev", + "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/master/tools/korebuild.schema.json", + "channel": "master", "toolsets": { "visualstudio": { "required": ["Windows"], @@ -14,4 +14,4 @@ ] } } - } \ No newline at end of file + } diff --git a/run.ps1 b/run.ps1 index 3b27382468..34604c7175 100644 --- a/run.ps1 +++ b/run.ps1 @@ -52,8 +52,8 @@ in the file are overridden by command line parameters. Example config file: ```json { - "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/dev/tools/korebuild.schema.json", - "channel": "dev", + "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/master/tools/korebuild.schema.json", + "channel": "master", "toolsSource": "https://aspnetcore.blob.core.windows.net/buildtools" } ``` @@ -192,7 +192,7 @@ if (!$DotNetHome) { else { Join-Path $PSScriptRoot '.dotnet'} } -if (!$Channel) { $Channel = 'dev' } +if (!$Channel) { $Channel = 'master' } if (!$ToolsSource) { $ToolsSource = 'https://aspnetcore.blob.core.windows.net/buildtools' } # Execute diff --git a/run.sh b/run.sh index 02aac15874..61f7a53385 100755 --- a/run.sh +++ b/run.sh @@ -248,7 +248,7 @@ if [ -f "$config_file" ]; then [ ! -z "${config_tools_source:-}" ] && tools_source="$config_tools_source" fi -[ -z "$channel" ] && channel='dev' +[ -z "$channel" ] && channel='master' [ -z "$tools_source" ] && tools_source='https://aspnetcore.blob.core.windows.net/buildtools' get_korebuild From c291d80c19ea66b3afd2d0e7926987274e03d4e2 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Tue, 3 Jul 2018 16:15:12 +0000 Subject: [PATCH 03/29] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 56 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 0736961427..3548f304ae 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,39 +4,39 @@ 0.10.13 - 2.2.0-preview1-17090 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 0.6.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 + 3.0.0-alpha1-10000 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 0.7.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 15.6.82 15.6.82 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 - 2.2.0-preview1-34530 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 + 3.0.0-alpha1-10016 2.0.0 2.1.0 2.2.0-preview1-26618-02 - 2.2.0-preview1-34530 + 3.0.0-alpha1-10016 15.6.1 2.0.3 4.6.0-preview1-26617-01 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 3e694b2ed8..3f870e51fe 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview1-17090 -commithash:b19e903e946579cd9482089bce7d917e8bacd765 +version:3.0.0-alpha1-10000 +commithash:b7b88d08d55abc8b71de9abf16e26fc713e332cd From 4a7d15b9e5500ec1d1bf8feccef632bbb07b8a59 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 8 Jul 2018 19:56:38 +0000 Subject: [PATCH 04/29] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 60 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 247de66dd7..18a4940549 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -1,42 +1,42 @@ - + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 0.10.13 - 3.0.0-alpha1-10000 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 0.7.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 + 3.0.0-alpha1-10005 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 0.7.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 15.6.82 15.6.82 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 - 3.0.0-alpha1-10016 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 + 3.0.0-alpha1-10044 2.0.0 2.1.0 2.2.0-preview1-26618-02 - 3.0.0-alpha1-10016 + 3.0.0-alpha1-10044 15.6.1 11.1.0 2.0.3 @@ -50,7 +50,7 @@ 4.6.0-preview1-26617-01 9.0.1 2.3.1 - 2.4.0-beta.1.build3945 + 2.4.0-rc.1.build4038 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 3f870e51fe..2395ab5956 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:3.0.0-alpha1-10000 -commithash:b7b88d08d55abc8b71de9abf16e26fc713e332cd +version:3.0.0-alpha1-10005 +commithash:05570853de976a526462ca140a55b1ac59d9a351 From 6d62502de45c79fe924d1aa7be6f64f04d543adf Mon Sep 17 00:00:00 2001 From: dotnet-maestro-bot Date: Fri, 13 Jul 2018 12:19:16 -0700 Subject: [PATCH 05/29] Fix CI test failures (#1045) (#1053) --- .../CommonLib/debugutil.cpp | 2 +- .../IISApplication.cs | 1 - .../IISDeployer.cs | 5 +- .../Inprocess/EventLogTests.cs | 2 +- .../Inprocess/LoggingTests.cs | 6 +- .../Inprocess/StartupExceptionTests.cs | 19 ++- .../Utilities/Helpers.cs | 58 ++++++++ .../Utilities/IISCapability.cs | 16 +++ .../Utilities/SkipIISAttribute.cs | 17 --- test/IIS.FunctionalTests/RequiresAttribute.cs | 73 ---------- .../RequiresIISAttribute.cs | 131 ++++++++++++++++++ .../RequiresIISAttribute.cs | 7 + 12 files changed, 238 insertions(+), 99 deletions(-) create mode 100644 test/Common.FunctionalTests/Utilities/IISCapability.cs delete mode 100644 test/IIS.FunctionalTests/RequiresAttribute.cs create mode 100644 test/IIS.FunctionalTests/RequiresIISAttribute.cs diff --git a/src/AspNetCoreModuleV2/CommonLib/debugutil.cpp b/src/AspNetCoreModuleV2/CommonLib/debugutil.cpp index 09becc9010..28bc775dfa 100644 --- a/src/AspNetCoreModuleV2/CommonLib/debugutil.cpp +++ b/src/AspNetCoreModuleV2/CommonLib/debugutil.cpp @@ -91,7 +91,7 @@ DebugInitializeFromConfig(IHttpServer& pHttpServer, IHttpApplication& pHttpAppli STRU debugValue; RETURN_IF_FAILED(ConfigUtility::FindDebugLevel(pAspNetCoreElement, debugValue)); - SetDebugFlags(debugFile.QueryStr()); + SetDebugFlags(debugValue.QueryStr()); CreateDebugLogFile(debugFile.QueryStr()); diff --git a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISApplication.cs b/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISApplication.cs index 3fafd7c8f9..afa28dd4e3 100644 --- a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISApplication.cs +++ b/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISApplication.cs @@ -197,7 +197,6 @@ namespace Microsoft.AspNetCore.Server.IntegrationTesting () => File.Delete(_apphostConfigPath), e => _logger.LogWarning($"Failed to delete file : {e.Message}")); } - if (File.Exists(_apphostConfigBackupPath)) { RetryFileOperation( diff --git a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeployer.cs b/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeployer.cs index 6df58dd736..f1f4922e88 100644 --- a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeployer.cs +++ b/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeployer.cs @@ -34,7 +34,6 @@ namespace Microsoft.AspNetCore.Server.IntegrationTesting.IIS } GetLogsFromFile($"{_application.WebSiteName}.txt"); - GetLogsFromFile("web.config"); CleanPublishedOutput(); InvokeUserApplicationCleanup(); @@ -88,9 +87,11 @@ namespace Microsoft.AspNetCore.Server.IntegrationTesting.IIS var arr = new string[0]; RetryHelper.RetryOperation(() => arr = File.ReadAllLines(Path.Combine(DeploymentParameters.PublishedApplicationRootPath, file)), - (ex) => Logger.LogError("Could not read log file"), + (ex) => Logger.LogWarning("Could not read log file"), 5, 200); + + Logger.LogInformation($"Found debug log file: {file}"); foreach (var line in arr) { Logger.LogInformation(line); diff --git a/test/Common.FunctionalTests/Inprocess/EventLogTests.cs b/test/Common.FunctionalTests/Inprocess/EventLogTests.cs index 1ae8aa5d57..176661189c 100644 --- a/test/Common.FunctionalTests/Inprocess/EventLogTests.cs +++ b/test/Common.FunctionalTests/Inprocess/EventLogTests.cs @@ -14,7 +14,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests { var deploymentParameters = Helpers.GetBaseDeploymentParameters(publish: true); var deploymentResult = await DeployAsync(deploymentParameters); - await Helpers.AssertStarts(deploymentResult, "/HelloWorld"); + await Helpers.AssertStarts(deploymentResult); StopServer(); diff --git a/test/Common.FunctionalTests/Inprocess/LoggingTests.cs b/test/Common.FunctionalTests/Inprocess/LoggingTests.cs index 6b4b2278a4..53009a969c 100644 --- a/test/Common.FunctionalTests/Inprocess/LoggingTests.cs +++ b/test/Common.FunctionalTests/Inprocess/LoggingTests.cs @@ -69,6 +69,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests } [ConditionalFact] + [RequiresIIS(IISCapability.PoolEnvironmentVariables)] public async Task StartupMessagesAreLoggedIntoDebugLogFile() { var tempFile = Path.GetTempFileName(); @@ -78,6 +79,9 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests deploymentParameters.EnvironmentVariables["ASPNETCORE_MODULE_DEBUG_FILE"] = tempFile; var deploymentResult = await DeployAsync(deploymentParameters); + + Helpers.AddDebugLogToWebConfig(deploymentResult.DeploymentResult.ContentRoot, tempFile); + var response = await deploymentResult.RetryingHttpClient.GetAsync("/"); StopServer(); @@ -93,7 +97,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests } [ConditionalFact] - [SkipIIS] + [RequiresIIS(IISCapability.PoolEnvironmentVariables)] public async Task StartupMessagesLogFileSwitchedWhenLogFilePresentInWebConfig() { var firstTempFile = Path.GetTempFileName(); diff --git a/test/Common.FunctionalTests/Inprocess/StartupExceptionTests.cs b/test/Common.FunctionalTests/Inprocess/StartupExceptionTests.cs index d39ed68c24..667c47327c 100644 --- a/test/Common.FunctionalTests/Inprocess/StartupExceptionTests.cs +++ b/test/Common.FunctionalTests/Inprocess/StartupExceptionTests.cs @@ -2,6 +2,7 @@ // 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.Net; using System.Threading.Tasks; using Microsoft.AspNetCore.Server.IIS.FunctionalTests.Utilities; @@ -22,11 +23,17 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests // However, for IIS, we need a web.config file because the default on generated on publish // doesn't include V2. We can remove the publish flag once IIS supports non-publish running var deploymentParameters = Helpers.GetBaseDeploymentParameters("StartupExceptionWebsite", publish: true); - deploymentParameters.EnvironmentVariables["ASPNETCORE_INPROCESS_STARTUP_VALUE"] = path; + var randomNumberString = new Random(Guid.NewGuid().GetHashCode()).Next(10000000).ToString(); - deploymentParameters.EnvironmentVariables["ASPNETCORE_INPROCESS_RANDOM_VALUE"] = randomNumberString; + + var environmentVariablesInWebConfig = new Dictionary + { + ["ASPNETCORE_INPROCESS_STARTUP_VALUE"] = path, + ["ASPNETCORE_INPROCESS_RANDOM_VALUE"] = randomNumberString + }; var deploymentResult = await DeployAsync(deploymentParameters); + Helpers.AddEnvironmentVariablesToWebConfig(deploymentResult.DeploymentResult.ContentRoot, environmentVariablesInWebConfig); var response = await deploymentResult.RetryingHttpClient.GetAsync(path); @@ -45,10 +52,16 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests public async Task CheckStdoutWithLargeWrites(string path) { var deploymentParameters = Helpers.GetBaseDeploymentParameters("StartupExceptionWebsite", publish: true); - deploymentParameters.EnvironmentVariables["ASPNETCORE_INPROCESS_STARTUP_VALUE"] = path; + + var environmentVariablesInWebConfig = new Dictionary + { + ["ASPNETCORE_INPROCESS_STARTUP_VALUE"] = path + }; var deploymentResult = await DeployAsync(deploymentParameters); + Helpers.AddEnvironmentVariablesToWebConfig(deploymentResult.DeploymentResult.ContentRoot, environmentVariablesInWebConfig); + var response = await deploymentResult.RetryingHttpClient.GetAsync(path); Assert.Equal(HttpStatusCode.InternalServerError, response.StatusCode); diff --git a/test/Common.FunctionalTests/Utilities/Helpers.cs b/test/Common.FunctionalTests/Utilities/Helpers.cs index e512dd6d83..0480351ce1 100644 --- a/test/Common.FunctionalTests/Utilities/Helpers.cs +++ b/test/Common.FunctionalTests/Utilities/Helpers.cs @@ -2,6 +2,8 @@ // 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.IO; using System.Linq; using System.Threading.Tasks; @@ -54,6 +56,62 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests config.Save(webConfigFile); } + public static void AddDebugLogToWebConfig(string contentRoot, string filename) + { + var path = Path.Combine(contentRoot, "web.config"); + var webconfig = XDocument.Load(path); + var xElement = webconfig.Descendants("aspNetCore").Single(); + + var element = xElement.Descendants("handlerSettings").SingleOrDefault(); + if (element == null) + { + element = new XElement("handlerSettings"); + xElement.Add(element); + } + + CreateOrSetElement(element, "debugLevel", "4", "handlerSetting"); + + CreateOrSetElement(element, "debugFile", Path.Combine(contentRoot, filename), "handlerSetting"); + + webconfig.Save(path); + } + + public static void AddEnvironmentVariablesToWebConfig(string contentRoot, IDictionary environmentVariables) + { + var path = Path.Combine(contentRoot, "web.config"); + var webconfig = XDocument.Load(path); + var xElement = webconfig.Descendants("aspNetCore").Single(); + + var element = xElement.Descendants("environmentVariables").SingleOrDefault(); + if (element == null) + { + element = new XElement("environmentVariables"); + xElement.Add(element); + } + + foreach (var envVar in environmentVariables) + { + CreateOrSetElement(element, envVar.Key, envVar.Value, "environmentVariable"); + } + + webconfig.Save(path); + } + + public static void CreateOrSetElement(XElement rootElement, string name, string value, string elementName) + { + if (rootElement.Descendants() + .Attributes() + .Where(attribute => attribute.Value == name) + .Any()) + { + return; + } + var element = new XElement(elementName); + element.SetAttributeValue("name", name); + element.SetAttributeValue("value", value); + rootElement.Add(element); + } + // Defaults to inprocess specific deployment parameters public static DeploymentParameters GetBaseDeploymentParameters(string site = null, HostingModel hostingModel = HostingModel.InProcess, bool publish = false) { diff --git a/test/Common.FunctionalTests/Utilities/IISCapability.cs b/test/Common.FunctionalTests/Utilities/IISCapability.cs new file mode 100644 index 0000000000..e3a5bf6c4e --- /dev/null +++ b/test/Common.FunctionalTests/Utilities/IISCapability.cs @@ -0,0 +1,16 @@ +// 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; + +namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests +{ + [Flags] + public enum IISCapability + { + None = 0, + Websockets = 1, + WindowsAuthentication = 2, + PoolEnvironmentVariables = 4 + } +} diff --git a/test/Common.FunctionalTests/Utilities/SkipIISAttribute.cs b/test/Common.FunctionalTests/Utilities/SkipIISAttribute.cs index da90b513f8..e69de29bb2 100644 --- a/test/Common.FunctionalTests/Utilities/SkipIISAttribute.cs +++ b/test/Common.FunctionalTests/Utilities/SkipIISAttribute.cs @@ -1,17 +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 Microsoft.AspNetCore.Server.IntegrationTesting; -using Microsoft.AspNetCore.Testing.xunit; - -namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests -{ - [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Method)] - public sealed class SkipIISAttribute : Attribute, ITestCondition - { - public bool IsMet => DeployerSelector.ServerType == ServerType.IIS; - - public string SkipReason => "Cannot run test on full IIS."; - } -} diff --git a/test/IIS.FunctionalTests/RequiresAttribute.cs b/test/IIS.FunctionalTests/RequiresAttribute.cs deleted file mode 100644 index 6602d1125c..0000000000 --- a/test/IIS.FunctionalTests/RequiresAttribute.cs +++ /dev/null @@ -1,73 +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.IO; -using System.Linq; -using System.Runtime.InteropServices; -using System.Security.Principal; -using System.Xml.Linq; -using Microsoft.AspNetCore.Testing.xunit; - -namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests -{ - [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Method)] - public sealed class RequiresIISAttribute : Attribute, ITestCondition - { - private static readonly bool _isMet; - public static readonly string _skipReason; - - public bool IsMet => _isMet; - public string SkipReason => _skipReason; - - static RequiresIISAttribute() - { - if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) - { - _skipReason = "IIS tests can only be run on Windows"; - return; - } - - var identity = WindowsIdentity.GetCurrent(); - var principal = new WindowsPrincipal(identity); - if (!principal.IsInRole(WindowsBuiltInRole.Administrator)) - { - _skipReason += "The current console is not running as admin."; - return; - } - - if (!File.Exists(Path.Combine(Environment.SystemDirectory, "inetsrv", "w3wp.exe"))) - { - _skipReason += "The machine does not have IIS installed."; - return; - } - - var ancmConfigPath = Path.Combine(Environment.SystemDirectory, "inetsrv", "config", "schema", "aspnetcore_schema_v2.xml"); - - if (!File.Exists(ancmConfigPath)) - { - _skipReason = "IIS Schema is not installed."; - return; - } - - XDocument ancmConfig; - - try - { - ancmConfig = XDocument.Load(ancmConfigPath); - } - catch - { - _skipReason = "Could not read ANCM schema configuration"; - return; - } - - _isMet = ancmConfig - .Root - .Descendants("attribute") - .Any(n => "hostingModel".Equals(n.Attribute("name")?.Value, StringComparison.Ordinal)); - - _skipReason = _isMet ? null : "IIS schema needs to be upgraded to support ANCM."; - } - } -} diff --git a/test/IIS.FunctionalTests/RequiresIISAttribute.cs b/test/IIS.FunctionalTests/RequiresIISAttribute.cs new file mode 100644 index 0000000000..f55f397cfa --- /dev/null +++ b/test/IIS.FunctionalTests/RequiresIISAttribute.cs @@ -0,0 +1,131 @@ +// 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.IO; +using System.Linq; +using System.Runtime.InteropServices; +using System.Security.Principal; +using System.Xml.Linq; +using Microsoft.AspNetCore.Testing.xunit; +using Microsoft.Win32; + +namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests +{ + [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Method)] + public sealed class RequiresIISAttribute : Attribute, ITestCondition + { + private static readonly bool _isMetStatic; + private static readonly string _skipReasonStatic; + + private readonly bool _isMet; + private readonly string _skipReason; + + private static readonly bool _websocketsAvailable; + private static readonly bool _windowsAuthAvailable; + private static readonly bool _poolEnvironmentVariablesAvailable; + + static RequiresIISAttribute() + { + if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + _skipReasonStatic = "IIS tests can only be run on Windows"; + return; + } + + var identity = WindowsIdentity.GetCurrent(); + var principal = new WindowsPrincipal(identity); + if (!principal.IsInRole(WindowsBuiltInRole.Administrator)) + { + _skipReasonStatic += "The current console is not running as admin."; + return; + } + + if (!File.Exists(Path.Combine(Environment.SystemDirectory, "inetsrv", "w3wp.exe"))) + { + _skipReasonStatic += "The machine does not have IIS installed."; + return; + } + + var ancmConfigPath = Path.Combine(Environment.SystemDirectory, "inetsrv", "config", "schema", "aspnetcore_schema_v2.xml"); + + if (!File.Exists(ancmConfigPath)) + { + _skipReasonStatic = "IIS Schema is not installed."; + return; + } + + XDocument ancmConfig; + + try + { + ancmConfig = XDocument.Load(ancmConfigPath); + } + catch + { + _skipReasonStatic = "Could not read ANCM schema configuration"; + return; + } + + _isMetStatic = ancmConfig + .Root + .Descendants("attribute") + .Any(n => "hostingModel".Equals(n.Attribute("name")?.Value, StringComparison.Ordinal)); + + _skipReasonStatic = _isMetStatic ? null : "IIS schema needs to be upgraded to support ANCM."; + + _websocketsAvailable = File.Exists(Path.Combine(Environment.SystemDirectory, "inetsrv", "iiswsock.dll")); + + _windowsAuthAvailable = File.Exists(Path.Combine(Environment.SystemDirectory, "inetsrv", "authsspi.dll")); + + var iisRegistryKey = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\InetStp", writable: false); + if (iisRegistryKey == null) + { + _poolEnvironmentVariablesAvailable = false; + } + else + { + var majorVersion = (int)iisRegistryKey.GetValue("MajorVersion", -1); + var minorVersion = (int)iisRegistryKey.GetValue("MinorVersion", -1); + var version = new Version(majorVersion, minorVersion); + _poolEnvironmentVariablesAvailable = version >= new Version(10, 0); + } + } + + public RequiresIISAttribute() { } + + public RequiresIISAttribute(IISCapability capabilities) + { + _isMet = _isMetStatic; + _skipReason = _skipReasonStatic; + if (capabilities.HasFlag(IISCapability.Websockets)) + { + _isMet &= _websocketsAvailable; + if (!_websocketsAvailable) + { + _skipReason += "The machine does not have IIS websockets installed."; + } + } + if (capabilities.HasFlag(IISCapability.WindowsAuthentication)) + { + _isMet &= _windowsAuthAvailable; + + if (!_windowsAuthAvailable) + { + _skipReason += "The machine does not have IIS windows authentication installed."; + } + } + if (capabilities.HasFlag(IISCapability.PoolEnvironmentVariables)) + { + _isMet &= _poolEnvironmentVariablesAvailable; + if (!_poolEnvironmentVariablesAvailable) + { + _skipReason += "The machine does allow for setting environment variables on application pools."; + } + } + } + + public bool IsMet => _isMet; + public string SkipReason => _skipReason; + } +} diff --git a/test/IISExpress.FunctionalTests/RequiresIISAttribute.cs b/test/IISExpress.FunctionalTests/RequiresIISAttribute.cs index 15bbb9c26c..24d656332d 100644 --- a/test/IISExpress.FunctionalTests/RequiresIISAttribute.cs +++ b/test/IISExpress.FunctionalTests/RequiresIISAttribute.cs @@ -13,5 +13,12 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests public bool IsMet => IISExpressAncmSchema.SupportsInProcessHosting; public string SkipReason => IISExpressAncmSchema.SkipReason; + + public RequiresIISAttribute() { } + + public RequiresIISAttribute(IISCapability capabilities) + { + // IISCapabilities aren't pretinent to IISExpress + } } } From 2bb68aaa33aedfdf04710aecfee3f0cebfea9b3a Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 15 Jul 2018 20:00:01 +0000 Subject: [PATCH 06/29] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 72 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 289811b4d3..7cf5dbd1b9 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,48 +4,48 @@ 0.10.13 - 3.0.0-alpha1-10005 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 0.7.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 + 3.0.0-alpha1-10009 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 0.7.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 15.6.82 15.6.82 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 3.0.0-alpha1-10044 - 2.0.7 - 2.1.1 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 3.0.0-alpha1-10081 + 2.0.9 + 2.1.2 2.2.0-preview1-26618-02 - 3.0.0-alpha1-10044 + 3.0.0-alpha1-10081 15.6.1 11.1.0 2.0.3 - 4.6.0-preview1-26617-01 - 4.6.0-preview1-26617-01 - 4.6.0-preview1-26617-01 - 4.6.0-preview1-26617-01 - 4.6.0-preview1-26617-01 - 4.6.0-preview1-26617-01 - 4.6.0-preview1-26617-01 - 4.6.0-preview1-26617-01 + 4.6.0-preview1-26708-04 + 4.6.0-preview1-26708-04 + 4.6.0-preview1-26708-04 + 4.6.0-preview1-26708-04 + 4.6.0-preview1-26708-04 + 4.6.0-preview1-26708-04 + 4.6.0-preview1-26708-04 + 4.6.0-preview1-26708-04 9.0.1 2.3.1 2.4.0-rc.1.build4038 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 2395ab5956..c6adb40215 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:3.0.0-alpha1-10005 -commithash:05570853de976a526462ca140a55b1ac59d9a351 +version:3.0.0-alpha1-10009 +commithash:86be4707e47d2f1930a982f2b59eacfc4196da33 From 073c6a791dfc53b5423e19fc85afb0fc1691b9f6 Mon Sep 17 00:00:00 2001 From: Justin Kotalik Date: Wed, 18 Jul 2018 15:11:03 -0700 Subject: [PATCH 07/29] Merge release/2.2 into master --- build/dependencies.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/dependencies.props b/build/dependencies.props index 3e5577038a..2d54e68ded 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -14,7 +14,7 @@ 3.0.0-alpha1-10102 3.0.0-alpha1-10102 3.0.0-alpha1-10102 - 0.7.0-alpha1-10102 + 3.0.0-alpha1-10102 3.0.0-alpha1-10102 3.0.0-alpha1-10102 3.0.0-alpha1-10102 From 065daf3d0484bab537e3f76786ef195c21810f5a Mon Sep 17 00:00:00 2001 From: Justin Kotalik Date: Wed, 18 Jul 2018 15:12:13 -0700 Subject: [PATCH 08/29] Revert "Merge release/2.2 into master" This reverts commit 073c6a791dfc53b5423e19fc85afb0fc1691b9f6. --- build/dependencies.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/dependencies.props b/build/dependencies.props index 2d54e68ded..3e5577038a 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -14,7 +14,7 @@ 3.0.0-alpha1-10102 3.0.0-alpha1-10102 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 + 0.7.0-alpha1-10102 3.0.0-alpha1-10102 3.0.0-alpha1-10102 3.0.0-alpha1-10102 From 92e6ed4063dd1b1729837f11596184eee3ed2cdc Mon Sep 17 00:00:00 2001 From: Pavel Krymets Date: Thu, 19 Jul 2018 09:48:44 -0700 Subject: [PATCH 09/29] Temporarily use feature branch of Hosting --- build/dependencies.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/dependencies.props b/build/dependencies.props index 3e5577038a..a91d88ef23 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -14,7 +14,7 @@ 3.0.0-alpha1-10102 3.0.0-alpha1-10102 3.0.0-alpha1-10102 - 0.7.0-alpha1-10102 + 0.7.0-a-alpha1-hosting-fix-17089 3.0.0-alpha1-10102 3.0.0-alpha1-10102 3.0.0-alpha1-10102 From 5f12936438f0ef32afd64d7ad8cd3ef37abbd5c8 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 22 Jul 2018 13:01:00 -0700 Subject: [PATCH 10/29] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 52 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 ++-- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index a91d88ef23..8e4a0a815d 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,37 +4,37 @@ 0.10.13 - 3.0.0-alpha1-10009 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 - 0.7.0-a-alpha1-hosting-fix-17089 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 + 3.0.0-alpha1-10011 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 0.7.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 15.6.82 15.6.82 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 - 3.0.0-alpha1-10102 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 + 3.0.0-alpha1-10123 2.0.9 2.1.2 2.2.0-preview1-26618-02 - 3.0.0-alpha1-10102 + 3.0.0-alpha1-10123 15.6.1 11.1.0 2.0.3 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index c6adb40215..4cfdfb010e 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:3.0.0-alpha1-10009 -commithash:86be4707e47d2f1930a982f2b59eacfc4196da33 +version:3.0.0-alpha1-10011 +commithash:717c2eb1f91dafd2580c1a9b8e5064d12dd8c054 From 763f6599516a3a9dee312e64bc207db9e062295d Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 29 Jul 2018 19:58:36 +0000 Subject: [PATCH 11/29] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 71 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 38 insertions(+), 37 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index a1e8c3f738..b23adbabd4 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,52 +4,53 @@ 0.10.13 - 3.0.0-alpha1-10011 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 0.7.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 + 3.0.0-alpha1-10015 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 + 0.7.0-alpha1-10173 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 15.6.82 15.6.82 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 - 3.0.0-alpha1-10123 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 + 3.0.0-alpha1-10173 2.0.9 2.1.2 2.2.0-preview1-26618-02 1.0.1 - 3.0.0-alpha1-10123 + 3.0.0-alpha1-10173 15.6.1 11.1.0 2.0.3 - 4.6.0-preview1-26708-04 - 4.6.0-preview1-26708-04 - 4.6.0-preview1-26708-04 - 4.6.0-preview1-26708-04 - 4.6.0-preview1-26708-04 - 4.6.0-preview1-26708-04 - 4.6.0-preview1-26708-04 - 4.6.0-preview1-26708-04 + 4.6.0-preview1-26727-04 + 4.6.0-preview1-26727-04 + 4.6.0-preview1-26727-04 + 4.6.0-preview1-26717-04 + 4.6.0-preview1-26727-04 + 4.6.0-preview1-26727-04 + 4.6.0-preview1-26727-04 + 4.6.0-preview1-26727-04 9.0.1 2.3.1 - 2.4.0-rc.1.build4038 + 2.4.0 + diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 4cfdfb010e..8c70cbad9f 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:3.0.0-alpha1-10011 -commithash:717c2eb1f91dafd2580c1a9b8e5064d12dd8c054 +version:3.0.0-alpha1-10015 +commithash:3f36e5c2f061712f76f2766c435d2555681d5c55 From 75316cc0a493f9e602ea05bc0d7672f6a3349994 Mon Sep 17 00:00:00 2001 From: dotnet-maestro-bot Date: Mon, 30 Jul 2018 15:33:05 -0700 Subject: [PATCH 12/29] [automated] Merge branch 'release/2.2' => 'master' (#1122) * Remove extra logic from file watcher (#1107) * Fix ServerShutsDownWhenMainExits test (#1120) --- .../AspNetCore/applicationinfo.cpp | 5 +- .../CommonLib/application.h | 14 + .../InProcessApplicationBase.cpp | 21 +- .../InProcessApplicationBase.h | 1 - .../inprocessapplication.cpp | 16 +- .../inprocessapplication.h | 2 - .../outprocessapplication.cpp | 13 +- .../outprocessapplication.h | 1 - .../AppOfflineTrackingApplication.cpp | 31 +- .../AppOfflineTrackingApplication.h | 12 +- .../RequestHandlerLib/filewatcher.cpp | 364 +++++------------- .../RequestHandlerLib/filewatcher.h | 112 +----- .../IISApplication.cs | 4 +- .../Common.FunctionalTests/AppOfflineTests.cs | 7 +- .../InProcess/ShutdownTests.cs | 13 +- 15 files changed, 191 insertions(+), 425 deletions(-) diff --git a/src/AspNetCoreModuleV2/AspNetCore/applicationinfo.cpp b/src/AspNetCoreModuleV2/AspNetCore/applicationinfo.cpp index a65af02467..307d669dbf 100644 --- a/src/AspNetCoreModuleV2/AspNetCore/applicationinfo.cpp +++ b/src/AspNetCoreModuleV2/AspNetCore/applicationinfo.cpp @@ -64,8 +64,9 @@ APPLICATION_INFO::GetOrCreateApplication( if (m_pApplication->QueryStatus() == RECYCLED) { LOG_INFO("Application went offline"); - // Application that went offline - // are supposed to recycle themselves + + // Call to wait for application to complete stopping + m_pApplication->Stop(/* fServerInitiated */ false); m_pApplication = nullptr; } else diff --git a/src/AspNetCoreModuleV2/CommonLib/application.h b/src/AspNetCoreModuleV2/CommonLib/application.h index 9761851002..1bc3d02f37 100644 --- a/src/AspNetCoreModuleV2/CommonLib/application.h +++ b/src/AspNetCoreModuleV2/CommonLib/application.h @@ -26,8 +26,19 @@ public: APPLICATION() : m_cRefs(1) { + InitializeSRWLock(&m_stateLock); } + + VOID + Stop(bool fServerInitiated) override + { + UNREFERENCED_PARAMETER(fServerInitiated); + + m_fStopCalled = true; + } + + VOID ReferenceApplication() override { @@ -49,6 +60,9 @@ public: protected: volatile APPLICATION_STATUS m_status = APPLICATION_STATUS::UNKNOWN; + SRWLOCK m_stateLock; + bool m_fStopCalled; + private: mutable LONG m_cRefs; diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessApplicationBase.cpp b/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessApplicationBase.cpp index d271a3a30a..3152b75cca 100644 --- a/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessApplicationBase.cpp +++ b/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessApplicationBase.cpp @@ -2,7 +2,6 @@ // Licensed under the MIT License. See License.txt in the project root for license information. #include "InProcessApplicationBase.h" -#include "SRWExclusiveLock.h" hostfxr_main_fn InProcessApplicationBase::s_fMainCallback = NULL; @@ -11,32 +10,14 @@ InProcessApplicationBase::InProcessApplicationBase( IHttpApplication& pHttpApplication) : AppOfflineTrackingApplication(pHttpApplication), m_fRecycleCalled(FALSE), - m_srwLock(), m_pHttpServer(pHttpServer) { - InitializeSRWLock(&m_srwLock); } VOID InProcessApplicationBase::Stop(bool fServerInitiated) { - // We need to guarantee that recycle is only called once, as calling pHttpServer->RecycleProcess - // multiple times can lead to AVs. - if (m_fRecycleCalled) - { - return; - } - - { - SRWExclusiveLock lock(m_srwLock); - - if (m_fRecycleCalled) - { - return; - } - - m_fRecycleCalled = true; - } + AppOfflineTrackingApplication::Stop(fServerInitiated); // Stop was initiated by server no need to do anything, server would stop on it's own if (fServerInitiated) diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessApplicationBase.h b/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessApplicationBase.h index c189095ffa..5df37d34b6 100644 --- a/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessApplicationBase.h +++ b/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessApplicationBase.h @@ -22,7 +22,6 @@ public: protected: BOOL m_fRecycleCalled; - SRWLOCK m_srwLock; IHttpServer& m_pHttpServer; // Allows to override call to hostfxr_main with custome callback // used in testing diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.cpp b/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.cpp index 2cbcc4d6f3..575d9180e4 100644 --- a/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.cpp +++ b/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.cpp @@ -69,6 +69,16 @@ IN_PROCESS_APPLICATION::Stop(bool fServerInitiated) HRESULT hr = S_OK; CHandle hThread; DWORD dwThreadStatus = 0; + + SRWExclusiveLock stopLock(m_stateLock); + + if (m_fStopCalled) + { + return; + } + + AppOfflineTrackingApplication::Stop(fServerInitiated); + DWORD dwTimeout = m_pConfig->QueryShutdownTimeLimitInMS(); if (IsDebuggerPresent()) @@ -149,8 +159,6 @@ IN_PROCESS_APPLICATION::ShutDownInternal() } { - SRWExclusiveLock lock(m_srwLock); - if (m_fShutdownCalledFromNative || m_status == APPLICATION_STATUS::STARTING || m_status == APPLICATION_STATUS::FAIL) @@ -241,7 +249,7 @@ IN_PROCESS_APPLICATION::LoadManagedApplication HRESULT hr = S_OK; DWORD dwTimeout; DWORD dwResult; - + ReferenceApplication(); if (m_status != APPLICATION_STATUS::STARTING) @@ -263,7 +271,7 @@ IN_PROCESS_APPLICATION::LoadManagedApplication { // Set up stdout redirect - SRWExclusiveLock lock(m_srwLock); + SRWExclusiveLock lock(m_stateLock); if (m_pLoggerProvider == NULL) { diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.h b/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.h index e23cf6b83a..a18d85a617 100644 --- a/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.h +++ b/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.h @@ -134,11 +134,9 @@ private: // The exit code of the .NET Core process INT m_ProcessExitCode; - BOOL m_fIsWebSocketsConnection; volatile BOOL m_fBlockCallbacksIntoManaged; volatile BOOL m_fShutdownCalledFromNative; volatile BOOL m_fShutdownCalledFromManaged; - BOOL m_fRecycleCalled; BOOL m_fInitialized; std::unique_ptr m_pConfig; diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outprocessapplication.cpp b/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outprocessapplication.cpp index 5f5877edac..41835538a9 100644 --- a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outprocessapplication.cpp +++ b/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outprocessapplication.cpp @@ -14,12 +14,11 @@ OUT_OF_PROCESS_APPLICATION::OUT_OF_PROCESS_APPLICATION( { m_status = APPLICATION_STATUS::RUNNING; m_pProcessManager = NULL; - InitializeSRWLock(&m_srwLock); } OUT_OF_PROCESS_APPLICATION::~OUT_OF_PROCESS_APPLICATION() { - SRWExclusiveLock lock(m_srwLock); + SRWExclusiveLock lock(m_stateLock); if (m_pProcessManager != NULL) { m_pProcessManager->Shutdown(); @@ -65,9 +64,15 @@ __override VOID OUT_OF_PROCESS_APPLICATION::Stop(bool fServerInitiated) { - UNREFERENCED_PARAMETER(fServerInitiated); + SRWExclusiveLock lock(m_stateLock); + + if (m_fStopCalled) + { + return; + } + + AppOfflineTrackingApplication::Stop(fServerInitiated); - SRWExclusiveLock lock(m_srwLock); if (m_pProcessManager != NULL) { m_pProcessManager->Shutdown(); diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outprocessapplication.h b/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outprocessapplication.h index 1667069c09..6ac813f6a7 100644 --- a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outprocessapplication.h +++ b/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outprocessapplication.h @@ -56,7 +56,6 @@ private: VOID SetWebsocketStatus(IHttpContext *pHttpContext); PROCESS_MANAGER * m_pProcessManager; - SRWLOCK m_srwLock; IHttpServer *m_pHttpServer; WEBSOCKET_STATUS m_fWebSocketSupported; diff --git a/src/AspNetCoreModuleV2/RequestHandlerLib/AppOfflineTrackingApplication.cpp b/src/AspNetCoreModuleV2/RequestHandlerLib/AppOfflineTrackingApplication.cpp index 17c004b693..ed465eb7c1 100644 --- a/src/AspNetCoreModuleV2/RequestHandlerLib/AppOfflineTrackingApplication.cpp +++ b/src/AspNetCoreModuleV2/RequestHandlerLib/AppOfflineTrackingApplication.cpp @@ -26,6 +26,19 @@ HRESULT AppOfflineTrackingApplication::StartMonitoringAppOffline() return hr; } +void AppOfflineTrackingApplication::Stop(bool fServerInitiated) +{ + APPLICATION::Stop(fServerInitiated); + + m_status = APPLICATION_STATUS::RECYCLED; + + if (m_fileWatcher) + { + m_fileWatcher->StopMonitor(); + m_fileWatcher = nullptr; + } +} + HRESULT AppOfflineTrackingApplication::StartMonitoringAppOflineImpl() { if (m_fileWatcher) @@ -34,25 +47,21 @@ HRESULT AppOfflineTrackingApplication::StartMonitoringAppOflineImpl() } m_fileWatcher = std::make_unique(); - RETURN_IF_FAILED(m_fileWatcher->Create()); - m_fileWatcherEntry.reset(new FILE_WATCHER_ENTRY(m_fileWatcher.get())); - // FileWatcherCompletionRoutine calls dereference so we need to get ourselves a reference count - m_fileWatcherEntry->ReferenceFileWatcherEntry(); - RETURN_IF_FAILED(m_fileWatcherEntry->Create( - m_applicationPath.c_str(), + RETURN_IF_FAILED(m_fileWatcher->Create(m_applicationPath.c_str(), L"app_offline.htm", - std::bind(&AppOfflineTrackingApplication::OnAppOffline, this), - NULL)); + this)); return S_OK; } void AppOfflineTrackingApplication::OnAppOffline() { + if (m_fAppOfflineProcessed.exchange(true)) + { + return; + } + LOG_INFOF("Received app_offline notification in application %S", m_applicationPath.c_str()); - m_fileWatcherEntry->StopMonitor(); - m_fileWatcherEntry.reset(nullptr); - m_status = APPLICATION_STATUS::RECYCLED; UTILITY::LogEventF(g_hEventLog, EVENTLOG_INFORMATION_TYPE, ASPNETCORE_EVENT_RECYCLE_APPOFFLINE, diff --git a/src/AspNetCoreModuleV2/RequestHandlerLib/AppOfflineTrackingApplication.h b/src/AspNetCoreModuleV2/RequestHandlerLib/AppOfflineTrackingApplication.h index 2b6c36ccfa..f104370c72 100644 --- a/src/AspNetCoreModuleV2/RequestHandlerLib/AppOfflineTrackingApplication.h +++ b/src/AspNetCoreModuleV2/RequestHandlerLib/AppOfflineTrackingApplication.h @@ -6,6 +6,7 @@ #include #include "application.h" #include "filewatcher.h" +#include class AppOfflineTrackingApplication: public APPLICATION { @@ -13,20 +14,23 @@ public: AppOfflineTrackingApplication(const IHttpApplication& application) : m_applicationPath(application.GetApplicationPhysicalPath()), m_fileWatcher(nullptr), - m_fileWatcherEntry(nullptr) + m_fAppOfflineProcessed(false) { } ~AppOfflineTrackingApplication() override { - if (m_fileWatcherEntry) + if (m_fileWatcher) { - m_fileWatcherEntry->StopMonitor(); + m_fileWatcher->StopMonitor(); } }; HRESULT StartMonitoringAppOffline(); + + VOID + Stop(bool fServerInitiated) override; virtual VOID @@ -38,5 +42,5 @@ private: std::wstring m_applicationPath; std::unique_ptr m_fileWatcher; - std::unique_ptr m_fileWatcherEntry; + std::atomic_bool m_fAppOfflineProcessed; }; diff --git a/src/AspNetCoreModuleV2/RequestHandlerLib/filewatcher.cpp b/src/AspNetCoreModuleV2/RequestHandlerLib/filewatcher.cpp index 721e248220..a4d7a0c57e 100644 --- a/src/AspNetCoreModuleV2/RequestHandlerLib/filewatcher.cpp +++ b/src/AspNetCoreModuleV2/RequestHandlerLib/filewatcher.cpp @@ -4,6 +4,7 @@ #include "stdafx.h" #include "filewatcher.h" #include "debugutil.h" +#include "AppOfflineTrackingApplication.h" FILE_WATCHER::FILE_WATCHER() : m_hCompletionPort(NULL), @@ -14,13 +15,13 @@ FILE_WATCHER::FILE_WATCHER() : FILE_WATCHER::~FILE_WATCHER() { + StopMonitor(); + if (m_hChangeNotificationThread != NULL) { DWORD dwRetryCounter = 20; // totally wait for 1s DWORD dwExitCode = STILL_ACTIVE; - // signal the file watch thread to exit - PostQueuedCompletionStatus(m_hCompletionPort, 0, FILE_WATCHER_SHUTDOWN_KEY, NULL); while (!m_fThreadExit && dwRetryCounter > 0) { if (GetExitCodeThread(m_hChangeNotificationThread, &dwExitCode)) @@ -45,55 +46,66 @@ FILE_WATCHER::~FILE_WATCHER() { TerminateThread(m_hChangeNotificationThread, 1); } - - CloseHandle(m_hChangeNotificationThread); - m_hChangeNotificationThread = NULL; - } - - if (NULL != m_hCompletionPort) - { - CloseHandle(m_hCompletionPort); - m_hCompletionPort = NULL; } } HRESULT FILE_WATCHER::Create( - VOID + _In_ PCWSTR pszDirectoryToMonitor, + _In_ PCWSTR pszFileNameToMonitor, + _In_ AppOfflineTrackingApplication *pApplication ) { - HRESULT hr = S_OK; - m_hCompletionPort = CreateIoCompletionPort(INVALID_HANDLE_VALUE, - NULL, - 0, - 0); + RETURN_LAST_ERROR_IF_NULL(m_hCompletionPort = CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, 0)); - if (m_hCompletionPort == NULL) - { - hr = HRESULT_FROM_WIN32(GetLastError()); - goto Finished; - } - - m_hChangeNotificationThread = CreateThread(NULL, + RETURN_LAST_ERROR_IF_NULL(m_hChangeNotificationThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ChangeNotificationThread, this, 0, - NULL); + NULL)); - if (m_hChangeNotificationThread == NULL) + if (pszDirectoryToMonitor == NULL || + pszFileNameToMonitor == NULL || + pApplication == NULL) { - hr = HRESULT_FROM_WIN32(GetLastError()); - - CloseHandle(m_hCompletionPort); - m_hCompletionPort = NULL; - - goto Finished; + DBG_ASSERT(FALSE); + return HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER); } -Finished: - return hr; + _pApplication = ReferenceApplication(pApplication); + + RETURN_IF_FAILED(_strFileName.Copy(pszFileNameToMonitor)); + RETURN_IF_FAILED(_strDirectoryName.Copy(pszDirectoryToMonitor)); + RETURN_IF_FAILED(_strFullName.Append(_strDirectoryName)); + RETURN_IF_FAILED(_strFullName.Append(_strFileName)); + + // + // Resize change buffer to something "reasonable" + // + RETURN_LAST_ERROR_IF(!_buffDirectoryChanges.Resize(FILE_WATCHER_ENTRY_BUFFER_SIZE)); + + _hDirectory = CreateFileW( + _strDirectoryName.QueryStr(), + FILE_LIST_DIRECTORY, + FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, + NULL, + OPEN_EXISTING, + FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OVERLAPPED, + NULL); + + RETURN_LAST_ERROR_IF_NULL(_hDirectory); + + RETURN_LAST_ERROR_IF_NULL(CreateIoCompletionPort( + _hDirectory, + m_hCompletionPort, + NULL, + 0)); + + RETURN_IF_FAILED(Monitor()); + + return S_OK; } DWORD @@ -148,107 +160,29 @@ Win32 error DBG_ASSERT(pOverlapped != NULL); if (pOverlapped != NULL) { - FileWatcherCompletionRoutine( - dwErrorStatus, - cbCompletion, - pOverlapped); + pFileMonitor->HandleChangeCompletion(cbCompletion); + + if (!pFileMonitor->_lStopMonitorCalled) + { + // + // Continue monitoring + // + pFileMonitor->Monitor(); + } } pOverlapped = NULL; cbCompletion = 0; } pFileMonitor->m_fThreadExit = TRUE; - + LOG_INFO("Stopping file watcher thread"); ExitThread(0); } -VOID -WINAPI -FILE_WATCHER::FileWatcherCompletionRoutine( - DWORD dwCompletionStatus, - DWORD cbCompletion, - OVERLAPPED * pOverlapped -) -/*++ - -Routine Description: - -Called when ReadDirectoryChangesW() completes - -Arguments: - -dwCompletionStatus - Error of completion -cbCompletion - Bytes of completion -pOverlapped - State of completion - -Return Value: - -None - ---*/ -{ - FILE_WATCHER_ENTRY * pMonitorEntry; - pMonitorEntry = CONTAINING_RECORD(pOverlapped, FILE_WATCHER_ENTRY, _overlapped); - - DBG_ASSERT(pMonitorEntry != NULL); - - pMonitorEntry->HandleChangeCompletion(dwCompletionStatus, cbCompletion); - - if (pMonitorEntry->QueryIsValid()) - { - // - // Continue monitoring - // - pMonitorEntry->Monitor(); - } - // - // Deference the counter not matter whether the monitor is valid - // Valid: Monitor increases the counter, need to reduce one - // InValid: Reduce the counter to free the entry - // - pMonitorEntry->DereferenceFileWatcherEntry(); - -} - - -FILE_WATCHER_ENTRY::FILE_WATCHER_ENTRY(FILE_WATCHER * pFileMonitor) : - _pFileMonitor(pFileMonitor), - _hDirectory(INVALID_HANDLE_VALUE), - _hImpersonationToken(NULL), - _pCallback(), - _lStopMonitorCalled(0), - _cRefs(1), - _fIsValid(TRUE) -{ - _dwSignature = FILE_WATCHER_ENTRY_SIGNATURE; - InitializeSRWLock(&_srwLock); -} - -FILE_WATCHER_ENTRY::~FILE_WATCHER_ENTRY() -{ - DBG_ASSERT(_cRefs == 0); - - _dwSignature = FILE_WATCHER_ENTRY_SIGNATURE_FREE; - - if (_hDirectory != INVALID_HANDLE_VALUE) - { - CloseHandle(_hDirectory); - _hDirectory = INVALID_HANDLE_VALUE; - } - - if (_hImpersonationToken != NULL) - { - CloseHandle(_hImpersonationToken); - _hImpersonationToken = NULL; - } -} - -#pragma warning(disable:4100) HRESULT -FILE_WATCHER_ENTRY::HandleChangeCompletion( - _In_ DWORD dwCompletionStatus, +FILE_WATCHER::HandleChangeCompletion( _In_ DWORD cbCompletion ) /*++ @@ -269,16 +203,8 @@ HRESULT --*/ { - HRESULT hr = S_OK; - FILE_NOTIFY_INFORMATION * pNotificationInfo; BOOL fFileChanged = FALSE; - AcquireSRWLockExclusive(&_srwLock); - if (!_fIsValid) - { - goto Finished; - } - // When directory handle is closed then HandleChangeCompletion // happens with cbCompletion = 0 and dwCompletionStatus = 0 // From documentation it is not clear if that combination @@ -289,7 +215,7 @@ HRESULT // if (_lStopMonitorCalled) { - goto Finished; + return S_OK; } // @@ -303,7 +229,7 @@ HRESULT } else { - pNotificationInfo = (FILE_NOTIFY_INFORMATION*)_buffDirectoryChanges.QueryPtr(); + auto pNotificationInfo = (FILE_NOTIFY_INFORMATION*)_buffDirectoryChanges.QueryPtr(); DBG_ASSERT(pNotificationInfo != NULL); while (pNotificationInfo != NULL) @@ -334,55 +260,58 @@ HRESULT } } -Finished: - ReleaseSRWLockExclusive(&_srwLock); - - if (fFileChanged) + if (fFileChanged && !_lStopMonitorCalled) { - // - // so far we only monitoring app_offline - // - _pCallback(); + // Reference application before + _pApplication->ReferenceApplication(); + RETURN_LAST_ERROR_IF(!QueueUserWorkItem(RunNotificationCallback, _pApplication.get(), WT_EXECUTEDEFAULT)); } - return hr; + + return S_OK; } -#pragma warning( error : 4100 ) +DWORD +WINAPI +FILE_WATCHER::RunNotificationCallback( + LPVOID pvArg +) +{ + // Recapture application instance into unique_ptr + auto pApplication = std::unique_ptr(static_cast(pvArg)); + DBG_ASSERT(pFileMonitor != NULL); + pApplication->OnAppOffline(); + + return 0; +} HRESULT -FILE_WATCHER_ENTRY::Monitor(VOID) +FILE_WATCHER::Monitor(VOID) { HRESULT hr = S_OK; DWORD cbRead; - AcquireSRWLockExclusive(&_srwLock); - ReferenceFileWatcherEntry(); + ZeroMemory(&_overlapped, sizeof(_overlapped)); - if (!ReadDirectoryChangesW(_hDirectory, + RETURN_LAST_ERROR_IF(!ReadDirectoryChangesW(_hDirectory, _buffDirectoryChanges.QueryPtr(), _buffDirectoryChanges.QuerySize(), FALSE, // Watching sub dirs. Set to False now as only monitoring app_offline FILE_NOTIFY_VALID_MASK & ~FILE_NOTIFY_CHANGE_LAST_ACCESS, &cbRead, &_overlapped, - NULL)) - { - hr = HRESULT_FROM_WIN32(GetLastError()); - DereferenceFileWatcherEntry(); - } + NULL)); // Check if file exist because ReadDirectoryChangesW would not fire events for existing files if (GetFileAttributes(_strFullName.QueryStr()) != INVALID_FILE_ATTRIBUTES) { - PostQueuedCompletionStatus(_pFileMonitor->QueryCompletionPort(), 0, 0, &_overlapped); + PostQueuedCompletionStatus(m_hCompletionPort, 0, 0, &_overlapped); } - - ReleaseSRWLockExclusive(&_srwLock); + return hr; } VOID -FILE_WATCHER_ENTRY::StopMonitor(VOID) +FILE_WATCHER::StopMonitor() { // // Flag that monitoring is being stopped so that @@ -390,123 +319,8 @@ FILE_WATCHER_ENTRY::StopMonitor(VOID) // can be ignored // InterlockedExchange(&_lStopMonitorCalled, 1); - MarkEntryInValid(); - if (_hDirectory != INVALID_HANDLE_VALUE) - { - AcquireSRWLockExclusive(&_srwLock); - if (_hDirectory != INVALID_HANDLE_VALUE) - { - CloseHandle(_hDirectory); - _hDirectory = INVALID_HANDLE_VALUE; - DereferenceFileWatcherEntry(); - } - ReleaseSRWLockExclusive(&_srwLock); - } -} - -HRESULT -FILE_WATCHER_ENTRY::Create( - _In_ PCWSTR pszDirectoryToMonitor, - _In_ PCWSTR pszFileNameToMonitor, - _In_ std::function pCallback, - _In_ HANDLE hImpersonationToken -) -{ - HRESULT hr = S_OK; - BOOL fRet = FALSE; - - if (pszDirectoryToMonitor == NULL || - pszFileNameToMonitor == NULL || - pCallback == NULL) - { - DBG_ASSERT(FALSE); - hr = HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER); - goto Finished; - } - - _pCallback = pCallback; - - if (FAILED(hr = _strFileName.Copy(pszFileNameToMonitor))) - { - goto Finished; - } - - if (FAILED(hr = _strDirectoryName.Copy(pszDirectoryToMonitor))) - { - goto Finished; - } - - if (FAILED(hr = _strFullName.Append(_strDirectoryName)) || - FAILED(hr = _strFullName.Append(_strFileName))) - { - goto Finished; - } - - // - // Resize change buffer to something "reasonable" - // - if (!_buffDirectoryChanges.Resize(FILE_WATCHER_ENTRY_BUFFER_SIZE)) - { - hr = HRESULT_FROM_WIN32(ERROR_NOT_ENOUGH_MEMORY); - goto Finished; - } - - if (hImpersonationToken != NULL) - { - fRet = DuplicateHandle(GetCurrentProcess(), - hImpersonationToken, - GetCurrentProcess(), - &_hImpersonationToken, - 0, - FALSE, - DUPLICATE_SAME_ACCESS); - - if (!fRet) - { - hr = HRESULT_FROM_WIN32(GetLastError()); - goto Finished; - } - } - else - { - if (_hImpersonationToken != NULL) - { - CloseHandle(_hImpersonationToken); - _hImpersonationToken = NULL; - } - } - - _hDirectory = CreateFileW( - _strDirectoryName.QueryStr(), - FILE_LIST_DIRECTORY, - FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, - NULL, - OPEN_EXISTING, - FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OVERLAPPED, - NULL); - - if (_hDirectory == INVALID_HANDLE_VALUE) - { - hr = HRESULT_FROM_WIN32(GetLastError()); - goto Finished; - } - - if (CreateIoCompletionPort( - _hDirectory, - _pFileMonitor->QueryCompletionPort(), - NULL, - 0) == NULL) - { - hr = HRESULT_FROM_WIN32(GetLastError()); - goto Finished; - } - - // - // Start monitoring - // - hr = Monitor(); - -Finished: - - return hr; + // signal the file watch thread to exit + PostQueuedCompletionStatus(m_hCompletionPort, 0, FILE_WATCHER_SHUTDOWN_KEY, NULL); + // Release application reference + _pApplication.reset(nullptr); } diff --git a/src/AspNetCoreModuleV2/RequestHandlerLib/filewatcher.h b/src/AspNetCoreModuleV2/RequestHandlerLib/filewatcher.h index 4e37600c69..46ea744533 100644 --- a/src/AspNetCoreModuleV2/RequestHandlerLib/filewatcher.h +++ b/src/AspNetCoreModuleV2/RequestHandlerLib/filewatcher.h @@ -6,12 +6,14 @@ #include #include +#include "iapplication.h" +#include "HandleWrapper.h" #define FILE_WATCHER_SHUTDOWN_KEY (ULONG_PTR)(-1) #define FILE_WATCHER_ENTRY_BUFFER_SIZE 4096 #define FILE_NOTIFY_VALID_MASK 0x00000fff -#define FILE_WATCHER_ENTRY_SIGNATURE ((DWORD) 'FWES') -#define FILE_WATCHER_ENTRY_SIGNATURE_FREE ((DWORD) 'sewf') + +class AppOfflineTrackingApplication; class FILE_WATCHER{ public: @@ -20,110 +22,36 @@ public: ~FILE_WATCHER(); - HRESULT Create(); - - HANDLE - QueryCompletionPort( - VOID - ) const - { - return m_hCompletionPort; - } + HRESULT Create( + _In_ PCWSTR pszDirectoryToMonitor, + _In_ PCWSTR pszFileNameToMonitor, + _In_ AppOfflineTrackingApplication *pApplication + ); static DWORD WINAPI ChangeNotificationThread(LPVOID); static - void - WINAPI FileWatcherCompletionRoutine - ( - DWORD dwCompletionStatus, - DWORD cbCompletion, - OVERLAPPED * pOverlapped - ); + DWORD + WINAPI RunNotificationCallback(LPVOID); -private: - HANDLE m_hCompletionPort; - HANDLE m_hChangeNotificationThread; - volatile BOOL m_fThreadExit; -}; - -class FILE_WATCHER_ENTRY -{ -public: - FILE_WATCHER_ENTRY(FILE_WATCHER * pFileMonitor); - - OVERLAPPED _overlapped; - - HRESULT - Create( - _In_ PCWSTR pszDirectoryToMonitor, - _In_ PCWSTR pszFileNameToMonitor, - _In_ std::function pCallback, - _In_ HANDLE hImpersonationToken - ); - - VOID - ReferenceFileWatcherEntry() const - { - InterlockedIncrement(&_cRefs); - } - - VOID - DereferenceFileWatcherEntry() const - { - if (InterlockedDecrement(&_cRefs) == 0) - { - delete this; - } - } - - BOOL - QueryIsValid() const - { - return _fIsValid; - } - - VOID - MarkEntryInValid() - { - _fIsValid = FALSE; - } + HRESULT HandleChangeCompletion(DWORD cbCompletion); HRESULT Monitor(); - - VOID StopMonitor(); - - HRESULT - HandleChangeCompletion( - _In_ DWORD dwCompletionStatus, - _In_ DWORD cbCompletion - ); + void StopMonitor(); private: - virtual ~FILE_WATCHER_ENTRY(); + HandleWrapper m_hCompletionPort; + HandleWrapper m_hChangeNotificationThread; + HandleWrapper _hDirectory; + volatile BOOL m_fThreadExit; - DWORD _dwSignature; BUFFER _buffDirectoryChanges; - HANDLE _hImpersonationToken; - HANDLE _hDirectory; - FILE_WATCHER* _pFileMonitor; STRU _strFileName; STRU _strDirectoryName; STRU _strFullName; - LONG _lStopMonitorCalled; - mutable LONG _cRefs; - BOOL _fIsValid; - SRWLOCK _srwLock; - std::function _pCallback; -}; - - -struct FILE_WATCHER_ENTRY_DELETER -{ - void operator()(FILE_WATCHER_ENTRY* entry) const - { - entry->DereferenceFileWatcherEntry(); - } + LONG _lStopMonitorCalled {}; + OVERLAPPED _overlapped; + std::unique_ptr _pApplication; }; diff --git a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISApplication.cs b/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISApplication.cs index ce1f3e426e..aa35ac92da 100644 --- a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISApplication.cs +++ b/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISApplication.cs @@ -18,6 +18,8 @@ namespace Microsoft.AspNetCore.Server.IntegrationTesting /// internal class IISApplication { + internal const int ERROR_OBJECT_NOT_FOUND = unchecked((int)0x800710D8); + private static readonly TimeSpan _timeout = TimeSpan.FromSeconds(10); private static readonly TimeSpan _retryDelay = TimeSpan.FromMilliseconds(200); private readonly ServerManager _serverManager = new ServerManager(); @@ -106,7 +108,7 @@ namespace Microsoft.AspNetCore.Server.IntegrationTesting _logger.LogInformation($"Tried to start site, state: {state.ToString()}"); } } - catch (Exception ex) when (ex is DllNotFoundException || (ex is COMException && (uint)ex.HResult == 0x800710D8) ) + catch (Exception ex) when (ex is DllNotFoundException || (ex is COMException && ex.HResult == ERROR_OBJECT_NOT_FOUND) ) { // Accessing the site.State property while the site // is starting up returns the COMException diff --git a/test/Common.FunctionalTests/AppOfflineTests.cs b/test/Common.FunctionalTests/AppOfflineTests.cs index b2c30663a9..169be93035 100644 --- a/test/Common.FunctionalTests/AppOfflineTests.cs +++ b/test/Common.FunctionalTests/AppOfflineTests.cs @@ -77,7 +77,6 @@ namespace Microsoft.AspNetCore.Server.IIS.FunctionalTests.Inprocess for (int i = 0; i < 10; i++) { - // send first request and add app_offline while app is starting var runningTask = AssertAppOffline(deploymentResult); @@ -220,14 +219,10 @@ namespace Microsoft.AspNetCore.Server.IIS.FunctionalTests.Inprocess { HttpResponseMessage response = null; - for (var i = 0; i < 5; i++) + for (var i = 0; i < 5 && response?.StatusCode != HttpStatusCode.ServiceUnavailable; i++) { // Keep retrying until app_offline is present. response = await deploymentResult.HttpClient.GetAsync("HelloWorld"); - if (!response.IsSuccessStatusCode) - { - break; - } } Assert.Equal(HttpStatusCode.ServiceUnavailable, response.StatusCode); diff --git a/test/IISExpress.FunctionalTests/InProcess/ShutdownTests.cs b/test/IISExpress.FunctionalTests/InProcess/ShutdownTests.cs index b1ab071c5d..45c9e080aa 100644 --- a/test/IISExpress.FunctionalTests/InProcess/ShutdownTests.cs +++ b/test/IISExpress.FunctionalTests/InProcess/ShutdownTests.cs @@ -1,6 +1,9 @@ // 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.IO; +using System.Net.Http; using System.Threading.Tasks; using Microsoft.AspNetCore.Server.IIS.FunctionalTests.Utilities; using Microsoft.AspNetCore.Server.IntegrationTesting; @@ -22,8 +25,14 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests { var parameters = Helpers.GetBaseDeploymentParameters(publish: true); var result = await DeployAsync(parameters); - - var response = await result.RetryingHttpClient.GetAsync("/Shutdown"); + try + { + await result.HttpClient.GetAsync("/Shutdown"); + } + catch (HttpRequestException ex) when (ex.InnerException is IOException) + { + // Server might close a connection before request completes + } Assert.True(result.HostShutdownToken.WaitHandle.WaitOne(TimeoutExtensions.DefaultTimeout)); } From 9cec10e3053b931921f33caef2a08533d689857a Mon Sep 17 00:00:00 2001 From: Pavel Krymets Date: Thu, 2 Aug 2018 08:20:21 -0700 Subject: [PATCH 13/29] Update deps --- build/dependencies.props | 50 ++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index b23adbabd4..1fec602126 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -5,37 +5,37 @@ 0.10.13 3.0.0-alpha1-10015 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 - 0.7.0-alpha1-10173 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 + 0.7.0-alpha1-10207 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 15.6.82 15.6.82 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 - 3.0.0-alpha1-10173 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 + 3.0.0-alpha1-10207 2.0.9 2.1.2 2.2.0-preview1-26618-02 1.0.1 - 3.0.0-alpha1-10173 + 3.0.0-alpha1-10207 15.6.1 11.1.0 2.0.3 From cd645faf69d84c517720a371cb9489fd3bdd84d7 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 12 Aug 2018 20:02:24 +0000 Subject: [PATCH 14/29] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 68 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index da230474f9..542334e671 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,50 +4,50 @@ 0.10.13 - 3.0.0-alpha1-10015 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 - 0.7.0-alpha1-10207 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 + 3.0.0-alpha1-20180810.1 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 + 0.7.0-alpha1-10275 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 15.6.82 15.6.82 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 - 3.0.0-alpha1-10207 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 + 3.0.0-alpha1-10275 2.0.9 2.1.2 2.2.0-preview1-26618-02 1.0.1 - 3.0.0-alpha1-10207 + 3.0.0-alpha1-10275 15.6.1 11.1.0 2.0.3 - 4.6.0-preview1-26727-04 - 4.6.0-preview1-26727-04 - 4.6.0-preview1-26727-04 + 4.6.0-preview1-26807-04 + 4.6.0-preview1-26807-04 + 4.6.0-preview1-26807-04 4.6.0-preview1-26717-04 - 4.6.0-preview1-26727-04 - 4.6.0-preview1-26727-04 - 4.6.0-preview1-26727-04 - 4.6.0-preview1-26727-04 - 4.6.0-preview1-26727-04 + 4.6.0-preview1-26807-04 + 4.6.0-preview1-26807-04 + 4.6.0-preview1-26807-04 + 4.6.0-preview1-26807-04 + 4.6.0-preview1-26807-04 9.0.1 2.3.1 2.4.0 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 8c70cbad9f..c53be3fca9 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:3.0.0-alpha1-10015 -commithash:3f36e5c2f061712f76f2766c435d2555681d5c55 +version:3.0.0-alpha1-20180810.1 +commithash:45c32b4f020e14a9295be31866051a18d293309d From 2f46c921f5a442b70dc88e6c125b8e0b2768ca7e Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 19 Aug 2018 19:16:56 +0000 Subject: [PATCH 15/29] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 68 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 542334e671..d8c5e54b45 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,50 +4,50 @@ 0.10.13 - 3.0.0-alpha1-20180810.1 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 - 0.7.0-alpha1-10275 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 + 3.0.0-alpha1-20180817.3 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 + 0.7.0-alpha1-10321 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 15.6.82 15.6.82 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 - 3.0.0-alpha1-10275 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 + 3.0.0-alpha1-10321 2.0.9 2.1.2 2.2.0-preview1-26618-02 1.0.1 - 3.0.0-alpha1-10275 + 3.0.0-alpha1-10321 15.6.1 11.1.0 2.0.3 - 4.6.0-preview1-26807-04 - 4.6.0-preview1-26807-04 - 4.6.0-preview1-26807-04 + 4.6.0-preview1-26816-01 + 4.6.0-preview1-26816-01 + 4.6.0-preview1-26816-01 4.6.0-preview1-26717-04 - 4.6.0-preview1-26807-04 - 4.6.0-preview1-26807-04 - 4.6.0-preview1-26807-04 - 4.6.0-preview1-26807-04 - 4.6.0-preview1-26807-04 + 4.6.0-preview1-26816-01 + 4.6.0-preview1-26816-01 + 4.6.0-preview1-26816-01 + 4.6.0-preview1-26816-01 + 4.6.0-preview1-26816-01 9.0.1 2.3.1 2.4.0 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index c53be3fca9..7abb5ed14d 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:3.0.0-alpha1-20180810.1 -commithash:45c32b4f020e14a9295be31866051a18d293309d +version:3.0.0-alpha1-20180817.3 +commithash:134cdbee9bee29dd3ccb654c67663b27b9ffa6c8 From 5a97539ec52a0eb30a09b42d11b0a71efbb9c22a Mon Sep 17 00:00:00 2001 From: Justin Kotalik Date: Fri, 24 Aug 2018 09:53:19 -0700 Subject: [PATCH 16/29] Update ANCM version to 13.0 (#1285) --- version.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.props b/version.props index 958113fee1..c71c500e63 100644 --- a/version.props +++ b/version.props @@ -8,8 +8,8 @@ a- $(FeatureBranchVersionPrefix)$(VersionSuffix)-$([System.Text.RegularExpressions.Regex]::Replace('$(FeatureBranchVersionSuffix)', '[^\w-]', '-')) $(VersionSuffix)-$(BuildNumber) - 12 - 2 + 13 + 0 0 2.0.0 From 4ac3b0246eaf3dd725e419472033633b5a55aa50 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 26 Aug 2018 19:16:27 +0000 Subject: [PATCH 17/29] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 68 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 1027e444c9..dd1280daac 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,50 +4,50 @@ 0.10.13 - 3.0.0-alpha1-20180817.3 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 - 0.7.0-alpha1-10321 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 + 3.0.0-alpha1-20180821.3 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 + 0.7.0-alpha1-10352 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 15.6.82 15.6.82 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 - 3.0.0-alpha1-10321 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 + 3.0.0-alpha1-10352 2.0.9 2.1.2 2.2.0-preview1-26618-02 1.0.1 - 3.0.0-alpha1-10321 + 3.0.0-alpha1-10352 15.6.1 11.1.0 2.0.3 - 4.6.0-preview1-26816-01 - 4.6.0-preview1-26816-01 - 4.6.0-preview1-26816-01 + 4.6.0-preview1-26817-04 + 4.6.0-preview1-26817-04 + 4.6.0-preview1-26817-04 4.6.0-preview1-26717-04 - 4.6.0-preview1-26816-01 - 4.6.0-preview1-26816-01 - 4.6.0-preview1-26816-01 - 4.6.0-preview1-26816-01 - 4.6.0-preview1-26816-01 + 4.6.0-preview1-26817-04 + 4.6.0-preview1-26817-04 + 4.6.0-preview1-26817-04 + 4.6.0-preview1-26817-04 + 4.6.0-preview1-26817-04 9.0.1 2.3.1 2.4.0 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 7abb5ed14d..74c82096f1 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:3.0.0-alpha1-20180817.3 -commithash:134cdbee9bee29dd3ccb654c67663b27b9ffa6c8 +version:3.0.0-alpha1-20180821.3 +commithash:0939a90812deb1c604eb9a4768869687495fc1dd From f52684a7bc2519f1e528bc615675502ca147e35e Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 2 Sep 2018 19:16:26 +0000 Subject: [PATCH 18/29] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 66 ++++++++++++++++++++-------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index dd1280daac..81b2224c9d 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -5,49 +5,49 @@ 0.10.13 3.0.0-alpha1-20180821.3 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 - 0.7.0-alpha1-10352 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 + 0.7.0-alpha1-10393 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 15.6.82 15.6.82 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 - 3.0.0-alpha1-10352 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 + 3.0.0-alpha1-10393 2.0.9 2.1.2 2.2.0-preview1-26618-02 1.0.1 - 3.0.0-alpha1-10352 + 3.0.0-alpha1-10393 15.6.1 11.1.0 2.0.3 - 4.6.0-preview1-26817-04 - 4.6.0-preview1-26817-04 - 4.6.0-preview1-26817-04 + 4.6.0-preview1-26829-04 + 4.6.0-preview1-26829-04 + 4.6.0-preview1-26829-04 4.6.0-preview1-26717-04 - 4.6.0-preview1-26817-04 - 4.6.0-preview1-26817-04 - 4.6.0-preview1-26817-04 - 4.6.0-preview1-26817-04 - 4.6.0-preview1-26817-04 + 4.6.0-preview1-26829-04 + 4.6.0-preview1-26829-04 + 4.6.0-preview1-26829-04 + 4.6.0-preview1-26829-04 + 4.6.0-preview1-26829-04 9.0.1 2.3.1 2.4.0 From 10f92c9065114f1008826cb50650c3fca86dbda4 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Wed, 5 Sep 2018 23:48:36 +0000 Subject: [PATCH 19/29] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 70 ++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 81b2224c9d..cd5ae46710 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -5,49 +5,49 @@ 0.10.13 3.0.0-alpha1-20180821.3 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 - 0.7.0-alpha1-10393 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 + 0.7.0-alpha1-10400 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 15.6.82 15.6.82 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 - 3.0.0-alpha1-10393 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 + 3.0.0-alpha1-10400 2.0.9 - 2.1.2 - 2.2.0-preview1-26618-02 + 2.1.3 + 2.2.0-preview2-26905-02 1.0.1 - 3.0.0-alpha1-10393 + 3.0.0-alpha1-10400 15.6.1 11.1.0 2.0.3 - 4.6.0-preview1-26829-04 - 4.6.0-preview1-26829-04 - 4.6.0-preview1-26829-04 + 4.6.0-preview1-26831-06 + 4.6.0-preview1-26831-06 + 4.6.0-preview1-26831-06 4.6.0-preview1-26717-04 - 4.6.0-preview1-26829-04 - 4.6.0-preview1-26829-04 - 4.6.0-preview1-26829-04 - 4.6.0-preview1-26829-04 - 4.6.0-preview1-26829-04 + 4.6.0-preview1-26831-06 + 4.6.0-preview1-26831-06 + 4.6.0-preview1-26831-06 + 4.6.0-preview1-26831-06 + 4.6.0-preview1-26831-06 9.0.1 2.3.1 2.4.0 From 9173ec240f787459c06b9d335866c78627f2cc4e Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 9 Sep 2018 19:17:04 +0000 Subject: [PATCH 20/29] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 70 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index a7b68a9006..231fbef9dd 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,51 +4,51 @@ 0.10.13 - 3.0.0-alpha1-20180821.3 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 - 0.7.0-alpha1-10400 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 + 3.0.0-alpha1-20180907.9 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 + 0.7.0-alpha1-10419 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 15.6.82 15.6.82 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 - 3.0.0-alpha1-10400 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 + 3.0.0-alpha1-10419 2.0.9 2.1.3 2.2.0-preview2-26905-02 1.0.1 - 3.0.0-alpha1-10400 + 3.0.0-alpha1-10419 15.6.1 11.1.0 2.0.3 - 4.6.0-preview1-26831-06 - 4.6.0-preview1-26831-06 - 4.6.0-preview1-26831-06 + 4.6.0-preview1-26905-03 + 4.6.0-preview1-26905-03 + 4.6.0-preview1-26905-03 4.6.0-preview1-26717-04 - 4.6.0-preview1-26831-06 - 4.6.0-preview1-26831-06 - 4.6.0-preview1-26831-06 - 4.6.0-preview1-26831-06 - 4.6.0-preview1-26831-06 + 4.6.0-preview1-26905-03 + 4.6.0-preview1-26905-03 + 4.6.0-preview1-26905-03 + 4.6.0-preview1-26905-03 + 4.6.0-preview1-26905-03 9.0.1 2.3.1 2.4.0 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 74c82096f1..86de522933 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:3.0.0-alpha1-20180821.3 -commithash:0939a90812deb1c604eb9a4768869687495fc1dd +version:3.0.0-alpha1-20180907.9 +commithash:f997365a8832ff0a3cbd9a98df45734ac2723fa0 From 2d23ed73e7c7d263acf142c7d30353811a9f3715 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 16 Sep 2018 19:16:11 +0000 Subject: [PATCH 21/29] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 70 ++++++++++++++++++++-------------------- korebuild-lock.txt | 9 ++---- 2 files changed, 37 insertions(+), 42 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 231fbef9dd..bb2f9074f1 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,51 +4,51 @@ 0.10.13 - 3.0.0-alpha1-20180907.9 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 - 0.7.0-alpha1-10419 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 + 3.0.0-alpha1-20180911.2 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 + 0.7.0-alpha1-10454 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 15.6.82 15.6.82 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 - 3.0.0-alpha1-10419 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 + 3.0.0-alpha1-10454 2.0.9 2.1.3 2.2.0-preview2-26905-02 1.0.1 - 3.0.0-alpha1-10419 + 3.0.0-alpha1-10454 15.6.1 11.1.0 2.0.3 - 4.6.0-preview1-26905-03 - 4.6.0-preview1-26905-03 - 4.6.0-preview1-26905-03 + 4.6.0-preview1-26907-04 + 4.6.0-preview1-26907-04 + 4.6.0-preview1-26907-04 4.6.0-preview1-26717-04 - 4.6.0-preview1-26905-03 - 4.6.0-preview1-26905-03 - 4.6.0-preview1-26905-03 - 4.6.0-preview1-26905-03 - 4.6.0-preview1-26905-03 + 4.6.0-preview1-26907-04 + 4.6.0-preview1-26907-04 + 4.6.0-preview1-26907-04 + 4.6.0-preview1-26907-04 + 4.6.0-preview1-26907-04 9.0.1 2.3.1 2.4.0 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 58059d1ff4..a3511df82d 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,7 +1,2 @@ -<<<<<<< HEAD -version:3.0.0-alpha1-20180907.9 -commithash:f997365a8832ff0a3cbd9a98df45734ac2723fa0 -======= -version:2.2.0-preview1-20180907.8 -commithash:078918eb5c1f176ee1da351c584fb4a4d7491aa0 ->>>>>>> merge/release/2.2-to-master +version:3.0.0-alpha1-20180911.2 +commithash:2a2b7dbea1b247930c41da497f4ea0b2bb756818 From a8f61f7d7d7aaed1c1002a6c1f1ef4df627d0099 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 23 Sep 2018 12:15:25 -0700 Subject: [PATCH 22/29] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 56 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index bb2f9074f1..468dfa74fa 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,46 +4,46 @@ 0.10.13 - 3.0.0-alpha1-20180911.2 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 - 0.7.0-alpha1-10454 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 + 3.0.0-alpha1-20180919.1 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 + 0.7.0-alpha1-10495 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 15.6.82 15.6.82 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 - 3.0.0-alpha1-10454 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 + 3.0.0-alpha1-10495 2.0.9 2.1.3 2.2.0-preview2-26905-02 1.0.1 - 3.0.0-alpha1-10454 + 3.0.0-alpha1-10495 15.6.1 11.1.0 2.0.3 4.6.0-preview1-26907-04 4.6.0-preview1-26907-04 4.6.0-preview1-26907-04 - 4.6.0-preview1-26717-04 + 4.5.0 4.6.0-preview1-26907-04 4.6.0-preview1-26907-04 4.6.0-preview1-26907-04 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index a3511df82d..9a87e4ccb7 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:3.0.0-alpha1-20180911.2 -commithash:2a2b7dbea1b247930c41da497f4ea0b2bb756818 +version:3.0.0-alpha1-20180919.1 +commithash:3066ae0a230870ea07e3f132605b5e5493f8bbd4 From 4eb9fc05a323f633cbd9c4bfb97610eef440d23b Mon Sep 17 00:00:00 2001 From: Justin Kotalik Date: Thu, 27 Sep 2018 12:40:44 -0700 Subject: [PATCH 23/29] upgrade deps --- build/dependencies.props | 54 ++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 468dfa74fa..032950b7a2 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -5,45 +5,45 @@ 0.10.13 3.0.0-alpha1-20180919.1 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 - 0.7.0-alpha1-10495 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 + 0.7.0-alpha1-10526 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 15.6.82 15.6.82 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 - 3.0.0-alpha1-10495 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 + 3.0.0-alpha1-10526 2.0.9 2.1.3 2.2.0-preview2-26905-02 1.0.1 - 3.0.0-alpha1-10495 + 3.0.0-alpha1-10526 15.6.1 11.1.0 2.0.3 4.6.0-preview1-26907-04 4.6.0-preview1-26907-04 4.6.0-preview1-26907-04 - 4.5.0 + 4.6.0-preview1-26717-04 4.6.0-preview1-26907-04 4.6.0-preview1-26907-04 4.6.0-preview1-26907-04 From c0de15cc45980457c66d507da209d4db37abc057 Mon Sep 17 00:00:00 2001 From: Justin Kotalik Date: Thu, 27 Sep 2018 12:42:01 -0700 Subject: [PATCH 24/29] Bad korebuild-lock file --- korebuild-lock.txt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 641b9b208d..9a87e4ccb7 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,7 +1,2 @@ -<<<<<<< HEAD version:3.0.0-alpha1-20180919.1 commithash:3066ae0a230870ea07e3f132605b5e5493f8bbd4 -======= -version:2.2.0-preview1-20180918.1 -commithash:ad5e3fc53442741a0dd49bce437d2ac72f4b5800 ->>>>>>> merge/release/2.2-to-master From 47f8e6dd52a1aee91a285b21acfbb0a459227206 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 30 Sep 2018 12:16:06 -0700 Subject: [PATCH 25/29] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 52 ++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 032950b7a2..013a4d6a19 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -5,38 +5,38 @@ 0.10.13 3.0.0-alpha1-20180919.1 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 - 0.7.0-alpha1-10526 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 0.7.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 15.6.82 15.6.82 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 - 3.0.0-alpha1-10526 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 2.0.9 2.1.3 2.2.0-preview2-26905-02 1.0.1 - 3.0.0-alpha1-10526 + 3.0.0-alpha1-10549 15.6.1 11.1.0 2.0.3 From 1e8808c1c6b68fc9b42fdb90f7db2fcb440787c9 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Sun, 7 Oct 2018 12:16:43 -0700 Subject: [PATCH 26/29] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 54 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 013a4d6a19..14468a880f 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,39 +4,39 @@ 0.10.13 - 3.0.0-alpha1-20180919.1 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 0.7.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 + 3.0.0-alpha1-20181004.7 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 + 0.7.0-alpha1-10584 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 15.6.82 15.6.82 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 + 3.0.0-alpha1-10584 2.0.9 2.1.3 2.2.0-preview2-26905-02 1.0.1 - 3.0.0-alpha1-10549 + 3.0.0-alpha1-10584 15.6.1 11.1.0 2.0.3 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 9a87e4ccb7..14c4ea8ed3 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:3.0.0-alpha1-20180919.1 -commithash:3066ae0a230870ea07e3f132605b5e5493f8bbd4 +version:3.0.0-alpha1-20181004.7 +commithash:27fabdaf2b1d4753c3d2749581694ca65d78f7f2 From 57f698da0b8da50fda60d90e61ed9e91d584c668 Mon Sep 17 00:00:00 2001 From: Justin Kotalik Date: Tue, 9 Oct 2018 09:34:07 -0700 Subject: [PATCH 27/29] Revert "Update dependencies.props" This reverts commit 1e8808c1c6b68fc9b42fdb90f7db2fcb440787c9. --- build/dependencies.props | 54 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 14468a880f..013a4d6a19 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,39 +4,39 @@ 0.10.13 - 3.0.0-alpha1-20181004.7 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 - 0.7.0-alpha1-10584 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 + 3.0.0-alpha1-20180919.1 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 0.7.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 15.6.82 15.6.82 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 - 3.0.0-alpha1-10584 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 + 3.0.0-alpha1-10549 2.0.9 2.1.3 2.2.0-preview2-26905-02 1.0.1 - 3.0.0-alpha1-10584 + 3.0.0-alpha1-10549 15.6.1 11.1.0 2.0.3 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 14c4ea8ed3..9a87e4ccb7 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:3.0.0-alpha1-20181004.7 -commithash:27fabdaf2b1d4753c3d2749581694ca65d78f7f2 +version:3.0.0-alpha1-20180919.1 +commithash:3066ae0a230870ea07e3f132605b5e5493f8bbd4 From 3108b1492bf4e387e5b1aa712ca2d4deb69cce80 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Thu, 11 Oct 2018 12:13:10 -0700 Subject: [PATCH 28/29] Update dependencies.props [auto-updated: dependencies] --- build/dependencies.props | 54 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 013a4d6a19..3806a70b83 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,39 +4,39 @@ 0.10.13 - 3.0.0-alpha1-20180919.1 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 0.7.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 + 3.0.0-alpha1-20181011.3 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 + 0.7.0-alpha1-10605 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 15.6.82 15.6.82 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 - 3.0.0-alpha1-10549 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 + 3.0.0-alpha1-10605 2.0.9 2.1.3 2.2.0-preview2-26905-02 1.0.1 - 3.0.0-alpha1-10549 + 3.0.0-alpha1-10605 15.6.1 11.1.0 2.0.3 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index 9a87e4ccb7..b886680b23 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:3.0.0-alpha1-20180919.1 -commithash:3066ae0a230870ea07e3f132605b5e5493f8bbd4 +version:3.0.0-alpha1-20181011.3 +commithash:e7569d931e994629267ab2646e9926140962b4ac From 2bd2c1870a236df4af389dbb74f04daca78d62b1 Mon Sep 17 00:00:00 2001 From: dotnet-maestro-bot Date: Mon, 15 Oct 2018 09:17:12 -0700 Subject: [PATCH 29/29] Update dependencies.props (#1516) [auto-updated: dependencies] --- build/dependencies.props | 54 ++++++++++++++++++++-------------------- korebuild-lock.txt | 4 +-- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 3806a70b83..edb736edd6 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,39 +4,39 @@ 0.10.13 - 3.0.0-alpha1-20181011.3 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 - 0.7.0-alpha1-10605 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 + 3.0.0-alpha1-20181011.11 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 + 0.7.0-alpha1-10620 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 15.6.82 15.6.82 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 - 3.0.0-alpha1-10605 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 + 3.0.0-alpha1-10620 2.0.9 2.1.3 2.2.0-preview2-26905-02 1.0.1 - 3.0.0-alpha1-10605 + 3.0.0-alpha1-10620 15.6.1 11.1.0 2.0.3 diff --git a/korebuild-lock.txt b/korebuild-lock.txt index b886680b23..1bb080533a 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:3.0.0-alpha1-20181011.3 -commithash:e7569d931e994629267ab2646e9926140962b4ac +version:3.0.0-alpha1-20181011.11 +commithash:f57aa8ddda0abdd74ada55853587bedb4f364065