Skip to content

Sdk resolver updates#5269

Merged
dsplaisted merged 23 commits intodotnet:vs16.7from
dsplaisted:sdk-resolver-updates
Jun 10, 2020
Merged

Sdk resolver updates#5269
dsplaisted merged 23 commits intodotnet:vs16.7from
dsplaisted:sdk-resolver-updates

Conversation

@dsplaisted
Copy link
Copy Markdown
Member

Add more abilities to SDK resolvers

  • Return any number of paths (zero, one, or many) in a successful result
  • Return MSBuild items and properties to add to the evaluation result

Resolves #5239

@wli3
Copy link
Copy Markdown

wli3 commented Apr 16, 2020

test?

@dsplaisted
Copy link
Copy Markdown
Member Author

test?

It's still a draft :-)

@dsplaisted
Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines
Copy link
Copy Markdown

Pull request contains merge conflicts.

ITranslator methods now take an ObjectTranslator delegate which can
translate an object in both directions, as opposed to requiring that
objects implement ITranslatable and that a factory be passed in.

The TranslatorHelpers class includes extension methods which support
the old APIs, so call sites that use ITranslatable objects and
NodePacketValueFactory still work.
- Return any number of paths (zero, one, or many) in a successful result
- Return MSBuild items and properties to add to the evaluation result

Resolves dotnet#5239
This helps support local dev cycles consuming those packages
@dsplaisted dsplaisted force-pushed the sdk-resolver-updates branch from 48fe2e1 to 1c0fba7 Compare April 23, 2020 00:31
@dsplaisted dsplaisted changed the base branch from master to vs16.7 April 23, 2020 00:31
@dsplaisted dsplaisted marked this pull request as ready for review May 7, 2020 01:42
@dsplaisted
Copy link
Copy Markdown
Member Author

@rainersigwald @Forgind @benvillalobos I think this is basically ready for review. I think I still need to update the XML documentation for the new and refactored APIs, but otherwise this should be ready.

Copy link
Copy Markdown
Member

@rainersigwald rainersigwald left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Haven't looked at tests in detail yet. This seems generally ok to me, though.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add a test for this where the resolver produces some horrible special-character nonsense?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are there any existing tests for horrible special characters that I can get the nonsense from? :-)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

src\Build.UnitTests\EscapingInProjects_Tests.cs has a bunch related to tasks.

Returning properties/items/metadata with %-followed-by-two-digits and validating it doesn't get unescaped is probably sufficient.

@dsplaisted dsplaisted force-pushed the sdk-resolver-updates branch from c9d0b11 to 86b98c7 Compare May 21, 2020 06:01
Copy link
Copy Markdown
Contributor

@Forgind Forgind left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mostly looked at tests, although I didn't understand all of them. Looks good to me.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

src\Build.UnitTests\EscapingInProjects_Tests.cs has a bunch related to tasks.

Returning properties/items/metadata with %-followed-by-two-digits and validating it doesn't get unescaped is probably sufficient.

@dsplaisted dsplaisted force-pushed the sdk-resolver-updates branch 2 times, most recently from 1b1c52c to 75b8f4f Compare June 5, 2020 00:07
@dsplaisted dsplaisted force-pushed the sdk-resolver-updates branch from 75b8f4f to e804355 Compare June 5, 2020 18:04
@dsplaisted
Copy link
Copy Markdown
Member Author

@rainersigwald @Forgind I think I've addressed all the feedback and this is ready to merge. I'd appreciate a signoff. Thanks!

@dsplaisted dsplaisted merged commit 392d4b6 into dotnet:vs16.7 Jun 10, 2020
@rainersigwald
Copy link
Copy Markdown
Member

@dsplaisted did this merge to 16.7 for a specific reason? Most of our development is in master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add features to MSBuild SDK Resolver interface to support optional SDK workloads

4 participants