-
Notifications
You must be signed in to change notification settings - Fork 990
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
[feature] ability to get build order that doesn't include already existing binaries (Download/Cache) #15566
Milestone
Comments
There are 2 different things here, filtering the non "build" ones is easy. But the re-ordering is a different story. It would be great to write here some scenarios of the initial un-optimized graph and the possible optimized one. |
Added an example here: (run What we get:
what I'd like to be able to get:
|
Merged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
What is your suggestion?
The build order returned by
conan graph build-order
contains the entire dependency graph, including packages whose binaries are already available and don't need to be built.In particular in conjunction with the new
--order=configuration
flag, we may get something like this:In a scenario where we know binaries already exist
binary
:Download
orCache
- there is really only one package to be built. It would be good if it was possible to get a build order that is "pruned" or "optimized" for only what needs to be built.I understand that the dependencies and full graph is needed for a subsequent
build-order-merge
to compute a build order from multiple dependency graphs. It's only in the latter casebuild-order-merge
where I'd like to remove all references that do not need to be built (because a package already exist), and reorder it in such a way that all that can be built in parallel are in the same group.So perhaps a workflow could be:
Where
build-order
still operates as it currently does, but we could probably have a new flag inbuild-order-merge
that gives us an "optimized/reordered" where only the missing (or references marked withbuild
) are present and ordered correctly.Have you read the CONTRIBUTING guide?
The text was updated successfully, but these errors were encountered: