Commit Graph
111 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 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