As noted in #374 and confirmed with Dune maintainers, this way of approaching the problem doesn't work. My hope was to find a solution that can handle 80% of the tasks with 20% of the effort but it seems like due to the complexity of rewriting files that might not be in S-Expression format or be generated on build time, this feature cannot be implemented outside of dune with any kind of reliability.
Testing it on Irmin's dependencies ended up showing issues that couldn't be worked around, so instead of having a half-baked solution this PR removes all the code to reduce the maintenance burden.
Some parts might be reused later when Dune has support for subsetting similar to the one proposed here: https://github.com/ocaml/dune/issues/7058 but given the code is still part of the version history it is safe to revisit it later when time comes.
As noted in #374 and confirmed with Dune maintainers, this way of approaching the problem doesn't work. My hope was to find a solution that can handle 80% of the tasks with 20% of the effort but it seems like due to the complexity of rewriting files that might not be in S-Expression format or be generated on build time, this feature cannot be implemented outside of dune with any kind of reliability.
Testing it on Irmin's dependencies ended up showing issues that couldn't be worked around, so instead of having a half-baked solution this PR removes all the code to reduce the maintenance burden.
Some parts might be reused later when Dune has support for subsetting similar to the one proposed here: https://github.com/ocaml/dune/issues/7058 but given the code is still part of the version history it is safe to revisit it later when time comes.