From 0931c347eb836c9da94d0d5ff9ad7a14403b9738 Mon Sep 17 00:00:00 2001 From: "Eric St. John" Date: Sun, 18 Oct 2015 21:12:23 -0700 Subject: Switch from using "dotnet" to using "dotnet" All projects that previously used dotnet have been updated to specify the appropriate generation of the surface area they depend on or in the case of desktop inbox contracts, the generation that includes the set of platforms they can support. Now all packages contain all generations of API that they have ever shipped. In doing this I needed to change how we determine package version. Before we ensured all assemblies would have the same version and used that. Now we choose the max. Additionally I needed to change how we chose which asset to use for netcore50 when the dotnet asset was obscured by a placeholder for a previous netcore release (eg System.Runtime will have placeholders for Win8 since it was inbox there). To do this I wrote a task that uses nuget to evaluate the package assets with and without the placeholders. In this way it chooses the "best" dotnet implementation and reference assembly to use for netcore50. This new model made my old MSBuild-based validation impossible to carry forward, so I wrote better validation in a task that actually uses Nuget's asset resolution algorithm. This uncovered many existing issues in packages that I have cleaned up. The validation algorithm could use some polish but its working now. Perf is not great, package build went from 15s to ~2 minutes. I'll work on this some more by making it incremental (input: nuspec, output: marker created on success). Profiling shows that most of the time is spent in calling the nuget APIs. I'll see if I can reduce some of this with caching for things that don't change (eg: RID graph). Ultimately I think its a reasonable tradeoff for the types of bugs I can find this way. [tfs-changeset: 1539216] --- .../ref/System.Runtime.WindowsRuntime.csproj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/System.Runtime.WindowsRuntime/ref/System.Runtime.WindowsRuntime.csproj') diff --git a/src/System.Runtime.WindowsRuntime/ref/System.Runtime.WindowsRuntime.csproj b/src/System.Runtime.WindowsRuntime/ref/System.Runtime.WindowsRuntime.csproj index ca4e62d2e5..605d38078e 100644 --- a/src/System.Runtime.WindowsRuntime/ref/System.Runtime.WindowsRuntime.csproj +++ b/src/System.Runtime.WindowsRuntime/ref/System.Runtime.WindowsRuntime.csproj @@ -1,4 +1,4 @@ - + @@ -15,6 +15,7 @@ 1698 4.0.11.0 Library + dotnet5.3 -- cgit v1.2.3