Works much better. Removes dependency on `--file` switch in our
executable (which is not a PowerShell thing) and instead uses the
canonical method of launching a script/executable in PowerShell (the
ampersand). Coincidentally, this now makes the output not depend on a
TTY, and so `monad-run make hashbang-tests` now works as expected.
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.
Import the functions into your shell, `source scripts/monad-docker.sh`,
then run `monad-run make test` or `monad-tty make run-interactive` from
`monad-linux`. Top level `Makefile` passes to `scripts/Makefile`.
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