Commit graph

505 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
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
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
Andrew Stanton-Nurse
7c688eea7f fix framework assembly resolution for net35 (#2557) 2016-04-20 11:54:42 -07:00
Bryan Thornbury
ef0c3b2cee Merge pull request #2580 from dotnet/brthor/2566
Fix Using Command.Create from a Desktop Application
2016-04-19 15:37:45 -07:00
Andrew Stanton-Nurse
a46be549d4 fix build numbers in ResourcesTests (#2539) 2016-04-19 14:58:45 -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
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
eerhardt
eb4952df27 Updating CoreFx to rc2-24018 2016-04-18 05:23:16 +00:00
Piotr Puszkiewicz
859a2220f1 Merge pull request #2472 from MichaelSimons/debianbuild
Add support for Debian CLI builds
2016-04-15 16:02:23 -07: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
eerhardt
070650ebac Updating CoreFx to rc2-24015 2016-04-15 05:25:53 +00:00
MichaelSimons
5c0cf55623 Initial changes to support building on Debian 2016-04-13 13:49:32 -05: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
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
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
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
449a05cb8e Update NETStandard.Library version in test samples 2016-04-08 14:20:39 -07:00
Troy Dai
a3e1664ddc Update test apps 2016-04-08 14:15:17 -07:00
Troy Dai
6a678a0d05 Add unit test for duplicate system references 2016-04-08 14:15:17 -07: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
99371436f3 Consume NETCore.App 2016-04-08 09:27:23 -05:00
Matt Ellis
d0ac16129d Update package dependencies to rc2-24008 2016-04-08 04:05:26 -07:00
Pavel Krymets
0bc7380bdb Add netcoreapp as default tfm to run 2016-04-07 11:51:41 -07:00
Sridhar Periyasamy
b0a504e952 Addres PR feedback
Use 'Microsoft.AspNetCore.Hosting' instead of super old
'Microsoft.AspNet.Hosting'.
2016-04-06 09:58:01 -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
Pavel Krymets
8831bb4a8b Do not trim refs 2016-04-05 08:06:17 -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
Livar Cunha
7b209e5603 Moved ProjectModel to json.net for GlobalSettings and Project.json. Kept LockFileReader using the old API as I don't have the cycles to add the tests for it at the moment.
Added unit tests covering parsing of Json for all the pieces of the project.json

Added a RawRuntimeOptions to Project and made Executable deserialize that into the runtimeOptions of runtimeconfig.json

Added tests to cover copying runtimeoptions during dotnet build.
2016-04-04 12:11:27 -07:00
Pavel Krymets
e4cdc250e9 Merge pull request #2177 from dotnet/pakrym/disable-json-message
Do not write json error message to stderr
2016-03-31 16:31:07 -07:00
Pavel Krymets
8d1ddcdf2d Do not write json error message to stderr 2016-03-31 14:39:33 -07:00
Bryan
0fd81e0a2d Extract dotnet-compile-fsc into a standalone command
Add basic Tests for dotnet-compile-fsc

Package Targets execute before TestTargets. Use Generated Nuget Packages in TestTargets. Generate Nuget packages on all platforms, and in C#

Fix bug in dotnet-restore, change fsharp new template, add support for native assets in DependencyContextCsvReader

copy fsc.exe to temp directory instead of package cache

fix rebase error

fix issue

fixes

fixes

fix

temporarily disable debian package e2e testing

fixes

bump fsc version

update fsc version

fix rebase errors

WIP update fsc tool

WIP, rebased and working again, need to solve issues with System.CommandLine

Working state for packaged, command, fsc.exe bugging out with dlopen(, 1): no suitable image found.

execute fsc like a unpublished standalone app

fixup after rebase

working? internet is out

working

cleanup

More cleanup, and run the debian package tests during the Test phase of the build.

update FSharp Test Projects NetStandard Library Version

Update Version Suffix when packing TestPackages. This will enable packing with the right dependency versions on Windows.

update dotnet-test version

Undo the reordering of the build

fix test package project pathsj

ignore net451 build failures for test packages which we need to build on non-windows

update dependency of desktop test app

add dotnetcli feed to nuget config for fsharp dotnet new

update deps after rebase

update dependency of dotnet-compile-fsc

pass args before commandPath when using muxer for tools

adjust testpackage cleaning not to clean packages which are also generated as part of the product from the nuget cache.

undo

Pass projectJson to pack instead of using WorkingDirectory

fix path separators using depsjsoncommandresolver on windows, fix building only specific frameworks for testpackages on non-windows.

PR Feedback

rebase

overwrite fsc runtimeconfig
2016-03-31 14:01:08 -07:00
Pavel Krymets
429eb93cd9 Merge pull request #2160 from dotnet/pakrym/no-arg-net451
Pass no additional arguments to net451 app in dotnet run
2016-03-31 11:23:31 -07:00
Pavel Krymets
7e73e5c379 Pass no additional arguments to net451 app 2016-03-31 10:35:42 -07:00
eerhardt
3afd85068a Updating dependencies from last known good builds 2016-03-31 11:57:21 -05:00
eerhardt
ea984c50c7 Updating dependencies from last known good builds 2016-03-30 11:49:37 -05:00
Livar Cunha
c1189925df Updating dotnet-test-xunit to the lastest version in hopes that it will fix the inconsistent build break we are seeing in Jenkins and VSO. 2016-03-29 21:50:29 -07:00
Eric Erhardt
ad5b01d1c2 Merge pull request #2114 from eerhardt/UpdateDependencies20160329035919
Updating dependencies from last known good builds
2016-03-29 14:29:14 -05:00
Pavel Krymets
9497ee8f66 Add more overloads for assembly resolution in dependency model 2016-03-29 10:03:25 -07:00
eerhardt
7eb9d07fb5 Updating dependencies from last known good builds 2016-03-29 15:59:19 +00:00
Andrew Stanton-Nurse
62b7740c95 add trimming of published output based on sharedfx
Any dependencies which **exactly** match the version requested in the
graph originating at the `type: platform` dependency (if any) are
trimmed from the publish output
2016-03-28 18:50:17 -07:00
Eric Erhardt
a6b82782dc Fix *WithOutputAssemblyName test projects NetStandard reference. 2016-03-28 13:51:21 -05:00
eerhardt
cefed77ca9 Updating dependencies from last known good builds 2016-03-28 17:27:54 +00:00
eerhardt
ed887d183a Updating dependencies from last known good builds 2016-03-25 16:48:25 -05:00
Eric Erhardt
1febe48d71 Updating CoreFX version to rc2-23924 2016-03-24 16:05:24 -05:00
Eric Erhardt
a5813791d5 Updating CoreFX version to rc2-23923 2016-03-24 16:04:37 -05:00
Eric Erhardt
3186432ebd Fix up the project.json files for CoreFX build rc2-23922.
- ProjectModel uses AssemblyLoadContext which is only available in netstandard1.5. Moving ProjectModel and all its dependencies up to netstandard1.5.
- Work around our dependencies still being on old CoreFX builds by hoisting System.Runtime.Serialization.Primitives, System.Private.DataContractSerialization, System.Linq.Expressions, and System.Xml.XmlSerializer references to the current version.
2016-03-24 16:03:19 -05:00
eerhardt
9bc478660a Updating dependencies from last known good builds 2016-03-24 16:02:33 -05:00
Andrew Stanton-Nurse
43512b8973 add support for type: platform
also some refactoring of DependencyContext to properly handle
placeholders in 'runtimeTargets'.
2016-03-23 21:53:14 -07:00
moozzyk
03f5379165 Adding support for output file name for apps. 2016-03-21 12:42:31 -07:00
moozzyk
856fb8d6d9 Enable specifying output assembly name in compiler options
Addresses #1797
2016-03-21 12:42:31 -07:00
Livar
14d5dd80b0 Merge pull request #1853 from livarcocc/more_test_params
Added remaining params from https://github.com/dotnet/cli/issues/1376 and build before tests
2016-03-19 10:01:28 -07:00
Livar Cunha
8358ccb5e8 Added build before running the tests and the no-build option to opt out of it.
Added new tests to ProjectDependencyCommandResolver and new E2E tests for dotnet test.
2016-03-17 15:17:18 -07:00
Bryan Thornbury
51dcb6063f Add Portable Test Package Asset 2016-03-17 13:44:32 -07:00
Eric Erhardt
964318b291 Revert "Update the .xproj files to reference the "DotNet" targets and props instead of "DNX"."
This reverts commit 4304ca9848.
2016-03-16 11:44:09 -05:00
Livar Cunha
8d39adbdbf Modifying the reporting channels to make the AdapterChannel a client and leave the TestRunnerChannel a server. This will prevent port conflicts between dotnet test and the Adapter (VS) due to race conditions.
Added E2E tests for dotnet test interactions with an adapter (design time).
2016-03-15 15:13:54 -07:00
Eric Erhardt
4304ca9848 Update the .xproj files to reference the "DotNet" targets and props instead of "DNX". 2016-03-15 13:59:00 -05:00
eerhardt
8953400eee Updating dependencies from last known good builds 2016-03-14 17:58:13 -05:00
Andrew Stanton-Nurse
d08e83d5db add support for portable application layout 2016-03-12 11:52:29 -08:00
Troy Dai
76262b8b0a Fix build break on osx.10.11 2016-03-10 12:47:00 -08:00
Jeremy Meng
ee4bbb43ff Add support for building dotnet CLI on Debian. 2016-03-09 23:05:02 +00:00
Sridhar Periyasamy
c33c2ff127 Fix build breaks for RHEL and Windows x86. 2016-03-09 14:21:02 -08:00
Andrew Stanton-Nurse
7b84740e72 reremove net45 build from portable app test project
this somehow got restored during a bad merge, and is breaking the CI
2016-03-08 12:14:59 -08:00
Andrew Stanton-Nurse
7cc90d9ad1 Update dotnet-build to produce portable layout
dotnet-build will produce a deps file for portable builds, and will now
create "runnable" outputs for RID-less targets

the outputs won't actually be runnable today because we need corehost
changes and to generate a deps.json file for corehost to use.
2016-03-08 11:46:15 -08:00
Andrew Stanton-Nurse
444e4f9fd7 update version of nuget 2016-03-08 09:53:06 -08:00
Bryan Thornbury
b813e2b849 Fixes #1649
make things work again

fix

Tests Passing

cleanup

fix

fix
2016-03-07 14:35:41 -08:00
Pavel Krymets
1d7cff48d4 PR 2016-03-04 14:12:16 -08:00
Eric Erhardt
6468b14e1d Move to CoreFX build rc2-23901
Update .exe's project.json Target Framework from dnxcore50 to netstandardapp1.5.
Update .dll's project.json Target Framework from dnxcore50 to netstandard1.3.

Adding workaround for DataContractSerialization to src\dotnet\project.json to fix crossgen issue.
Build 23901 has a dependency issue that doesn't allow the runtime.any.System.Private.DataContractSerialization
package to be restored. When we move to a new build of CoreFX we should take this workaround out.
2016-03-03 16:41:55 -06:00
Livar Cunha
4108920510 Updating tests to use the latest version of dotnet-test-xunit, which supports debugging from VS. Also updating our xproj files so that we can build the CLI from VS using the CLI. 2016-03-01 16:28:10 -08:00
Troy Dai
268dd603cc Ensure Microsoft.CSharp reference is not duplicated 2016-02-26 15:06:39 -08:00
David Fowler
6dc5efb0e2 Merge pull request #1513 from discostu105/rel/1.0.0
Fix net20 compatibility
2016-02-24 21:41:40 -08:00
Pavel Krymets
6aeed1f52d Merge pull request #1563 from dotnet/pakrym/wrapped-project
Fix wrapped project path resolution
2016-02-24 18:21:14 -08:00
Pavel Krymets
1bfd7725b0 Fix wrapped project paht resolution 2016-02-24 16:40:22 -08:00
Pavel Krymets
334ee7829a Merge pull request #1536 from dotnet/pakrym/fix-run-tests
Fix run tests
2016-02-24 14:03:23 -08:00
Pavel Krymets
acd581c376 Merge pull request #1502 from dotnet/pakrym/dc-deps
Add support for reading DepedencyContext from deps file
2016-02-24 14:03:15 -08:00
MichaelSimons
0149f0bc72 General cleanup of the solution. Removed non-existant projects, fixed paths, removed invalid projects, etc. 2016-02-24 09:02:42 -08:00
Pavel Krymets
89cf169a08 Fix run tests 2016-02-24 08:12:32 -08:00
Pavel Krymets
62284943fc Add support for reading DepedencyContext from deps file 2016-02-23 18:16:40 -08:00
Pavel Krymets
a71112ce8f Asset refactoring and content files 2016-02-23 08:34:38 -08:00
discostu105
d0d3a629a5 added unit test. made if condition easier to understand. 2016-02-23 15:53:51 +01:00
Pavel Krymets
6ca22e4a56 Fix run behaviour when only single target exists 2016-02-22 15:11:24 -08:00
Eric Erhardt
3da5ae70e2 Remove NuGet.Config files for test projects.
Fix #1316
2016-02-18 13:03:28 -06:00
Piotr Puszkiewicz
d9b54cecac Merge branch 'PackagedCommands' of https://github.com/eerhardt/cli into eerhardt-PackagedCommands 2016-02-16 21:20:57 -08:00
Sridhar Periyasamy
735b4beb7c Merge pull request #1340 from Sridhar-MS/test-fx
[WIP]: TestFramework with support for managing test projects.
2016-02-16 16:09:09 -08:00
Pavel Krymets
4d4f5ad895 Fix pack output location 2016-02-16 13:56:07 -08:00
Sridhar Periyasamy
2a94a1e384 Merge branch 'rel/1.0.0' of https://github.com/dotnet/cli into test-fx
Conflicts:
	Microsoft.DotNet.Cli.sln
	scripts/dockerbuild.sh
	scripts/test/setup/build-test-prerequisites.ps1
	test/dotnet-build.Tests/IncrementalTestBase.cs
	test/dotnet-publish.Tests/Microsoft.DotNet.Tools.Publish.Tests.cs
	test/dotnet-publish.Tests/project.json
2016-02-12 17:26:58 -08:00
Bryan Thornbury
50ab680688 update compiler unit tests
fix rebase errors

PR Feedback

more PR feedback

fix

make new script file executable

Remove scripts from TestAppCompilationContext

add hashbang to echoscript
2016-02-12 11:37:15 -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
Sridhar Periyasamy
96e425f8bb Fix build breaks and some 'build' tests. 2016-02-11 15:55:37 -08:00
Sridhar Periyasamy
f86952cf1d Merge branch 'rel/1.0.0' of https://github.com/dotnet/cli into test-fx 2016-02-11 14:22:24 -08:00
Andrew Stanton-Nurse
236fcd8f95 update everyone to 23811
add a little hackiness to the build script to use 23811 in the stage 0 as well
2016-02-11 10:38:59 -08:00
Pavel Krymets
4462dc21f8 Do not search for runtime output in dependencies 2016-02-10 15:20:08 -08:00
Eric Erhardt
5d04ca1fe3 Move PackagedCommands to TestAssets.
Convert package-command-test.ps1 to an XUnit test.
2016-02-10 15:05:25 -06:00
Eric Erhardt
74d8051f79 Bump CoreFx to rc2-23810 2016-02-10 13:50:28 -06:00
Sridhar Periyasamy
d1d14283a1 TestFramework with support for managing test projects.
The CLI tool's tests are run against sample test projects for validation.
TestFramework provides an easy way to manage these sample test projects.

Converted the publish test to use the TestFramework.
2016-02-10 00:21:19 -08:00
Piotr Puszkiewicz
48797ea80a Bump CoreFx to rc2-23808
Workaround for issue 1294

Improve crossgen notifications
2016-02-09 15:49:45 -08:00
Eric Erhardt
199093b09c Merge pull request #1330 from eerhardt/TestProjectMove
Move OutputStandardOutputAndError test project with the other test projects.
2016-02-09 17:48:34 -06:00
Eric Erhardt
10b6191b3e Move OutputStandardOutputAndError test project with the other test projects.
Partial #1250
2016-02-09 16:51:02 -06:00
Pranav K
1d25d2574d Fix the paths at which CompileContext locates resgen outputs.
Fixes #1136
2016-02-09 14:29:25 -08:00
Eric Erhardt
3d14caceff Test directory refactoring step 1.
Moving TestProjects and TestPackages under root 'TestAssets' folder.

Partial fix #1250
2016-02-08 20:35:22 -06:00