Commit graph

28 commits

Author SHA1 Message Date
Pranav K
734c9fc43b Copy FileSystemGlobbing and HashCodeCombiner sources 2016-04-29 17:55:06 -07:00
Eric Erhardt
77da06b392 Remove JsonParser dependency 2016-04-28 21:14:45 -05: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
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
Troy Dai
e176c1d3b9 Remove fragment file's involvement in design time scenarios 2016-03-31 13:57:36 -07:00
Mihai Codoban
d20e0d74f2 LockFilePatcher should only patch when lock file has holes in it
If not, the export file is stale
2016-03-30 19:24:43 -07:00
Mihai Codoban
b2aae7546a Add lock file patching tests 2016-03-30 19:24:43 -07:00
Mihai Codoban
ca2707292e Add MSBuildProjectDescription 2016-03-30 19:24:43 -07:00
Mihai Codoban
06ff80392e Patch Lock File with export file 2016-03-30 19:24:43 -07:00
Mihai Codoban
552ac6282f Update lock file format
project libraries can have a msbuildProject element
2016-03-30 19:24:43 -07: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
Troy Dai
a50a5a9d73 Retry when lock file is occupied by other process 2016-03-10 11:46:52 -08:00
Pavel Krymets
9631ba8927 Generate actual deps.json file 2016-03-09 14:11:43 -08:00
Pavel Krymets
dd3c0f50db Add reference assemblies and runtime targets support to dependency context builder. 2016-03-08 12:03:10 -08:00
Pavel Krymets
a71112ce8f Asset refactoring and content files 2016-02-23 08:34:38 -08:00
David Fowler
302a9e84f7 This change mimics the nuget lock file generation logic 2016-02-15 20:57:49 -08:00
David Fowler
00e3c25bb3 Fix lock file check so that warnings don't keep popping up 2016-02-15 19:17:21 -08:00
Troy Dai
b9f2d8fe3d Fix projectmodel-server regression
1. Address the null reference exception when a project dependency is
broken.
2. Address the duplicate key issues after the logic of redirecting
System pacage to reference assembly was added

Update projectmodel-server and tests

1. Fix test timeout caused by undisconnected socket;
2. Update project model server
2016-02-02 22:26:16 -08:00
David Fowler
2807db8044 Auto reference facades in the common cases
- There are 2 major cases to auto reference facades:
1. When using a netstandard/dotnet* based package on a platform where the System.* packages don't provide any compilation assemblies.
2. When referencing a PCL where no dependencies were specified in the nuspec.
- For 1, we handle it by replacing package references with reference assemblies if possible. For 2. We turn assembly references of PCL assemblies into package dependencies.
This should cover the 90% case where people had to manually reference facades anytime they wanted to use a PCL on Net4.x.

TODO: P2P PCL references

#164
2016-01-24 11:05:31 -08:00
Andrew Stanton-Nurse
43d57e438e adjust lock file check to handle NuGet-style lock file
fixes #970
2016-01-22 10:22:53 -08:00
Mihai Codoban
0ddf493f1d ProjectContext provides access to Lockfile; Lockfile knows its path 2016-01-20 16:06:00 -08:00
piotrp
08dd628172 create dotnet-restore.exe 2016-01-06 01:46:10 -08:00
piotrp
bf2583c1a6 Fix Microsoft.DotNet.ProjectModel namespace 2015-11-27 16:19:54 -08:00
PiotrP
e839b4debb Update Copyright headers in all source files. 2015-11-16 19:47:43 -08:00
David Fowler
df3a5fba7a First pass at dotnet-pack
- Ported nuget package building code over from dnu. Moved that code to use NuGet v3 primitives.
- Simplified the package builder API
- Left out resources and schema detection for now
- This folder should remain self contained as the code will be copied into NuGet v3.
- Missing features include symbols packages
2015-11-15 09:12:48 -08:00
David Fowler
b343d121a3 Show more dependency warnings
- Show version conflicts
- Fixed the formatting of version ranges
- Fixed conflicts found in the cli
2015-11-08 09:52:28 -08:00
David Fowler
b334c8f28c Fixed a few issues with lock file check
- Normalize version for comparison
- Change dnu restore to dotnet restore in
error message
2015-11-07 02:24:53 -08:00
David Fowler
f98159b3bb Renamed ProjectModel project
- Microsoft.Extensions.ProjectModel -> Microsoft.DotNet.ProjectModel
2015-10-29 00:15:12 -07:00