Commit Graph
152 Commits
Author SHA1 Message Date
Andrew Schwartzmeyer a1009ffd4a Fix build of monad-native
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.
2015-10-16 14:37:46 -07:00
Andrew Schwartzmeyer 9d832b4b6d Fix TypeCatalogGen.exe dependencies
NuGet packages referenced as dependencies needed to depend on buildtemp
as well.
2015-10-16 14:37:18 -07:00
Andrew Schwartzmeyer 49a2b29b03 Clean up cruft 2015-10-14 22:41:00 -07:00
Andrew Schwartzmeyer 6c47d78821 Refactor exec_env setup, can now build in parallel
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.
2015-10-14 22:40:52 -07:00
Andrew Schwartzmeyer c8f76b6281 Factor out relative paths in Makefile
They make for terrible headaches.
2015-10-14 19:31:22 -07:00
Andrew Schwartzmeyer f5fcc96562 Fix missing dependency for PowerShell.Security.dll 2015-10-14 19:13:45 -07:00
Andrew Schwartzmeyer 504d2c327e Refactor xUnit build
`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.
2015-10-14 14:17:34 -07:00
Andrew Schwartzmeyer a6006be854 Move libps build out of buildtemp 2015-10-14 14:05:52 -07:00
Andrew Schwartzmeyer 304df08fd7 Refactor use of dotnetlibs for reduced rebuilding
Also cleaned up Makefiles.  Added `scripts/dotnetlibs` back to Git so
Make doesn't ever have to create it (now I understand Peter's reasoning
here).
2015-10-14 14:03:01 -07:00
Andrew Schwartzmeyer 5d9c7c6d5f Refactor prepare target for non-phony buildtemp
- buildtemp, being non-phony, won't cause a recompilation every run
- rearranged where appropriate for better use of $<
2015-10-14 09:59:11 -07:00
Andrew Schwartzmeyer 3f82f7a4fb Remove PRODUCT_BASE_REFS 2015-10-14 08:58:16 -07:00
Andrew Schwartzmeyer 2657db7278 Fix IMPERSONATE=false 2015-10-14 08:58:01 -07:00
Andrew Schwartzmeyer 8f39b0a809 Rename XML test results 2015-10-13 19:57:51 -07:00
Andrew Schwartzmeyer 34dcc5c059 Enable XML output for native tests 2015-10-13 19:48:58 -07:00
Andrew Schwartzmeyer 72e9a1fed0 Add pestertests.xml to cleanall target 2015-10-13 19:46:05 -07:00
Andrew Schwartzmeyer 87988c7bea Enable XML output for Pester
- Taught Git to ignore XML output
- Updated Pester submodule with fixes
- Enabled reporting in Pester Makefile target
2015-10-13 15:25:39 -07:00
Andrew Schwartzmeyer acce65c680 Add basic Hello World program for easier testing
We can use this to assert simple things about .NET Core (our build in
particular) for easier debugging.
2015-10-13 14:19:20 -07:00
Andrew Schwartzmeyer 3284c33f85 Fix "Hello World" target 2015-10-13 13:45:27 -07:00
Andrew Schwartzmeyer e483e449ad Add build.sh back as wrapper to monad-run
Fixes CI and lets us remove it at a later date.
2015-10-13 13:39:52 -07:00
Andrew Schwartzmeyer 16db74fb3e Build from scripts again 2015-10-13 13:37:06 -07:00
Andrew Schwartzmeyer e95b3dc801 Fix mkdir 2015-10-13 13:35:06 -07:00
Andrew Schwartzmeyer 9b0ef11e2f Add "Hello World" exe target
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.
2015-10-13 12:55:38 -07:00
Andrew Schwartzmeyer 53cb7f8ffa Alias shell to run-interactive 2015-10-12 20:49:03 -07:00
Andrew Schwartzmeyer 80bc66eaaa Remove deprecated scripts 2015-10-12 20:49:03 -07:00
Andrew Schwartzmeyer 0d4ebb38b8 Replace docker build scripts
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`.
2015-10-12 20:49:03 -07:00
Andrew Schwartzmeyer 9124e4a328 Cache nuget.exe in scripts
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
2015-10-07 15:36:40 -07:00
Andrew Schwartzmeyer 008f1ac4a3 Clean up Makefile
- 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
2015-10-07 13:05:58 -07:00
Andrew Schwartzmeyer bbdc3de691 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
2015-10-06 21:55:21 -07:00
Andrew Schwartzmeyer 0c6a7616fc 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/
2015-10-06 21:26:48 -07:00
Andrew Schwartzmeyer 1b1cfe4602 Improve lipbs build
- Use $(MAKE) -C like the good developers intended
- Use -j flag for practically instant libps compilation
- DRY the dependencies and copies
2015-10-06 21:16:59 -07:00
Andrew Schwartzmeyer 26a1bfb696 Improve make clean, cleanall, clean-native
- Use clean-native to clean the native library
- Remove buildtemp and dotnetlibs from Git, mkdir on demand
2015-10-06 21:16:34 -07:00
Andrew Schwartzmeyer bf930abb96 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
2015-10-06 18:38:48 -07:00
Andrew Schwartzmeyer b9e313a3ba Use bash, not sh 2015-10-02 12:08:12 -07:00
Andrew Schwartzmeyer c40bae356a Repin monad to 2015-10-01 2015-10-01 11:45:49 -07:00
Andrew Schwartzmeyer c8c05b23fb Run sudo with --set-home 2015-10-01 10:36:23 -07:00
Andrew Schwartzmeyer be7932155a Make impersonation switchable
Useful when debugging issues with root vs non-root
2015-10-01 10:18:10 -07:00
Andrew Schwartzmeyer 3ea6e96663 Run as local user inside Docker container 2015-10-01 10:18:10 -07:00
Andrew Schwartzmeyer d0e93b6b7f Refactor build.sh
- build.sh runs non-interactively
- build-tty.sh runs interactively with a pseudo tty
- both are shims to build-run.sh
- monad-native no longer depends on a tty
2015-10-01 10:18:10 -07:00
Andrew Schwartzmeyer b14a455343 Create TypeCatalogGen.exe input, powershell.inc
Previous attempt at this failed because it is not actually a Makefile.
2015-09-30 18:41:02 -07:00
Andrew Schwartzmeyer 88aefa5f40 Refactor to use $(APP_BASE)
Now that everything is run from exec_env/app_base, we can reuse it and
remove TESTRUN_FOLDER.
2015-09-21 11:20:30 -07:00
Andrew Schwartzmeyer 77b5569385 Fix rm 2015-09-18 14:18:05 -07:00
Andrew Schwartzmeyer bb4739db78 Refactor NuGet install step 2015-09-18 13:19:45 -07:00
Andrew Schwartzmeyer 050206ff8a Delete xunittests.xml on make clean 2015-09-18 12:59:59 -07:00
Andrew Schwartzmeyer 94f3fef288 Remove unneeded strings folders 2015-09-18 12:59:59 -07:00
Andrew Schwartzmeyer 8145ea26a4 Refactor Makefile
- Update variable names
- Remove no longer used variables
- Include coreref and tests directly (now that they're short)
2015-09-18 12:59:59 -07:00
Andrew Schwartzmeyer c2787fdaca Repin monad and build mapping
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).
2015-09-15 16:46:06 -07:00
Andrew Schwartzmeyer e5e9e30347 Ignore CS170{1,2} C# compiler warnings 2015-09-15 16:45:31 -07:00
Andrew Schwartzmeyer f70f004238 Missed a pair 2015-09-03 15:23:16 -07:00
Andrew Schwartzmeyer f163808eac Swap {} for () in Makefile
Parentheses are more portable. There was an inconsistent mix of
parentheses and curly braces.
2015-09-03 14:55:21 -07:00
Andy Schwartzmeyer 54b2435811 Merge pull request 142 from dev/199-security into develop 2015-09-03 21:34:59 +00:00