Commit graph

187 commits

Author SHA1 Message Date
Eric Erhardt
d98c1f8724 dotnet build raises errors MVC apps target net46.
The issue is when the ProjectContextBuilder sees a CompileTimePlaceholder "_._" file on a full framework, it assumes that dependency has to come from the "Reference Assemblies" directory.  If it can't be found there, an error is raised.  However, there are other reasons "_._" placeholders are created (when a NuGet package doesn't want its dependencies to be exposed in the Compile dependencies of its consumers). And these placeholders can exist for assemblies that aren't in the full framework - in this case System.Diagnostics.FileVersionInfo and others.

To fix this, if the reference can't be resolved from the "Reference Assemblies" folder, it is just skipped. If the compiler really needs that assembly, it will raise an error to the user.  Dotnet build shouldn't raise the error.

Fix #2906
2016-05-06 14:32:50 -05:00
Bryan Thornbury
f538c4f19f Move to P2P references all over the place 2016-05-05 17:21:27 -07:00
Piotr Puszkiewicz
3e96a05f9c Merge pull request #2781 from dotnet/brthor/2760
fixes #2760
2016-05-03 15:15:42 -07:00
Eric Erhardt
58fa6721b8 Merge pull request #2842 from eerhardt/UpdateRoslyn
Update Roslyn to 1.3.0-beta1-20160429-01
2016-05-03 15:57:33 -05:00
Piotr Puszkiewicz
a2139324f0 Merge pull request #2822 from dotnet/ajbaaska/default-builtin-fix
Fix: builtIn defaults are not used when builtIn is not specified
2016-05-03 13:46:38 -07:00
Bryan Thornbury
25335d20fe PR Feedback 2016-05-03 13:30:59 -07:00
Bryan
a25e92208e fixes #2760
Verify coreclr absence/presence depending on app type during dotnet build.
2016-05-03 11:34:56 -07:00
Eric Erhardt
ff06227e50 Update Roslyn to 1.3.0-beta1-20160429-01 2016-05-03 13:21:26 -05:00
Pavel Krymets
eb32a40ea2 Deduplicate libraries 2016-05-03 09:54:50 -07:00
Andrew Stanton-Nurse
08c4aae6a9 trim build dependencies from output 2016-05-02 19:51:12 -07:00
Eric Erhardt
9a85205781 Merge pull request #2792 from eerhardt/Relative
Execute 'csc' with working directory set to the project directory.
2016-05-02 18:53:57 -05:00
Ajay Bhargav Baaskaran
d6d103262d Fix: builtIn defaults are not used when builtIn is not specified 2016-05-02 14:21:02 -07:00
Pavel Krymets
dc249cb94b Move efs to shared runtime 2016-05-02 09:36:02 -07:00
Eric Erhardt
f2d917ed2e Execute 'csc' with working directory set to the project directory.
When using a ruleset with a relative path in buildOptions, csc can't
find the file because it is not working in the same directory as the
project.

Fix #2710
2016-05-01 22:46:03 -05:00
Pranav K
2ddd3ca9a0 Updating to latest dotnet-test-xunit 2016-04-30 18:25:11 -07:00
Pranav K
f8631fa4b7 Merge pull request #2747 from dotnet/prkrishn/remove-platformabstractions
Replaces references to Microsoft.Extensions.PlatformAbstractions
2016-04-29 17:54:22 -07:00
Piotr Puszkiewicz
ce3eed0306 Revert "Add performance tests" 2016-04-29 16:35:27 -07:00
Pranav K
1e753f7781 Replaces references to Microsoft.Extensions.PlatformAbstractions with Microsoft.Extensions.PlatformAbstractions.Internal 2016-04-29 16:06:23 -07:00
Pavel Krymets
dfa071de21 Merge pull request #2663 from dotnet/pakrym/perf-tests
Add performance tests
2016-04-29 11:18:50 -07:00
Pavel Krymets
1104e56895 Rebase 2016-04-29 09:09:23 -07:00
Andrew Stanton-Nurse
b98bc1289d abort build when an unresolved dependency is found (#2696) 2016-04-28 10:02:05 -07:00
Eric Erhardt
a9621eb469 Merge pull request #2717 from eerhardt/Spaces
dotnet build fails with xmlDoc = true and spaces in the path.
2016-04-27 20:36:36 -05:00
Eric Erhardt
5c6bf47e10 Address PR feedback. 2016-04-27 17:23:28 -05:00
Eric Erhardt
2ed81240fa dotnet build fails with xmlDoc = true and spaces in the path.
Need to quote the xmlDoc argument to the csc compiler.

Fix #2600
2016-04-27 15:43:12 -05:00
Ajay Bhargav Baaskaran
44fd8bc2de Updated ProjectModel
- Added PackOptions, RuntimeOptions, PublishOptions and updated CompilationOptions
 - Added IncludeFilesResolver to parse include, exclude patterns
 - Added compile, embed and copyToOutput to compilationOptions
 - Renamed compilationOptions to buildOptions
 - Moved compilerName into buildOptions
 - This change is backwards compatible
 - Added warnings to be shown when the old schema is used
 - Handled diagnostic messages in ProjectReader
 - Added unit and end to end tests
2016-04-27 11:49:44 -07:00
Pavel Krymets
366bad99ac Add performance tests 2016-04-27 08:41:22 -07:00
eerhardt
f8a155a4e6 Updating CoreFx to rc2-24027 2016-04-27 05:41:53 +00:00
Eric Erhardt
c60abb0d0a Adding a dotnet run test that outputs unicode characters. 2016-04-26 09:36:26 -05:00
Bryan Thornbury
7a7b524b34 add tests for a test app with unicode characters in the path 2016-04-26 09:36:25 -05:00
Mihai Codoban
91fb67835d Merge pull request #2619 from cdmihai/cdmihai/globChangeDetectionRelMerge
Cache inputs for globbing change detection
2016-04-25 09:32:24 -07:00
Pranav K
4e496c3523 Modify dotnet-test to run testRunner for all tfms
Fixes #2506
2016-04-22 16:40:03 -07:00
Mihai Codoban
a3b7c85451 Add input caching for glob change detection 2016-04-22 16:05:50 -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
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