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

[vcpkg] Add versions feature flag and version field manifest parsing #14079

Merged
merged 2 commits into from
Oct 21, 2020

Conversation

ras0219
Copy link
Contributor

@ras0219 ras0219 commented Oct 15, 2020

  • Introduce FeatureFlagSettings struct to more easily access feature flags throughout the program
  • To avoid users accidentally starting to write "version" instead of "version-string" in their manifests, vcpkg explicitly detects and prevents usage of ports with schemes other than "String"

Example output when changing abseil's field to just "version":

PS C:\src\vcpkg> ./vcpkg install abseil
Computing installation plan...
Error: while loading port `abseil`: Port definition rejected because the `versions` feature flag is disabled.
This can be fixed by using the "version-string" field.
  • Drive-by fix of copiable SourceControlFileLocation and an exposed use-after-move bug

This code is largely extracted from PR #13777

* Introduce FeatureFlagSettings struct to more easily access feature flags throughout the program
* To avoid users accidentally starting to write "version" instead of "version-string" in their manifests, vcpkg explicitly detects and prevents usage of ports with schemes other than "String"
* Drive-by fix of copiable SourceControlFileLocation and an exposed use-after-move bug

This code is largely extracted from PR microsoft#13777

Co-authored-by: Victor Romero <romerosanchezv@gmail.com>
@PhoebeHui PhoebeHui added category:vcpkg-feature The issue is a new capability of the tool that doesn’t already exist and we haven’t committed info:internal This PR or Issue was filed by the vcpkg team. labels Oct 16, 2020
@vicroms
Copy link
Member

vicroms commented Oct 19, 2020

Are you adding versioning scheme validation in this PR?
E.g.: version-dates follows the date format described in the spec, etc.

@vicroms
Copy link
Member

vicroms commented Oct 20, 2020

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@ras0219
Copy link
Contributor Author

ras0219 commented Oct 21, 2020

I omitted it from this PR for simplicity

@ras0219-msft ras0219-msft merged commit 291df75 into microsoft:master Oct 21, 2020
strega-nil pushed a commit to strega-nil/vcpkg that referenced this pull request May 5, 2021
microsoft#14079)

* [vcpkg] Add `versions` feature flag and version field manifest parsing

* Introduce FeatureFlagSettings struct to more easily access feature flags throughout the program
* To avoid users accidentally starting to write "version" instead of "version-string" in their manifests, vcpkg explicitly detects and prevents usage of ports with schemes other than "String"
* Drive-by fix of copiable SourceControlFileLocation and an exposed use-after-move bug

This code is largely extracted from PR microsoft#13777

Co-authored-by: Victor Romero <romerosanchezv@gmail.com>

* [vcpkg] Address CR Comments. Fix test crash on Linux.

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Victor Romero <romerosanchezv@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:vcpkg-feature The issue is a new capability of the tool that doesn’t already exist and we haven’t committed info:internal This PR or Issue was filed by the vcpkg team.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants