From bf930abb96ead4276e270224402a97a7c1d40c9c Mon Sep 17 00:00:00 2001 From: Andrew Schwartzmeyer Date: Tue, 6 Oct 2015 15:13:29 -0700 Subject: [PATCH] Update CoreCLR/CoreFX to TFS build 23214 - Repins monad-ext to master, which was reset to the CoreCLR/FX update. - Fixes Makefile for restructuring of monad-ext/coreclr - Repins monad with fix for lack of System.Reflection.Metadata - Updates build mapping for repin of monad --- scripts/Makefile | 28 +++++++--------- scripts/commands-utility.mk | 6 ---- .../gen/SYS_AUTO/RemotingErrorIdStrings.cs | 30 ++++++++++++++---- .../SYS_AUTO/RemotingErrorIdStrings.resources | Bin 74340 -> 74580 bytes src/monad | 2 +- src/monad-ext | 2 +- 6 files changed, 38 insertions(+), 30 deletions(-) diff --git a/scripts/Makefile b/scripts/Makefile index 5a07abe9d9..acef3ae3b4 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -7,7 +7,7 @@ include assembly-load-context.mk MONAD_EXT=../src/monad-ext TARGETING_PACK=$(MONAD_EXT)/coreclr/TargetingPack COREREF=$(addprefix -r:, $(shell ls $(TARGETING_PACK)/*.dll)) -CORECLR_ASSEMBLY_BASE=$(MONAD_EXT)/coreclr/Release +CORECLR_ASSEMBLY_BASE=$(MONAD_EXT)/coreclr/Runtime # powershell-run is the main powershell executable include powershell-run.mk @@ -168,28 +168,24 @@ internal-prepare-exec_env: runps.sh $(POWERSHELL_RUN_TARGETS) cp -r ../ext-src/pester $(APP_BASE)/Modules/Pester cp runps*.sh $(APP_BASE) -internal-prepare-release-clr: - cp -r $(MONAD_EXT)/coreclr/Release/* exec_env/coreclr/ +internal-prepare-clr: + cp -r $(CORECLR_ASSEMBLY_BASE)/* exec_env/coreclr/ -# this is an internal target, it's not intended to be called manually -internal-prepare-debug-clr: - cp -r $(MONAD_EXT)/coreclr/Debug/* exec_env/coreclr/ - -run: $(RUN_TARGETS) internal-prepare-exec_env internal-prepare-release-clr +run: $(RUN_TARGETS) internal-prepare-exec_env internal-prepare-clr # execute a cmdlet, this will auto-load the utility module and print a, b and c in 3 lines $(APP_BASE)/runps-simple.sh '"a","b","c","a","a" | Select-Object -Unique' -run-interactive: $(RUN_TARGETS) internal-prepare-exec_env internal-prepare-release-clr +run-interactive: $(RUN_TARGETS) internal-prepare-exec_env internal-prepare-clr $(APP_BASE)/runps.sh -run-file: $(RUN_TARGETS) internal-prepare-exec_env internal-prepare-release-clr +run-file: $(RUN_TARGETS) internal-prepare-exec_env internal-prepare-clr $(APP_BASE)/runps.sh --file $(PSSCRIPT) # easy way to run individual PowerShell scripts, `make script.ps1` where the path is relative to monad-linux/scripts (with TEMP set for Pester) -%.ps1: $(RUN_TARGETS) internal-prepare-exec_env internal-prepare-release-clr +%.ps1: $(RUN_TARGETS) internal-prepare-exec_env internal-prepare-clr TEMP=/tmp $(APP_BASE)/runps.sh --file ../../$@ -run-debugclr: $(RUN_TARGETS) internal-prepare-exec_env internal-prepare-debug-clr +run-debugclr: $(RUN_TARGETS) internal-prepare-exec_env internal-prepare-clr PAL_DBG_CHANNELS="+LOADER.TRACE" $(APP_BASE)/runps-simple.sh get-location native-tests: dotnetlibs/monad_native @@ -206,11 +202,11 @@ $(APP_BASE)/xunit%: $(MONAD_EXT)/xunit/xunit% $(APP_BASE)/ps_test.dll: $(TEST_SRCS) $(addprefix $(APP_BASE)/, xunit.core.dll xunit.assert.dll) $(addprefix dotnetlibs/, System.Management.Automation.dll Microsoft.PowerShell.Commands.Management.dll $(ASSEMBLY_LOAD_CONTEXT_TARGET)) $(CSC) $(CSCOPTS_LIB) -out:$@ $(addprefix -r:$(APP_BASE)/, xunit.core.dll xunit.assert.dll) $(addprefix -r:dotnetlibs/, System.Management.Automation.dll $(ASSEMBLY_LOAD_CONTEXT_TARGET)) $(COREREF) $(TEST_SRCS) -xunit-tests: $(RUN_TARGETS) internal-prepare-exec_env internal-prepare-release-clr $(addprefix $(APP_BASE)/, ps_test.dll xunit.console.netcore.exe xunit.runner.utility.dll xunit.abstractions.dll xunit.execution.dll) +xunit-tests: $(RUN_TARGETS) internal-prepare-exec_env internal-prepare-clr $(addprefix $(APP_BASE)/, ps_test.dll xunit.console.netcore.exe xunit.runner.utility.dll xunit.abstractions.dll xunit.execution.dll) # execute the xUnit runner, with XML output $(APP_BASE)/runps-test.sh ps_test.dll -xml ../../xunittests.xml -pester-tests: $(RUN_TARGETS) internal-prepare-exec_env internal-prepare-release-clr +pester-tests: $(RUN_TARGETS) internal-prepare-exec_env internal-prepare-clr # execute the Pester tests, which needs a TEMP environment variable to be set $(APP_BASE)/runps-simple.sh 'cd ../../../src/pester-tests; $$env:TEMP="/tmp"; invoke-pester' @@ -220,10 +216,10 @@ hashbang-tests: test: native-tests xunit-tests pester-tests hashbang-tests -trace: $(RUN_TARGETS) internal-prepare-exec_env internal-prepare-release-clr +trace: $(RUN_TARGETS) internal-prepare-exec_env internal-prepare-clr $(APP_BASE)/runps-simple-trace.sh get-location -debug: $(RUN_TARGETS) internal-prepare-exec_env internal-prepare-release-clr +debug: $(RUN_TARGETS) internal-prepare-exec_env internal-prepare-clr # quoting here is a bit special if strings are passed in, because lldb seems to forward arguments strangely $(APP_BASE)/runps-simple-debug.sh get-location diff --git a/scripts/commands-utility.mk b/scripts/commands-utility.mk index 1ddd09eebd..9b0ffc20fb 100644 --- a/scripts/commands-utility.mk +++ b/scripts/commands-utility.mk @@ -54,7 +54,6 @@ COMMANDS_UTILITY_SRCS_WIN=\ ../../../jws/pswin/admin/monad/src/commands/utility/WriteProgressCmdlet.cs \ ../../../jws/pswin/admin/monad/src/commands/utility/Update-Data.cs \ ../../../jws/pswin/admin/monad/src/commands/utility/Update-TypeData.cs \ - ../../../jws/pswin/admin/monad/src/commands/utility/AddAssembly.cs \ ../../../jws/pswin/admin/monad/src/commands/utility/FormatAndOutput/common/GetFormatDataCommand.cs \ ../../../jws/pswin/admin/monad/src/commands/utility/FormatAndOutput/common/WriteFormatDataCommand.cs \ ../../../jws/pswin/admin/monad/src/commands/utility/FormatAndOutput/format-list/Format-List.cs \ @@ -127,7 +126,6 @@ COMMANDS_UTILITY_SRCS=\ $(ADMIN_GIT_ROOT)/monad/src/commands/utility/WriteProgressCmdlet.cs \ $(ADMIN_GIT_ROOT)/monad/src/commands/utility/Update-Data.cs \ $(ADMIN_GIT_ROOT)/monad/src/commands/utility/Update-TypeData.cs \ - $(ADMIN_GIT_ROOT)/monad/src/commands/utility/AddAssembly.cs \ $(ADMIN_GIT_ROOT)/monad/src/commands/utility/FormatAndOutput/common/GetFormatDataCommand.cs \ $(ADMIN_GIT_ROOT)/monad/src/commands/utility/FormatAndOutput/common/WriteFormatDataCommand.cs \ $(ADMIN_GIT_ROOT)/monad/src/commands/utility/FormatAndOutput/format-list/Format-List.cs \ @@ -173,7 +171,6 @@ COMMANDS_UTILITY_RESX_SRCS=\ ../../../jws/pswin/admin/monad/src/commands/utility/resources/UpdateDataStrings.resx \ ../../../jws/pswin/admin/monad/src/commands/utility/resources/ImportLocalizedDataStrings.resx \ ../../../jws/pswin/admin/monad/src/commands/utility/resources/WriteProgressResourceStrings.resx \ - ../../../jws/pswin/admin/monad/src/commands/utility/resources/AddAssemblyStrings.resx \ ../../../jws/pswin/admin/monad/src/commands/utility/resources/AliasCommandStrings.resx \ @@ -198,7 +195,6 @@ COMMANDS_UTILITY_RES_SRCS=\ gen/COMMANDS_UTILITY/UpdateDataStrings.resources \ gen/COMMANDS_UTILITY/ImportLocalizedDataStrings.resources \ gen/COMMANDS_UTILITY/WriteProgressResourceStrings.resources \ - gen/COMMANDS_UTILITY/AddAssemblyStrings.resources \ gen/COMMANDS_UTILITY/AliasCommandStrings.resources \ @@ -223,7 +219,6 @@ COMMANDS_UTILITY_RES_CS_SRCS=\ gen/COMMANDS_UTILITY/UpdateDataStrings.cs \ gen/COMMANDS_UTILITY/ImportLocalizedDataStrings.cs \ gen/COMMANDS_UTILITY/WriteProgressResourceStrings.cs \ - gen/COMMANDS_UTILITY/AddAssemblyStrings.cs \ gen/COMMANDS_UTILITY/AliasCommandStrings.cs \ @@ -248,7 +243,6 @@ COMMANDS_UTILITY_RES_REF=\ -resource:gen/COMMANDS_UTILITY/UpdateDataStrings.resources \ -resource:gen/COMMANDS_UTILITY/ImportLocalizedDataStrings.resources \ -resource:gen/COMMANDS_UTILITY/WriteProgressResourceStrings.resources \ - -resource:gen/COMMANDS_UTILITY/AddAssemblyStrings.resources \ -resource:gen/COMMANDS_UTILITY/AliasCommandStrings.resources \ diff --git a/scripts/gen/SYS_AUTO/RemotingErrorIdStrings.cs b/scripts/gen/SYS_AUTO/RemotingErrorIdStrings.cs index 3816643876..119f477cf1 100644 --- a/scripts/gen/SYS_AUTO/RemotingErrorIdStrings.cs +++ b/scripts/gen/SYS_AUTO/RemotingErrorIdStrings.cs @@ -1638,6 +1638,24 @@ internal class RemotingErrorIdStrings { } } + /// + /// Looks up a localized string similar to The input ContainerName {0} does not resolve to a single container.. + /// + internal static string InvalidContainerNameMultiple { + get { + return ResourceManager.GetString("InvalidContainerNameMultiple", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The input ContainerName {0} does not exist.. + /// + internal static string InvalidContainerNameNotExist { + get { + return ResourceManager.GetString("InvalidContainerNameNotExist", resourceCulture); + } + } + /// /// Looks up a localized string similar to The credential is invalid.. /// @@ -1765,20 +1783,20 @@ internal class RemotingErrorIdStrings { } /// - /// Looks up a localized string similar to The input VMGuid parameter does not resolve to a single virtual machine.. + /// Looks up a localized string similar to The input VMId parameter does not resolve to a single virtual machine.. /// - internal static string InvalidVMGuid { + internal static string InvalidVMId { get { - return ResourceManager.GetString("InvalidVMGuid", resourceCulture); + return ResourceManager.GetString("InvalidVMId", resourceCulture); } } /// - /// Looks up a localized string similar to The input VMGuid {0} does not resolve to a single virtual machine.. + /// Looks up a localized string similar to The input VMId {0} does not resolve to a single virtual machine.. /// - internal static string InvalidVMGuidNotSingle { + internal static string InvalidVMIdNotSingle { get { - return ResourceManager.GetString("InvalidVMGuidNotSingle", resourceCulture); + return ResourceManager.GetString("InvalidVMIdNotSingle", resourceCulture); } } diff --git a/scripts/gen/SYS_AUTO/RemotingErrorIdStrings.resources b/scripts/gen/SYS_AUTO/RemotingErrorIdStrings.resources index bff6014c345bcdb9592b8052e7b6fb9372e5c270..a8ad7e227a98a164385e6fb1f1dfabc9df0c8ec8 100644 GIT binary patch delta 4516 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 klef96XK=u~ydZ1P%-he!Ii>wSV>7Qg?K}3