Skip to content

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

Merged
ras0219-msft merged 2 commits intomicrosoft:masterfrom
ras0219:dev/roschuma/versioning
Oct 21, 2020
Merged

[vcpkg] Add versions feature flag and version field manifest parsing#14079
ras0219-msft merged 2 commits intomicrosoft:masterfrom
ras0219:dev/roschuma/versioning

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 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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants