I'm working on a simple GUI for vcpkg, just to make my life easier (not that vcpkg is difficult to use). I want to list all the available packages, and I have a problem parsing vcpkg search --x-full-desc output, as well as vcpkg search. It's because of the lack of unambiguous delimiters, and also because some packages are missing version number. Is there a way to get this list in a more computer-friendly form? Perhaps, parse some file within vcpkg installation folder instead of parsing vcpkg search output?
Thanks for the suggestion!
I'd love to have a mode that outputs in a machine friendly format (--xml?). I think this would be better than trying to "track" vcpkg's parser for the control files.
I'd be happy to review a PR adding this!
You could have a look at my progress here. Directly reading the ports directory is quite simple.
@cmpute : very nice work, that makes my project obsolete. I'll just use your GUI :)
My mistake was looking for a single file that describes the repository state; I didn't notice the "ports" folder.
I think it would still be useful to have a integrated function that e.g. produces a json output listing both available packages as well as installed packages (installed packages might have a different version than the port files). That way, not everyone who wants to build tools on top of vcpkg has to search and parse the ports and packages directories.
You could have a look at my progress here. Directly reading the ports directory is quite simple.
@cmpute - Could you point to where you attack this problem in your repo?
Edit:
Oh sorry, forget it, - found it.
It's the parser in Port.cs ( obviously, d'oh :-) ) you are refering to.
Thanks for @VioletGiraffe @cmpute , I have the same idea too.
This issue hasn鈥檛 been updated in a year; if it is still an issue, please reopen.
Best I can tell, this is still not implemented please reopen.
I concur, but I also understand that this is a low priority task for vcpkg maintainers.
Most helpful comment
You could have a look at my progress here. Directly reading the ports directory is quite simple.