Scripts Tree Extraction

Note: this is the feature as it was initially specified and does not necessarily reflect the current behavior.

Background

We extracted vcpkg-tool as part of a future wherein Registries are the primary mechanism for interacting with the ports tree, which would allow the vcpkg tool and associated artifacts to be deployed and figure the rest out on their own. Unfortunately, we have concurrently edited things in the so called "scripts" tree which lives in support of ports but really probably belongs in the vcpkg-tool repo.

Moreover, as part of stabilizing registries, the interface exposed by the scripts tree becomes contractual rather than something we can change in concert with ports, since we can no longer see the universe of ports to validate that changes are correct.

To that end we are auditing the contents of the scripts tree to make sure it is a solid foundation for future work.

The work list is contained in Issue #16188.

Audit Points

The following are assertions we want to be able to make about the contents of the scripts tree. Note that this does not refer to vcpkg.cmake since that needs to work with older versions of cmake.

These are design ideals that we may break in some limited cases where that makes sense.

Naming Variables

Prognosis

Not everything should remain in the scripts tree. As part of this audit, each helper will be dealt with in one of several ways: