-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Double Evaluation Fix #2595
Double Evaluation Fix #2595
Commits on Oct 6, 2017
-
Get properties for ProjectReference in parallel
In order to avoid batching the _GetProjectReferenceTargetFrameworkProperties target for each reference, the ProjectReference protocol can be amended to return an item from GetTargetFrameworkProperties instead of a semicolon-delimited list of key-value pairs. This allows a single build request to be sent to the engine, and allows resolving references in parallel on multiprocess builds.
Configuration menu - View commit details
-
Copy full SHA for ba8fca1 - Browse repository at this point
Copy the full SHA ba8fca1View commit details -
Backward compat for GetTargetFrameworkProperties
The previous commit is a breaking change to the ProjectReference protocol, requiring a .NET Core SDK change to return the now-expected structured data rather than the old semicolon-delimited string. That means, for example, that MSBuild v15.5 couldn't build a solution containing a full framework project that referenced a .NET Core SDK 2.0.0 project. To avoid this, reconstruct the new structured data from the old return value: * Allow the MSBuild engine to split the returned value on `;` and return multiple values. * Batch over metadata common to those values to reconstruct a single item with the complete string return value. * Parse that string into structured metadata on a single item, as though the project had returned a single item with metadata. * Remove the now-redundant individual-valued items. * Continue as before with adjusting the reference items based on the metadata.
Configuration menu - View commit details
-
Copy full SHA for ff79ea2 - Browse repository at this point
Copy the full SHA ff79ea2View commit details -
Clarify existing ProjectReference protocol returns
In preparation for describing the changes to return values I'd like to make, I need to document what the old ones were.
Configuration menu - View commit details
-
Copy full SHA for 8729689 - Browse repository at this point
Copy the full SHA 8729689View commit details -
Document new GetTargetFrameworkProperties return
Document the more-succinct-but-compatibility-breaking single-item-with-metadata return possibility for GetTargetFrameworkProperties.
Configuration menu - View commit details
-
Copy full SHA for 984f381 - Browse repository at this point
Copy the full SHA 984f381View commit details -
Configuration menu - View commit details
-
Copy full SHA for c36bfb3 - Browse repository at this point
Copy the full SHA c36bfb3View commit details
Commits on Oct 7, 2017
-
Identify inner-build in consuming project
* Call GetTargetFrameworks target to identify target frameworks in referenced projects. Since TargetFrameworks is not set, this will avoid a 2nd evaluation when the project single targets. * Adds dependency on NuGet AssignReferenceProperties task.
Configuration menu - View commit details
-
Copy full SHA for bb44739 - Browse repository at this point
Copy the full SHA bb44739View commit details
Commits on Oct 10, 2017
-
Configuration menu - View commit details
-
Copy full SHA for f066173 - Browse repository at this point
Copy the full SHA f066173View commit details -
Configuration menu - View commit details
-
Copy full SHA for caf92b2 - Browse repository at this point
Copy the full SHA caf92b2View commit details
Commits on Oct 11, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 62094fd - Browse repository at this point
Copy the full SHA 62094fdView commit details -
Doesn't look like the package is signed so this likely won't work.
Configuration menu - View commit details
-
Copy full SHA for 21b9a95 - Browse repository at this point
Copy the full SHA 21b9a95View commit details -
Add NuGet ImportAfter targets to bootstrapped build
This is needed to get the import to get the automatic import of NuGet.targets.
Configuration menu - View commit details
-
Copy full SHA for 15afc90 - Browse repository at this point
Copy the full SHA 15afc90View commit details -
Configuration menu - View commit details
-
Copy full SHA for 00e2059 - Browse repository at this point
Copy the full SHA 00e2059View commit details -
Preserve project references that opt-out
Projects that opt-out of GetTargetFrameworks must be preserved (e.g. C# -> C++ references).
Configuration menu - View commit details
-
Copy full SHA for e3ee36f - Browse repository at this point
Copy the full SHA e3ee36fView commit details