From 5f8196cca6b0f9ec4af03bfa6b27f9d8be920235 Mon Sep 17 00:00:00 2001 From: Andrew Schwartzmeyer Date: Tue, 6 Oct 2015 15:09:44 -0700 Subject: [PATCH 1/7] Ignore .bash_history from Docker --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1bebec4e5..151c2b5fb 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ cmake_install.cmake externals scripts/xunittests.xml /scripts/powershell.inc +.bash_history From 9421c0f3a5ff8ea721f8ed86a277033184975601 Mon Sep 17 00:00:00 2001 From: Andrew Schwartzmeyer Date: Tue, 6 Oct 2015 15:10:18 -0700 Subject: [PATCH 2/7] Update monad submodule to master Includes updated .gitignore --- src/monad-native | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/monad-native b/src/monad-native index d1de7e28c..ad49db74e 160000 --- a/src/monad-native +++ b/src/monad-native @@ -1 +1 @@ -Subproject commit d1de7e28c52a87a0804b76445a07b1d122417436 +Subproject commit ad49db74e24758377c3735bf9a40fd06ea2b2b20 From bf930abb96ead4276e270224402a97a7c1d40c9c Mon Sep 17 00:00:00 2001 From: Andrew Schwartzmeyer Date: Tue, 6 Oct 2015 15:13:29 -0700 Subject: [PATCH 3/7] 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 5a07abe9d..acef3ae3b 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 1ddd09eeb..9b0ffc20f 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 381664387..119f477cf 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 Date: Tue, 6 Oct 2015 21:15:48 -0700 Subject: [PATCH 4/7] Improve make clean, cleanall, clean-native - Use clean-native to clean the native library - Remove buildtemp and dotnetlibs from Git, mkdir on demand --- scripts/Makefile | 19 ++++++++++--------- scripts/buildtemp/.gitignore | 0 scripts/dotnetlibs/.gitignore | 0 3 files changed, 10 insertions(+), 9 deletions(-) delete mode 100644 scripts/buildtemp/.gitignore delete mode 100644 scripts/dotnetlibs/.gitignore diff --git a/scripts/Makefile b/scripts/Makefile index acef3ae3b..50cd4e015 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -134,8 +134,9 @@ dotnetlibs/api-ms-win-core-registry-l1-1-0.dll: ../src/win-dll/lib-api-ms-win-co # this is the manual step that will install some stuff using nuget and do other things that can't be dependency # tracked that easily NUGET_INSTALL=cd buildtemp && mono nuget.exe install -Source 'https://api.nuget.org/v3/index.json' -Version -prepare: - rm -rf buildtemp/System.Reflection.Metadata.* buildtemp/System.Collections.Immutable.* buildtemp/Microsoft.Net.ToolsetCompilers.* buildtemp/nuget.exe + +prepare: cleanall + mkdir -p buildtemp dotnetlibs cp $(MONAD_EXT)/nuget/nuget.exe buildtemp/nuget.exe $(NUGET_INSTALL) 1.0.21 System.Reflection.Metadata $(NUGET_INSTALL) 1.1.36 System.Collections.Immutable @@ -223,16 +224,16 @@ 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 -clean: - rm -rf dotnetlibs/* - rm -rf exec_env +# clean native library, libps +clean-native: rm -rf buildtemp/libps-build - rm -rf dotnetlibs/* - rm -f xunittests.xml powershell.inc + +clean: + rm -rf dotnetlibs exec_env powershell.inc # clean built stuff + prepare step -cleanall: clean - rm -rf buildtemp/* +cleanall: clean clean-native + rm -rf buildtemp xunittests.xml docker-build: docker build --no-cache=false -t image_ps . diff --git a/scripts/buildtemp/.gitignore b/scripts/buildtemp/.gitignore deleted file mode 100644 index e69de29bb..000000000 diff --git a/scripts/dotnetlibs/.gitignore b/scripts/dotnetlibs/.gitignore deleted file mode 100644 index e69de29bb..000000000 From 1b1cfe4602a1780077648cc0d9970e12e1063487 Mon Sep 17 00:00:00 2001 From: Andrew Schwartzmeyer Date: Tue, 6 Oct 2015 21:16:59 -0700 Subject: [PATCH 5/7] Improve lipbs build - Use $(MAKE) -C like the good developers intended - Use -j flag for practically instant libps compilation - DRY the dependencies and copies --- scripts/Makefile | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/scripts/Makefile b/scripts/Makefile index 50cd4e015..dda33d9df 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -110,18 +110,21 @@ CorePsTypeCatalog.cs: powershell.inc buildtemp/TypeCatalogGen.exe buildtemp/Syst # the pinvoke library libps.so -buildtemp/libps-build/Makefile: ../src/monad-native/src/CMakeLists.txt - rm -rf buildtemp/libps-build - mkdir buildtemp/libps-build +LIBPS_BUILD=buildtemp/libps-build +$(LIBPS_BUILD)/Makefile: ../src/monad-native/src/CMakeLists.txt + mkdir -p $(LIBPS_BUILD) # cached files can change the path to be incorrect, this must be cleaned rm -f ../src/monad-native/src/CMakeCache.txt rm -f ../src/monad-native/src/cmake_install.cmake - cd buildtemp/libps-build && cmake ../../../src/monad-native/src/ + cd $(LIBPS_BUILD) && cmake ../../../src/monad-native/src/ -dotnetlibs/libps.so dotnetlibs/monad_native dotnetlibs/host_cmdline: buildtemp/libps-build/Makefile - cd buildtemp/libps-build && make VERBOSE=0 && cp monad_native ../../dotnetlibs && cp libps.so ../../dotnetlibs && cp host_cmdline ../../dotnetlibs +NATIVE_BINARIES=libps.so monad_native host_cmdline +$(addprefix dotnetlibs/, $(NATIVE_BINARIES)): $(LIBPS_BUILD)/Makefile + $(MAKE) -j -C $(LIBPS_BUILD) + mkdir -p dotnetlibs + cp $(addprefix $(LIBPS_BUILD)/, $(notdir $@)) dotnetlibs -libps.so-test: dotnetlibs/libps.so dotnetlibs/monad_native +libps.so-test: $(addprefix dotnetlibs/, libps.so monad_native) cd dotnetlibs && LD_LIBRARY_PATH=. ./monad_native # this is a windows dll that is needed because CoreCLR tries to access From 0c6a7616fcd08f9839fc08b7e92998431b748419 Mon Sep 17 00:00:00 2001 From: Andrew Schwartzmeyer Date: Tue, 6 Oct 2015 21:26:48 -0700 Subject: [PATCH 6/7] Update Roslyn compiler Prior package was last updated 2015-05-20 and was prerelease. New package is stable at 1.0.0 from 2015-07-13. https://www.nuget.org/packages/Microsoft.Net.Compilers/ --- scripts/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/Makefile b/scripts/Makefile index dda33d9df..453c9140e 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -40,7 +40,7 @@ PRODUCT_COMMANDS_REFS=$(COREREF) -r:dotnetlibs/System.Management.Automation.dll # compilers # - Roslyn's csc is used for all the PS code # - Mono's mcs is used for build helper tools -CSC=mono buildtemp/Microsoft.Net.ToolsetCompilers.*/tools/csc.exe +CSC=mono buildtemp/Microsoft.Net.Compilers.*/tools/csc.exe MCS=mcs CSCOPTS_BASE=-noconfig -nostdlib @@ -143,7 +143,7 @@ prepare: cleanall cp $(MONAD_EXT)/nuget/nuget.exe buildtemp/nuget.exe $(NUGET_INSTALL) 1.0.21 System.Reflection.Metadata $(NUGET_INSTALL) 1.1.36 System.Collections.Immutable - $(NUGET_INSTALL) 1.0.0-rc3-20150520-02 Microsoft.Net.ToolsetCompilers + $(NUGET_INSTALL) 1.0.0 Microsoft.Net.Compilers # this is the execution environment from which all managed code is run APP_BASE=exec_env/app_base From bbdc3de691074ea7758180a33356676ae477d568 Mon Sep 17 00:00:00 2001 From: Andrew Schwartzmeyer Date: Tue, 6 Oct 2015 21:55:21 -0700 Subject: [PATCH 7/7] Use nuget -restore functionality - Download nuget.exe from its official home - Remove beta nuget.exe from monad-ext - Specify dependencies in packages.config and use nuget.exe -restore - Add prepare dependency to package libraries - No more manual prepare step - Update .gitignore --- .gitignore | 5 ++--- scripts/Makefile | 18 +++++++++--------- scripts/packages.config | 6 ++++++ src/monad-ext | 2 +- 4 files changed, 18 insertions(+), 13 deletions(-) create mode 100644 scripts/packages.config diff --git a/.gitignore b/.gitignore index 151c2b5fb..0a218c43e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,11 @@ .idea .config/ -.nuget\\packages\\/ +.local/ CMakeCache.txt CMakeFiles/ Makefile !scripts/Makefile cmake_install.cmake -externals scripts/xunittests.xml -/scripts/powershell.inc +scripts/powershell.inc .bash_history diff --git a/scripts/Makefile b/scripts/Makefile index 453c9140e..4a7f47e24 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -76,11 +76,11 @@ dotnetlibs/$(ASSEMBLY_LOAD_CONTEXT_TARGET): $(ASSEMBLY_LOAD_CONTEXT_SRCS) $(CSC) -out:$@ $(CSCOPTS_LIB_PS) $(PRODUCT_BASE_REFS) $(ASSEMBLY_LOAD_CONTEXT_SRCS) # this will copy whatever the first version of the dll in the globber is -buildtemp/System.Reflection.Metadata.dll: buildtemp/System.Reflection.Metadata.*/lib/portable-net45+win8/System.Reflection.Metadata.dll +buildtemp/System.Reflection.Metadata.dll: buildtemp/System.Reflection.Metadata.*/lib/*/System.Reflection.Metadata.dll prepare cp -f $< $@ # this will copy whatever the first version of the dll in the globber is -buildtemp/System.Collections.Immutable.dll: buildtemp/System.Collections.Immutable.*/lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll +buildtemp/System.Collections.Immutable.dll: buildtemp/System.Collections.Immutable.*/lib/*/System.Collections.Immutable.dll prepare cp -f $< $@ # this one is built from stubs @@ -136,14 +136,14 @@ dotnetlibs/api-ms-win-core-registry-l1-1-0.dll: ../src/win-dll/lib-api-ms-win-co # this is the manual step that will install some stuff using nuget and do other things that can't be dependency # tracked that easily -NUGET_INSTALL=cd buildtemp && mono nuget.exe install -Source 'https://api.nuget.org/v3/index.json' -Version +nuget.exe: + wget 'https://nuget.org/nuget.exe' -prepare: cleanall - mkdir -p buildtemp dotnetlibs - cp $(MONAD_EXT)/nuget/nuget.exe buildtemp/nuget.exe - $(NUGET_INSTALL) 1.0.21 System.Reflection.Metadata - $(NUGET_INSTALL) 1.1.36 System.Collections.Immutable - $(NUGET_INSTALL) 1.0.0 Microsoft.Net.Compilers +NUGET_INSTALL=cd buildtemp && mono nuget.exe install + +prepare: nuget.exe + mkdir -p buildtemp + mono nuget.exe restore -PackagesDirectory buildtemp # this is the execution environment from which all managed code is run APP_BASE=exec_env/app_base diff --git a/scripts/packages.config b/scripts/packages.config new file mode 100644 index 000000000..a675f3a4c --- /dev/null +++ b/scripts/packages.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/monad-ext b/src/monad-ext index 90a7b37cd..dec304a9a 160000 --- a/src/monad-ext +++ b/src/monad-ext @@ -1 +1 @@ -Subproject commit 90a7b37cd786a27250487d637fe015186960c7be +Subproject commit dec304a9a8704f28176474072e83f439017bac6d