-
-
Notifications
You must be signed in to change notification settings - Fork 271
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
Make f(ctx
methods part of API
#2952
Conversation
e74c757
to
b778a8d
Compare
b778a8d
to
5a3c039
Compare
Why? They can just use |
Making If BinaryBuilder needs to use Pkg internals, that's totally fine. We should just make sure that BinaryBuilder CI includes a job that runs on Julia nightly, so that when internals change, we catch it sooner, and fix it. But that doesn't mean we should make those internals part of the public API. |
I was under the impression specifying the context was necessary. Perhaps @giordano could expand/correct me. |
This is the code: https://github.com/JuliaPackaging/BinaryBuilderBase.jl/blob/74fd093d3ab33f9410a64cd42b28662654a014fe/src/Prefix.jl#L535-L665. We use I tend to agree with the sentiment that freezing the internal functions just for one package that happens to hook into them may not be a great idea, but, well, we do need to do weird things with package resolution. I opened JuliaPackaging/BinaryBuilderBase.jl#129 almost one year ago exactly to try and catch failures in nightly early, but there were already failures and took forever to work around them (in the meantime other stuff broke), asked for help in |
BTW, no, we can't: #2930 |
That sounds like a bug. I still don't know personally what exactly the whole |
Closing as unpopular. Although, the fact tests failed here may point to an issue in existing tests, as AFAICT this shouldn't be breaking |
As @KristofferC pointed out in #2938 (comment) the
add(ctx..
etc entry points are considered internals.BinaryBuilder needs to set
add(Context(; julia_version), ...
) for the julia version resolver stuff.So it seems best to make that format formally part of the API, and pass them through the necessary processing steps.
This also distinguishes the API entry points from internals.
Fixes #2938
Todo:
cc. @giordano