Commit graph

535 commits

Author SHA1 Message Date
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
Eric Erhardt
e420515c2b Updating CoreFX to rc2-24022 2016-04-22 10:58:43 -05:00
Eric Erhardt
1a8d393b9b Merge pull request #2415 from eerhardt/FixTestProjects
Fix test project imports to be consistent.
2016-04-22 07:48:23 -05:00
Pawel Kadluczka
deb3367753 Merge pull request #2620 from dotnet/pawelka/tools
Fixing ProjectDependenciesCommandFactory to resolve tools
2016-04-21 22:26:58 -07:00
Pavel Krymets
c8fb6c26c3 Fixed netcore50 package based frameworks (#2630) 2016-04-21 21:47:20 -07:00
moozzyk
1aac8fb643 Fixing ProjectDependenciesCommandFactory to resolve tools
if the package name is different from the dll name

Addresses #2592
2016-04-21 19:15:54 -07:00
Eric Erhardt
a567bb8697 Fix test project imports to be consistent.
- Every project.json needs portable-net451+win8 and dotnet5.4 imports (required by dotnet-test-xunit).
- If a test references NuGet, it also needs "netstandardapp1.5", because that the TFM NuGet uses currently.
2016-04-21 11:42:30 -05:00
David Fowler
4af795b9e8 Fix duplicate dependency issue (#2597)
* Fix duplicate dependency issue
If a package has the same name as a framework assembly in the dependency
graph, we usually replace it with the framework assembly if the package
provides no assets. If the framework assembly wasn't resolved, it would
skip this logic and end up adding dupes to the list, which blows up later on.
This is a tactical fix to solve the issue, we need to do some more thinking
to determine how we want to resolve conflicts between framework assemblies,
packages and dlls with the same name.
2016-04-21 09:05:55 -07:00
Eric Erhardt
44483ddc98 Remove System.CommandLine dependency.
Also removed the dependency on Microsoft.Extensions.CommandLineUtils.Sources NuGet package and instead just checking the source files into our repo as internal classes.

Fix #2526
2016-04-20 18:47:37 -05:00
Eric Erhardt
d06418509d Merge pull request #2606 from eerhardt/UpdateAspDeps
Move ASP.NET package references to rc2-20581 from the aspnetrelease feed.
2016-04-20 18:37:16 -05:00
Pavel Krymets
88ffa548ba Merge pull request #2574 from dotnet/pakrym/graph
Add multiple input project support
2016-04-20 16:12:23 -07:00
Pavel Krymets
3472aee5c9 Remove native compilation, add multiple project files and globbing 2016-04-20 11:54:16 -07:00
Eric Erhardt
bc619cb9be Move ASP.NET package references to rc2-20581 from the aspnetrelease feed.
The places where I removed a dependency is because a lower package (InternalAbstrations) was already bringing in that dependency.

Fix #2567
2016-04-20 13:50:34 -05:00
Bryan Thornbury
a202cbef68 Reduce size of test names to fix long path issues on VSO buildds 2016-04-20 10:47:50 -07:00
Bryan
f4f05656a1 Take into account Code Review Feedback 2016-04-19 14:38:24 -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
Piotr Puszkiewicz
bc8b0c065f Merge pull request #2548 from dotnet/piotrpMSFT/issue2499/importDnxcore50
import dnxcore50
2016-04-19 13:09:33 -07:00
Piotr Puszkiewicz
c231910e7d Remove netstandardapp1.5 import 2016-04-19 11:23:16 -07:00
Piotr Puszkiewicz
496ec6b474 dotnet-new template imports dnxcore50. Tests Green. 2016-04-19 11:22:45 -07:00
Piotr Puszkiewicz
d45032c9d7 Unit test added and Red 2016-04-19 11:22:45 -07:00
Bryan Thornbury
83d78129db t Convert Test Assets to Microsoft.NETCore.App
fix dotnet-compile-fsc failures

fix test failures
2016-04-19 11:08:27 -07:00
Andrew Stanton-Nurse
b682ab1d4f make all packages serviceable by default (#2575)
fixes https://github.com/dotnet/cli/issues/2569
2016-04-19 08:34:42 -07:00
Bryan Thornbury
08ee6dedd9 Merge pull request #2559 from dotnet/brthor/2512
Fixes #2512
2016-04-18 16:33:46 -07:00
Jonathan Miller
18ae4d4791 Merge pull request #2538 from sokket/nrefix
Fixing #2480 to produce an InvalidProjectException for invalid projects
2016-04-18 13:57:57 -07:00
Bryan Thornbury
3fa70112da Fixes #2512
add tests for the projectdependenciescommandfactor

Add a test variation to test overriding the configuration provided in the constructor

update test asset name
2016-04-18 13:47:50 -07:00
Eric Erhardt
c9bee8a64f Merge pull request #2550 from eerhardt/UpdateDependencies20160418052316
Updating CoreFx to rc2-24018
2016-04-18 15:12:57 -05:00
Jonathan Miller
a71e4a5128 Fixing #2480 to produce an InvalidProjectException when attempting to publish a
project folder that does not contain a project.json file
2016-04-18 11:25:54 -07:00
eerhardt
eb4952df27 Updating CoreFx to rc2-24018 2016-04-18 05:23:16 +00:00
Eric Erhardt
6afc2ca813 Invoke compile-csc in-proc
Since processes are expensive, suppress spawning a new process when dotnet-compile is invoking dotnet-compile-csc.
2016-04-16 00:28:57 -05:00
Andrew Stanton-Nurse
852446e859 Improve resource file support (#2511)
* Add satellite assemblies to deps file with locale data
* Publish satellite assemblies to output during publish
* Copy satellite assemblies from project-to-project dependencies on
build and publish
2016-04-15 14:45:51 -07:00
Joel Verhagen
fbe5a23318 Take the latest NuGet build 2016-04-15 12:37:45 -07:00
eerhardt
070650ebac Updating CoreFx to rc2-24015 2016-04-15 05:25:53 +00:00
Eric Erhardt
880dcf2fc8 Merge pull request #2345 from dotnet/anurse/update-nuget
update nuget to 1160
2016-04-13 21:47:26 -05:00
Andrew Stanton-Nurse
71d5738fff re-restore test projects at their destination
since NuGet now stores the relative path to dependent projects in the lock file, projects need to be restored when they are moved
2016-04-13 17:56:51 -07:00
Andrew Stanton-Nurse
2956446864 update nuget to 1160 2016-04-13 17:56:50 -07:00
Eric Erhardt
deef7f867f Fix PublishTestAppWithContentPackage test to work on all platforms. 2016-04-13 18:38:15 -05:00
Eric Erhardt
f6f1a52ec4 Add publish test for an app with a dependency with contents. 2016-04-13 17:25:34 -05:00
Pavel Krymets
bde7d72b8f Merge pull request #2401 from dotnet/pakrym/lib-runtime-config
Do not generate and pack runtime config for libraries
2016-04-12 21:01:03 -07:00
Pavel Krymets
f4b1a400f6 Do not generate and pack runtime config for libraries 2016-04-12 19:18:58 -07:00
Pavel Krymets
482f36d26b Merge pull request #2371 from dotnet/pakrym/low-fat
Make desktop publishing "half-portable" by default
2016-04-12 19:13:34 -07:00
Troy Dai
065e8352fc Merge pull request #2441 from dotnet/troy/2420
Send DependencyDiagnostics after Dependencies message
2016-04-12 16:30:27 -07:00
Andrew Stanton-Nurse
a48596ff23 make 'platform' flag dependent upon CLI bitness
this will make net451 deployment work for x86 apps
2016-04-12 16:11:00 -07:00
Andrew Stanton-Nurse
f2bf60d06f add separate test for publish layout 2016-04-12 16:09:53 -07:00
Pavel Krymets
af53b02c13 Fix project.json merge issue 2016-04-12 16:09:53 -07:00
Andrew Stanton-Nurse
14770ae5ba Add tests for "half-portable" scenario 2016-04-12 16:09:53 -07:00
Pavel Krymets
2d3a1fd177 Make desktop publishing "half-portable" by default 2016-04-12 16:09:53 -07:00
Pavel Krymets
6184943910 Merge pull request #2437 from dotnet/pakrym/publish-base-path
Fix publish when build was ran using build-base-path
2016-04-12 15:42:58 -07:00
Troy Dai
20c24a0b36 Send DependencyDiagnostics after Dependencies message 2016-04-12 14:32:45 -07:00
Pavel Krymets
cf0673333d Fix publish when build was ran using build-base-path 2016-04-12 13:30:18 -07:00
Bryan Thornbury
709f7b7d14 Enable Cross Publishing and add tests
WIP

WIP

WIP

Test out not publishing runtimeAssets

WIP

WiP x-publish

update cross-publish-test

Update Cross Publish tests

remove --config from restore

fix build

update cross publish tests

fix test compilation error

test failure fix

fix test failure

update tests

tracing

fix desktop publishing

do publish with no build, call build manually

fix

Make host publish optional, fix faux libraries?

update

Cross Publish test working

try changing test to netcore.app

fallback to host from current platform

revert change to project.json to target Microsoft.NETCore.App

fallback to compilation build output

update kestrel standalone app project.json

Make project tools command resolver test more self-contained.

make Kestrel Standalone restore against N-1
2016-04-12 13:00:04 -07:00
Bryan Thornbury
d3d64a4033 fix the race condition when generating deps.json, and add some coverage of this scenario
update reporter to verbose

fix

fix usings for test

update the test
2016-04-08 18:16:49 -07:00
Andrew Stanton-Nurse
803fef6a8b fix equality issue in DependencyContextLoader (#2379)
When checking if the provided assembly is the Entry Point Assembly, we
previously just checked if the AssemblyNames were equal, but it turns
out AssemblyName doesn't implement Equals, so it was using Reference
Equality, which fails. This change uses Assembly.Equals, which has an
Equals implementation that works.

Also adds some tests to ensure it's working.

This unblocks scenarios where the EntityFramework `dotnet-ef` command
was trying to read DependencyContext.Default but receiving a null
reference.
2016-04-08 15:33:32 -07:00
Troy Dai
3d157d0ec8 Merge pull request #2363 from dotnet/troy/2344
Stop adding default desktop assembly reference repeatedly.
2016-04-08 15:25:39 -07:00
Sridhar Periyasamy
3af38bf0fe Merge pull request #2378 from Sridhar-MS/kestrel-fix
Increasing timeout to check Kestrel Server is up.
2016-04-08 14:30:08 -07:00
Pawel Kadluczka
44be0cb3c0 Merge pull request #2358 from dotnet/pawelka/outname_pack
Enabling creating packages with different names than target libraries
2016-04-08 14:24:29 -07:00
Troy Dai
6a678a0d05 Add unit test for duplicate system references 2016-04-08 14:15:17 -07:00
Troy Dai
c42c60c56b Add test for mscorlib duplication issue 2016-04-08 14:15:17 -07:00
Sridhar Periyasamy
95accc5f94 Increasing timeout to check Kestrel Server is up.
KestrelSample app compilation time on CI machines is 16-20s and the test timeouts even before the kestrel server is up, which I suspect is the reason why kestrel tests are flaky.
2016-04-08 12:42:43 -07:00
Eric Erhardt
5684f9933d Fix dotnet-test.UnitTests now that ProjectWithTests has moved outside of TestAssets/TestProjects. 2016-04-08 11:35:13 -05:00
Eric Erhardt
e5e7ab1e47 Fixing dotnet.Tests to pass the correct TFM into the dependency-tool-invoker. 2016-04-08 10:30:26 -05:00
Eric Erhardt
7d6d74bba2 Fixing dotnet-test.Tests to use a portable test app - ProjectWithTests.
The ProjectWithTests needed to be moved outside of TestAssets\TestProjects because it can't be restored --infer-runtimes and it has to be built with netcoreapp1.0.
2016-04-08 09:35:06 -05:00
Eric Erhardt
8a9068efbf Fixing tests now they are portable.
2 tests needed to lift System.Diagnostics.TraceSource since it isn't in the shared framework.

The ArgumentReflector is now a portable app, so it needs to be invoked with "dotnet".
2016-04-08 09:34:00 -05:00
Eric Erhardt
4c704997c9 Remove infer-runtimes from EndToEnd tests. 2016-04-08 09:32:56 -05:00
Eric Erhardt
6fa859a354 Fix ProjectDependenciesCommandResolver for portable test apps.
Update to dotnet-test-xunit to latest.
2016-04-08 09:32:52 -05:00
Eric Erhardt
6ae044e5e1 Fix non-windows builds of Microsoft.NETCore.App.
Fix all test project.jsons to be portable apps.
2016-04-08 09:31:55 -05:00
Eric Erhardt
99371436f3 Consume NETCore.App 2016-04-08 09:27:23 -05:00
Piotr Puszkiewicz
85608e42cc Merge branch 'rel/1.0.0' into pawelka/outname_pack 2016-04-08 04:27:58 -07:00
Matt Ellis
d0ac16129d Update package dependencies to rc2-24008 2016-04-08 04:05:26 -07:00
Matt Ellis
b184ba23e6 Remove extra reference 2016-04-08 04:05:26 -07:00
Piotr Puszkiewicz
933c63b2d5 Add delay between attempts to contact the server 2016-04-08 03:07:33 -07:00
moozzyk
6a571e5b2a Enabling creating packages with different names than target libraries
Addresses #2322
2016-04-07 16:06:59 -07:00
Sridhar Periyasamy
5768f4c973 Merge pull request #2297 from Sridhar-MS/fix-2126
Execute project dependency command from output directory for Desktop.
2016-04-07 13:46:30 -07:00
Sridhar Periyasamy
4de28dc58b Fix windows x86 test failure.
Use the correct rid for windows x86 in the test.
2016-04-07 10:54:31 -07:00
Pavel Krymets
a1d4641b8e Merge pull request #2329 from natemcmaster/namc/dep-context
Fix bug in dependency context adding assets to wrong groups
2016-04-07 09:57:33 -07:00
Peter Marcu
aa88de1e6c Merge pull request #2198 from dotnet/Petermarcu-update-netcoreapp
Update project.json template to be netcoreapp1.0
2016-04-07 09:07:37 -07:00
Bryan Thornbury
3e903438b3 Merge pull request #2319 from dotnet/brthor/remove-nuget-config
Remove NuGet.config from the default dotnet new drop.
2016-04-06 22:35:12 -07:00
Nate McMaster
bfdedfd75c Fix #2327 - fix bug in dependency context adding assets to wrong groups 2016-04-06 20:35:56 -07:00
Krzysztof Wicher
0fcb3c9079 Fix dotnet run test 2016-04-06 15:37:43 -07:00
Bryan Thornbury
939366165f Remove NuGet.config from the default dotnet new drop. Patch the tests to cover this gap until corefx is on nuget.org 2016-04-06 14:34:39 -07:00
Sridhar Periyasamy
b772db9b29 Merge pull request #2269 from Sridhar-MS/kestrel-tests2
Add kestrel tests.
2016-04-06 14:25:15 -07:00
Sridhar Periyasamy
71680d30aa Add tests to check the dependency tool load location. 2016-04-06 11:52:48 -07:00
Eric Erhardt
965547bd8a Merge pull request #2145 from dotnet/lakshanf/issue2066/telemetry
Lakshanf/issue2066/telemetry
2016-04-05 19:37:58 -05:00
Livar
95a7d5607f Merge pull request #2284 from livarcocc/tests_with_same_name
Changing the name of two tests that conflict with each other and fail…
2016-04-05 14:43:54 -07:00
Sridhar Periyasamy
91adaa2b8c Merge branch 'rel/1.0.0' of https://github.com/dotnet/cli into kestrel-tests2 2016-04-05 14:40:07 -07:00
Sridhar Periyasamy
dbb25d8fb3 Get free port starting from 8001 instead of using TcpListener.
Enable kestrel tests to run in parallel.
2016-04-05 14:16:12 -07:00
Eric Erhardt
5e617bbb43 Merge pull request #2283 from eerhardt/NewNuGet
Update NuGet to 3.5.0-beta-1130
2016-04-05 15:29:10 -05:00
Livar Cunha
a07c396129 Changing the name of two tests that conflict with each other and fail inconsistently when the tests run in parallel because they stomp on each other. 2016-04-05 12:06:30 -07:00
Eric Erhardt
ed82fd2e66 Update NuGet to 3.5.0-beta-1130 2016-04-05 13:42:16 -05:00
Troy Dai
cb14076b38 Merge pull request #2249 from dotnet/troy/2200
Use default version for unresolved MSBuild reference
2016-04-05 09:05:18 -07:00
Pavel Krymets
87ee62c282 Merge pull request #2226 from dotnet/pakrym/no-trim-refs
Do not trim refs
2016-04-05 08:55:41 -07:00
Troy Dai
e63c0f82c9 Use default version for unresolved MSBuild reference 2016-04-05 08:32:58 -07:00
Troy Dai
c6eb0fa59a Add test cover adding MSBuild reference scenario 2016-04-05 08:32:58 -07:00
Troy Dai
16bd0dd10d Merge pull request #2247 from dotnet/troy/dth.tests
Add two tests for project model server
2016-04-05 08:30:55 -07:00
Pavel Krymets
8831bb4a8b Do not trim refs 2016-04-05 08:06:17 -07:00
Dan Quirk
0d067be964 Use static member 2016-04-04 18:58:22 -07:00
Sridhar Periyasamy
17b7d34bb9 Disable running Kestrel tests in parallel. 2016-04-04 18:45:08 -07:00
Sridhar Periyasamy
8f00b95783 Add kestrel tests.
Tests will 'build', 'run', 'publish' and 'execute' a Kestrel Hello World server as a PortableFatApp and as a Standalone app.
2016-04-04 17:57:12 -07:00
Lakshan Fernando
e077b60382 add test dependency 2016-04-04 15:26:06 -07:00
Lakshan Fernando
a506a25c18 using typo 2016-04-04 15:26:06 -07:00
Lakshan Fernando
25745d9d4e Implemented Telemetry class via an interface for test ease 2016-04-04 15:26:06 -07:00