Skip to content
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

PVP flow support #15267

Merged
merged 10 commits into from
Jan 17, 2023
Merged

PVP flow support #15267

merged 10 commits into from
Jan 17, 2023

Conversation

mmitche
Copy link
Member

@mmitche mmitche commented Jan 12, 2023

Ported changes from work done in the VMR.

This change supports the ability to have PVP flow for source build. This means that repo builds only receive the versions of packages they actually have dependencies on. This setting may be enabled per repo in the repo projects via setting PackageVersionPropsFlowType to 'DependenciesOnly'.

To support this, we need to make a few changes:

  • The previously source-built packages must be written per repo
  • The current source-built packages must be written per repo.
  • The build input props task must be updated to support the two flow types.

Package version props creation has been changed to write a per-repo props file in all cases, even if there is no filtering. This required a bit of refactoring overall. However, when De0endenciesOnly is not enabled, build behavior not changed.

Ported changes from work done in the VMR.

This change supports the ability to have PVP flow for source build. This means that repo builds only receive the versions of packages they actually have dependencies on. This setting may be enabled per repo in the repo projects via setting PackageVersionPropsFlowType to 'DependenciesOnly'.

To support this, we need to make a few changes:
- The previously source-built packages must be written per repo
- The current source-built packages must be written per repo.
- The build input props task must be updated to support the two flow types.

Package version props creation has been changed to write a per-repo props file in all cases, even if there is no filtering. This required a bit of refactoring overall. However, when De0endenciesOnly is not enabled, build behavior not changed.
@mmitche mmitche requested a review from a team as a code owner January 12, 2023 18:22
mmitche and others added 6 commits January 13, 2023 10:51
…eBuild.Tasks.XPlat/WriteBuildInputProps.cs

Co-authored-by: Michael Simons <msimons@microsoft.com>
…eBuild.Tasks.XPlat/WriteBuildInputProps.cs

Co-authored-by: Michael Simons <msimons@microsoft.com>
…eBuild.Tasks.XPlat/WriteBuildInputProps.cs

Co-authored-by: Michael Simons <msimons@microsoft.com>
…eBuild.Tasks.XPlat/WriteBuildInputProps.cs

Co-authored-by: Michael Simons <msimons@microsoft.com>
@mmitche
Copy link
Member Author

mmitche commented Jan 13, 2023

Responded to feedback. Confirmed that the output artifacts tarball still contains PackageVersions.props

…eBuild.Tasks.XPlat/WritePackageVersionProps.cs

Co-authored-by: Michael Simons <msimons@microsoft.com>
Copy link
Member

@MichaelSimons MichaelSimons left a comment

Choose a reason for hiding this comment

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

One minor cleanup change. Rest looks good.

…eBuild.Tasks.XPlat/WritePackageVersionProps.cs

Co-authored-by: Michael Simons <msimons@microsoft.com>
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.

2 participants