The `$id` fields in all JSON schemas were wrongly referring to a
non-existent `master` branch. This isn't too bad because GitHub has some
magic to fall back to the default branch when non-existent `master`
branches are requested, but it is still incorrect. Fix it.
* Accept arbitrary version formats in overrides.
We accidentally implemented the overrides deserializer to reject non-relaxed-versions in "overrides", despite the original intent that overrides are scheme-less. Note how the original schema:
https://github.com/microsoft/vcpkg-tool/pull/1209
, and original documentation:
https://github.com/microsoft/vcpkg-docs/pull/159
said everything should be accepted here.
Also fix our example printing when we're asking users to add overrides to ensure it is valid JSON.
* Implement preferring putting the port-version into the version text.
* Rename GenericVersionDeserializer to BaselineVersionTagDeserializer.
* Add name, synopsis, and example information to CommandMetadata.
* Clean up needing to make thunks for all help text in command metadata machinery.
* Power autocomplete and help with the same tables that power command lookup. Resolves this line item first discovered in https://github.com/microsoft/vcpkg-tool/pull/1164
* Improve help by printing synopsis and grouped examples powered by CommandMetadata.
* Update the main usage to make sure every relevant command is included.
* Add website link to all help commands.
* split rarely used and artifacts into separate `vcpkg help commands` from @ras0219-msft
* make tense for all synopsis and argument help text consistent from @ras0219-msft
* burninate 'instead of' and 'writes out'
* Deduplicate the all commands help topic and remove 'vcpkg' from 'vcpkg help blah'.
* Break the txtgen dependency by deleting a test that did nothing.
* Remove the rush dependency and just use npm instead. (Local dev only)
* Wire up npm only mechanisms to PR and signing builds.
* clang-format fix and run
* Fixup PRDiff and signing.yml.
* Chalk is not a dev-dependency.
* Include the SHA in the nuget package name.
* clang-format again
* Add extracting the artifacts parts from the standalone bundle.
* CR comments:
* Don't deploy the mocha file into the signed build
* Use raw uri in tsconfig
* Use npm ci rather than npm install
* CR comments:
* Don't deploy the mocha file into the signed build
* Use raw uri in tsconfig
* Use npm ci rather than npm install
* Fix amd64s I missed.
* Allow use to stack on use and activate, but not vice versa.
Resolves https://github.com/microsoft/vcpkg/issues/29978
Also adds the ability to e2e test any artifacts things.
Also gets rid of duplicate definition of Record.
Also removes meaningless --project switch from deactivate.
Also localizes error and warning in artifacts messages.
Also warns if the user ran just the exe and we're doing something that needs the postscript file.
Also applies changes from vcpkg-init.ps1 to vcpkg-in-development.ps1.
https://github.com/microsoft/vcpkg/pull/28350 deleted these files without replacement on "learn" because they are internal-to-the-vcpkg-team docs, so they really belong here in the tool repo anyway.
* Update in-tool URLs
* Apply suggestions from code review
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* clang-format
---------
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
* Add parsing of artifact aquistion tags, and remove unconnected "global" settings block.
Drive by fix test harness console spew.
* Delete unused whatIf switch.
* Add acquire and acquire-project commands.
* Inline activateProject into activate, simplify the return type of acquireArtifacts.
* Implement the --tags command line switch.
* Implement the actual acquisition tags feature.
* Revert the actual acquisition tags feature.
* Add msbuild-specific exports to artifacts, as requested by Olga.
* Fix recent-ish regression that broke reading files without options blocks.
* Change $(ROOT) to $root$ and remove trailing slash.
* Delete labels, and don't emit things other than 'msbuildproperties' for now.
* Fix test name :)
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* 😅
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* Add XML special chars test.
* Use curly replacements rather than hard coding $root$ as requested by Robert.
* Add more tests demonstrating that the code is correct.
* Fix nuget comment
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* Make mismatched {}s illegal.
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
* Initial add of schemata from back in October.
* * Alphabetize definitions.
* Update to json-schema draft 7. This is the latest version that VS Code understands out of the box without errors.
* Fix the version and version-semver entries to use correct semver suffixes
* Allow 'maintainers' to be a string.
This was tested against everything in the vcpkg curated catalog with 3 minor fixes here: https://github.com/microsoft/vcpkg/pull/25939
* Delete dev-dependencies since it doesn't do anything.
* Suck out all common definitions into a referenced schema.
* Commonize 'maintainers'.
* Add how to validate notes.
* Artifacts don't implement version-string, version-date, or version-semver yet.
* More fixes for artifact schema.
* Delete "espidf" option from git installers since it is unreferenced.
* Artifacts done except exports.
* Remove "contents" from "exports" because it is unreferenced.
* Finish artifact schema.
* Don't allow 'apply' or 'unless' in metadata files since apply is unreferenced and unless was removed.
* Last fixups for vcpkg-configuration.json.
* Use enum rather than pattern. Drive by fix command line demo.
* Remove no empty artifact references constraint. ( https://github.com/microsoft/vcpkg-tool/pull/650#discussion_r939058136 )
* Ensure comments are allowed in all object-like places. https://github.com/microsoft/vcpkg-tool/pull/650#discussion_r939068276
* Docs nitpicks.
* Add ^$s to all the regexes.
* Allow naming port-version in overrides.
* Fix "ref" -> "reference" https://github.com/microsoft/vcpkg-tool/pull/650#discussion_r939427544
* Clarify when packages is allowed in registry lists.
* Try to help out intellisense in install blocks.
* Help out intellisense with registries.
* Make name and version optional in vcpkg.json.
* Whoops, default registries shouldn't have packages.
* - Localization of strings in binarycaching.cpp
- Sorted Declared/Registered messages in alphabetical order.
* - Response to PR comments.
Removed HelpTableFormat message. The HelpTableFormatter needs to be updated to require LocalizedString as input. I intend to do this work in a separate PR.
* Removed repetitive message
* Update locales/messages.en.json
Co-authored-by: Victor Romero <romerosanchezv@gmail.com>
* Update src/vcpkg/binarycaching.cpp
Co-authored-by: Victor Romero <romerosanchezv@gmail.com>
* Update src/vcpkg/binarycaching.cpp
Co-authored-by: Victor Romero <romerosanchezv@gmail.com>
* Update src/vcpkg/binarycaching.cpp
Co-authored-by: Victor Romero <romerosanchezv@gmail.com>
* Update src/vcpkg/binarycaching.cpp
Co-authored-by: Victor Romero <romerosanchezv@gmail.com>
* Update src/vcpkg/binarycaching.cpp
Co-authored-by: Victor Romero <romerosanchezv@gmail.com>
* Moving declared messages to messages.h and registering in messages.cpp.
* Add message to ReplaceSecretsError
* Moved localized messages from commands.generate-messages.cpp to messages.h/cpp
* Moved localized messages from commands.update-baseline.cpp to messages.h/cpp
* Moved localized messsages from commands.version.cpp to messages.h/cpp
* Moved localized messages from configuration.cpp to messages.h/cpp
* Moved localized messages from configure-environment.cpp to messages.h/cpp
* Moved localized messages from dependencies.cpp and install.cpp to message.h/cpp
* Moved localized messages from paragraphs.cpp and sourceparagraph.cpp to messages.h/cpp
* Moved localized messages from versions.versions.cpp, visualstudio.cpp, and vcpkg.cpp to messages.h/cpp
* Moved localized messages from files.cpp, git.cpp, hash.cpp, vcpkgpaths.cpp, checks.cpp, and downloads.cpp to messages.h/cpp
* Moved localized messages from system.cpp, strings.cpp, system.process.cpp, cmakevars.cpp, commands.ci.cpp, install.cpp, packagespec.cpp, portfileprovider.cpp, registries.cpp, tools.cpp, and main.cpp to messages.h/cpp
* Sort registered messages
* Sorted declared messages.
* Grammar fixes
* Update documentation
* Moved localized messages from binarycaching.cpp to messages.h/cpp
* Sort message declarations
* Sort messages
* Typo Fix
* update json
* resolve conflict
* Add missing namespace
* Remove DECLARE_AND_REGISTER_MESSAGE since it will no longer be used.
* - Added DECLARE_AND_REGISTER_MESSAGE
- Fuzz help messages need to be unlocalized. This change will occur in another print
- Moved localized messages from messages.h/cpp to main.cpp
- Messages need to be unlocalized.
Co-authored-by: Javier Matos <Javiermat@microsoft.com>
Co-authored-by: Victor Romero <romerosanchezv@gmail.com>
I believe appendnl hails from a time when we thought we were going to be much more rigid about manipulation of LocalizedStrings as tokens. There are localized strings which themselves contain newlines. There are also formatted data strings, such as error message blocks join'd with \n, that we need to insert into localized messages. We also aren't likely to ever want to change our newlines to \r\n or something like that :)
To that end, I think both original reasons for this to exist are gone, and it should go away.
I think we should go all the way to removal rather than only removing the guidelines about it, because I think we, and contributors, will be confused if it exists and is relatively meaningless in the same way that people are confused (and use) std::endl today. The fact is that newlines aren't special in our LocalizedString structures, and we should be honest about that in our design.
Contrast/note: append_indent must stay, and we must add a plain std::string version of that, to ensure consistency in how we handle indenting, as this is likely to be actually ambiguous (as opposed to newlines which are always and forever \n in vcpkg).