-
Notifications
You must be signed in to change notification settings - Fork 0
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-tool] Implement downloads from json file #6
Comments
Probably needs https://github.com/orgs/open-vcpkg/projects/1?pane=issue&itemId=52127920 first. Is it really necessary to implement this in the tool itself? |
Would be nicer for |
Ok let me ask the question in another way. How does the tool know what to download when the information is only given in the portfile or a file included by the portfile. |
I would add fields to the |
I am speaking of the current situation and a plan to transition to a new format. So how does the tool currently determine what to downlad? As far as I am aware it runs portfile with special flags and that is it. I also wouldn't merge that information into |
Old versions would still have this information in the portfile. We have to either parse the CMake file for that information (already done for SBOM) or fall back to the current mechanism.
I think this is an alternative to https://github.com/orgs/open-vcpkg/projects/1?pane=issue&itemId=52127920 |
The point is you always have to run both ways since the portfile is allowed to do anything. So even if you define something like That being said I am not against it. I just don't see it being implemented in the tool first when you have to run both ways anyway. I just see it as a script port first. But maybe we should define a json schema for it first:
"downloads" -> Array of JSON "download" objects (or a relative filepath to be included?), The name of the object is the name of the corresponding CMake output variable and needs to be unique. |
I think we need to restrict that. All functions that are executed in downloads mode could error out if the file |
Does anyone have an idea on how to integrate this feature into the rest of the build process? I think the most efficient way is after abi hashing. This allows us to parallelize the download process in the future. Also many other package managers download and extract all packages in one go before installing them. |
I thing the best solution would be to create a task based system and use that for almost everything |
I like this idea. Maybe we want to use this library? The problem is that things are cached all over the place and there are many connections between different components. |
See microsoft/vcpkg#24199 (comment)
Slightly modified example after @autoantwort:
CMake functions to consider:
LFS
FILE_DISAMBIGUATOR
,AUTHORIZATION_TOKEN
,GITHUB_HOST
FILE_DISAMBIGUATOR
,GITLAB_URL
WORKING_DIRECTORY
,FILENAME
,NO_REMOVE_ONE_LEVEL
HEADERS
,ALWAYS_REDOWNLOAD
,QUIET
,URLS
The text was updated successfully, but these errors were encountered: