Moved recursive make into phony target. This is okay because the called
make does not rebuild things. The calling make no longer flails about
when trying to make the three monad-native targets.
With dependencies setup correctly, `make -j` now works as
expected. `prepare` target came back under a new role, to setup the
application base and CoreCLR in the execution environment.
Note that `$(APP_BASE)` is a phony target because we always want a clean
deployment. Cannot `rm -rf exec_env` because it conflicts with
`$(CORECLR)` when run in parallel.
`ps_test.dll` is now built in dotnetlibs, and copied along with xUnit
libraries during `internal-prepare-exec_env`.
Build process now creates things only as needed.
Compile with monad-run make HelloWorld.exe, given a HelloWorld.cs. Will
compile with our .NET Core, and output how to run. Does not support
multiple files.
Rather than downloading nuget.exe on every run, we can cache it, just
not in monad-ext with a rule to copy it. Instead, there's a rule to
refresh it from its canonical home.
See http://dist.nuget.org/index.html
- Use explicit versions of NuGet packages
- Removed cruft
- Use MONO_PATH over cp
- Remove nuget.exe on cleanall
- Patch version bump of Reflection.Metadata and Collections.Immutable
- 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
- 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
Monad submodule has been squashed and rebased to new PowerShell branch,
th2_srv1_mgmt_dev. Build system has been updated to include upstream
changes, as well as the addition of CorePsPlatform.cs to the PowerShell
build system (so it longer needs to be added automatically).
While enabling previously disabled code in `cimConverter.cs`, it was
revealed that `Microsoft.PowerShell.Commands.Management.dll` has a
dependency on `Microsoft.PowerShell.Security.dll` for the type
`SecurityDescriptorCommandsBase`.
Build scripts and powershell-simple.cs were refactored to work with the
patch to CoreCLR and updated hosting code.
- Paths in Makefile were fixed because the hosting code runs the
assembly from the current working directory (usually app_base)
- runps scripts were all fixed because the hosting code CLI changed
- powershell-simple.cs was cleaned up because its Main function is now
directly executed
- monad submodule was repinned while we had the change
- monad-ext submodule was updated with rebuild CoreCLR binaries
- monad-native submodule was repinned to development, including fixed
test and hosting code changes
`-Source 'https://nuget.org/api/v2'`
Works around NuGet 3 issues. Necessary with the MonoProject's
mono-devel (which is used in the Docker build container).