Commit graph

51 commits

Author SHA1 Message Date
Livar Cunha
55c00a7e45 Adding a resolution chain to the command resolution chain that works based on a directory, more specifically, the publish directory. 2016-08-25 16:01:32 -07:00
Eric Erhardt
6bf59ffde6 Console.Write() doesn't show output until a newline
When running an app with `dotnet run`, we are redirecting the standard out and error just to print it out to our standard out and error. However, we are batching the output until we hit a newline, which isn't ideal for console apps.

To fix this, `dotnet run` no longer redirects the standard out and error.

Fix #2777
2016-05-13 09:03:35 -05:00
Andrew Stanton-Nurse
36e56e9d00 Add performance tracing 2016-04-29 08:16:37 -07:00
Andrew Stanton-Nurse
ef0ca39da1 Memory usage improvements in build (#2626)
* Use a WorkspaceContext in dotnet-build to cache project data across
multiple compilations in a single build action
* Dramatically reduce string and object duplication by introducing a
"Symbol Table" that shares instances of NuGetVersion, NuGetFramework,
VersionRange and string across multiple lock-file parses

Test Results:
* Testing was done by compiling Microsoft.AspNetCore.Mvc (and it's
dependencies) and taking memory snapshots after each compilation in
dotMemory
* We used to allocate ~3MB and deallocate ~2.5MB on EACH compilation in
a single build action. This has been reduced to ~120KB
allocated/deallocated
* After introducing WorkspaceContext, total memory usage spiked from 6MB
across the whole build action to about 13MB, introducing the symbol
table dropped it back to about 5-6MB.
2016-04-22 15:01:56 -07:00
Bryan
56194a8e12 Add a test case for a desktop app using Command.CreateDotnet, expecting to fail 2016-04-19 13:38:37 -07:00
Bryan Thornbury
b813e2b849 Fixes #1649
make things work again

fix

Tests Passing

cleanup

fix

fix
2016-03-07 14:35:41 -08:00
Livar Cunha
ebab175d17 Added a command factory where you can fix the output parameters that will flow to the commands, like configuration, outputpath and in the future, framework, runtime and base path. 2016-03-01 22:28:46 -08:00
Bryan Thornbury
c749bae962 Pipe configuration through CommandResolver
script changes to pipe configuration to test.ps1

debug commit, remove this commit

Change dotnet-test to invoke dotnet-test-xunit directly

build tests with configuration, framework, runtime in windows

Update testtargets in new build scripts

make configuration first arg to dotnet test

PR Feedback

update command factory

fix interface

test update
2016-02-18 09:57:30 -08:00
Austin Wise
6957303a13 Fix build break on Windows. 2016-02-12 15:58:35 -08:00
Austin Wise
468a0f38a5 Fix color printing and verbosity.
Only apply the ANSI passthrough for child commands. Otherwise the
escape codes are printed to the console on Windows

Make Report.Write process escape codes so that forwarded output will have
its escape codes processed.

Also make verbose be inherited by all child processes.
2016-02-12 15:52:11 -08:00
Bryan Thornbury
c1e28ae921 Refactor ScriptExecutor, add test cases for scriptexecutor.
Add TargetFramework and FullTargetFramework to compile and publish script
variables.

Add ProjectLocal Command Resolution Strategy.

Fixup ArgumentEscaper to not always quote things.

Fixes #1216
Fixes #1016
Fixes #982
2016-02-12 11:04:30 -08:00
Pranav K
33f1b8551e Compile Microsoft.DotNet.Cli.Utils in net451 2016-02-11 15:46:43 -08:00
Livar Cunha
4e1ec4c159 Refactoring dotnet-compile to make adding the script variable testable. So far, moved it to have a compiler controller and two separate compilers: native and managed. Also moved the script runner to its own class so that we can mock it into the managed controller.
Adding a ICommand interface and factory that we can use to mock Commands and avoid actually running them in unit tests.
2016-02-11 12:42:02 -08:00
Bryan Thornbury
ccaaebf6e5 Stream Forwarding changes to not wait on buffer full before writing. Instead input streams will be read character by character as they Console.Write or Console.WriteLine. Upon finding a newline character, the line will be printed to the parent process's console. 2016-02-08 14:19:02 -08:00
David Fowler
dfc59eb20e Everything in the same project
- Build in intrinsic commands as part of dotnet
2016-02-01 14:56:32 -08:00
piotrp
a66546d8fb Maintain test artifacts
Improved test diagnostics
Providing diagnostics about failed process.
Workaround for https://github.com/NuGet/Home/issues/1977
get past crossgen errors!
2016-01-26 23:25:39 -08:00
Bryan
e794ad6a10 Basic Argument Forwarding and Escaping Code Additions/Changes 2016-01-23 13:01:30 -08:00
piotrp
5cd64066c4 Packaged Commands 2016-01-09 16:50:31 -08:00
piotrp
47f79e4d99 Cli.Utils internal --> public 2016-01-06 00:44:41 -08:00
piotrp
ef0fc05119 ProjectContext.MakeRunnable
PR Feedback

Fixing naming of GetContentFiles
2016-01-05 01:49:27 -08:00
Mihai Codoban
110b30ccdc Extract build from compile
Build becomes the new compile. It decides which project to compile and how. It checks for incremental preconditions
Compile's resonsibility is trimmed down to only knowing how to invoke the compiler on a project
2015-12-23 17:31:47 -08:00
Mihai Codoban
197a02807f Command knows its command resolution strategy
A command may be resolved from a nuget package, from the executing
assembly directory, or from the path.
2015-12-23 17:02:10 -08:00
Pavel Krymets
93158dc1be Add resource satelite assembly generation 2015-12-14 08:33:11 -08:00
Charles Stoner
6a15c33492 Merge pull request #424 from cston/prompt
Allow unbuffered forwarding of output
2015-12-10 09:18:18 -08:00
Charles Stoner
ac017ea3ee Forward output unbuffered 2015-12-09 15:20:58 -08:00
Sridhar Periyasamy
cd357cb273 Fix dotnet driver on windows to deal with spaces
dotnet driver fails running dotnet-restore.cmd if this file is in a path
containing spaces. Use the magic "/S" switch in cmd to fix this.
2015-12-04 16:26:07 -08:00
piotrp
407c933480 add dotnet-test 2015-11-30 17:28:03 -08:00
piotrp
8d2733e147 PR Feedback 2015-11-29 11:35:19 -08:00
piotrp
976393ab0a Enable commands to be shipped in packages 2015-11-28 01:18:42 -08:00
Krzysztof Wicher
159e6187ae Merge pull request #288 from krwq/switch_to_system_commandline
Switch dotnet-run to System.CommandLine
2015-11-26 06:20:46 -08:00
schellap
29cd999b51 Fix restore.cmd not recognizable command 2015-11-25 12:14:26 -08:00
Krzysztof Wicher
0ecbc0d5fc Convert dotnet-run to System.CommandLine 2015-11-20 20:33:32 -08:00
Andrew Stanton-Nurse
04624ff5d1 add script executor
also added a postcompile script to each project to place the outputs in the right folder

fixes #237
2015-11-18 14:28:07 -08:00
PiotrP
e839b4debb Update Copyright headers in all source files. 2015-11-16 19:47:43 -08:00
David Fowler
98390d50e0 Don't require all dotnet tools to be on the path
- Try resolving full path to executable in the local directory first.
2015-11-16 18:21:15 -08:00
Charles Stoner
e2cdf17e2e Add Microsoft.DotNet.Tools.Interactive 2015-11-05 08:54:20 -08:00
anurse
b35fba863b command line interface clean-up 2015-11-01 21:08:01 -08:00
David Fowler
e372b32b61 Overwrite existing env vars 2015-11-01 06:24:31 -08:00
Andrew Stanton-Nurse
3ce7a84a04 dotnet-run command 2015-10-31 21:57:07 -07:00
Andrew Stanton-Nurse
1d76b2846c package up DNX in the tar.gz
includes a smoke test for verifying that the output can be used to build
also includes a checked-in CoreCLR in order to work around CoreCLR issue
2015-10-28 10:32:30 -07:00
David Fowler
8ca5740ce0 Change output for process exiting 2015-10-22 05:31:24 -07:00
David Fowler
5872aa0f0c Make all command execution synchronous
- This fixes a bunch of weird races I was seeing building
larger solutions.
2015-10-21 03:11:27 -07:00
David Fowler
d42b38d8ff Small fixes
- Change color of executing command
- Fix overwrite in publish
2015-10-20 03:07:21 -07:00
David Fowler
063eb45f8b Moved the reporter to shared code 2015-10-20 02:42:29 -07:00
David Fowler
0c5464fa8c Added time for command execution 2015-10-18 21:24:26 -07:00
David Fowler
6ba4781c4f Made changes to compilation and other things
- Added basic support for embedded resources (resx files are next!)
- Print out exit code from executed command (makes debugging easier)
- Fixed dnvm2.cmd to avoid putting things on the user path
- Fixed up propagation of exit codes
2015-10-18 19:02:09 -07:00
David Fowler
64f539e100 Fixed a few issues around bootstrapping
- Work aronud coreconsole issue in the bootstrap.cmd
- Use msbuild 14 roslyn csc until we have it
- Remove quoting args when building project refs, it wasn't working
- Fixed logic that launched exe's directly
2015-10-16 04:21:40 -07:00
Andrew Stanton-Nurse
6d3f07234a code review feedback 2015-10-15 12:56:07 -07:00
Andrew Stanton-Nurse
40eba07f28 add some bootstrap scripting 2015-10-15 12:18:45 -07:00
Andrew Stanton-Nurse
9da2475e2f port DNX's ApplicationHostContext as ProjectContext 2015-10-14 15:37:39 -07:00