Commit Graph
109 Commits
Author SHA1 Message Date
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 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 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 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 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 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 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
Andrew Schwartzmeyer 562a9bb35b Add Security.dll reference for Commands.Management.dll
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`.
2015-09-03 14:31:46 -07:00
Peter Honeder 84d58714fc added a simple test that creates a full PS Runspace and executes a script 2015-09-03 21:43:17 +02:00
Andrew Schwartzmeyer 8c80840d69 Make path relative to monad-linux/scripts
Since that's where the Makefile lives
2015-09-01 14:08:04 -07:00
Andrew Schwartzmeyer a7010cd742 Add make script.ps1 target for easy testing
Use like `make src/pester-tests/Test-Split-Path.Tests.ps1`
2015-09-01 13:55:54 -07:00
Andrew Schwartzmeyer f648656cc1 Refactor test targets 2015-08-28 21:18:58 -07:00
Andrew Schwartzmeyer 1a3d4aa9a6 Refactor host usage
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
2015-08-21 17:43:46 -07:00
Andrew Schwartzmeyer c9e1b6cbb1 Use NuGet APIv3 2015-08-11 08:56:29 -07:00
Andrew Schwartzmeyer ad91eb52c3 Add source flag to nuget.exe install
`-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).
2015-08-05 16:45:19 -07:00
Peter Honeder dc878906a8 Merge pull request 105 from dev/130-move-libps-build-to-buildtemp into develop 2015-08-03 08:18:16 +00:00
Peter Honeder 66d2c7f35d Makefile changes to move libps-build into buildtemp sub directory 2015-07-31 16:46:40 +02:00
Peter Honeder f2fd9ca303 enabled hash bang support, fixed run scripts to not alter the current working directory 2015-07-31 00:47:22 +02:00
Peter Honeder 56ae9e5ebd changed Dockerfile to support updated directory structure in exec_env, added copy command to copy missing libps.so for run targets 2015-07-30 18:47:25 +02:00
Peter Honeder ed93168e5e refactored Makefile run targets, added helper scripts for powershell-simple, changed how PS is invoked to solve issue #122, moved dlls for PowerShell away from CoreCLR, re-pinned to latest monad and monad-native fixes, added UnmanagedMain entry point for powershell-run.exe 2015-07-30 16:57:32 +02:00
Peter Honeder 5e68effa29 added host_cmdline to RUN_TARGETS 2015-07-29 17:31:38 +02:00
Peter Honeder b0f73c085a changed back make targets, changed existing make targets to new custom hosting for powershell-simple.exe 2015-07-29 17:31:38 +02:00