tustvold opened a new issue, #7370:
URL: https://github.com/apache/arrow-datafusion/issues/7370

   ### Is your feature request related to a problem or challenge?
   
   It is fairly common to compile the various DataFusion crates separately for 
the purposes of improved test iteration. Unfortunately the experience of 
switching between crates is currently often involves recompiling huge tranches 
of the build tree.
   
   This is because different dependencies set different feature flags for 
various dependencies, in some cases these are very low-level crates, forcing 
recompilation of the entire dependency tree. This is not only slow, but also is 
a recipe for ending up with an extremely chonky target directory
   
   Examples of particularly painful crates with inconsistent feature sets:
   
   * syn
   * chrono
   * num-traits
   * tokio
   * regex
   * hashbrown
   
   ### Describe the solution you'd like
   
   One possible solution is to create a workspace hack crate that forces a 
common set of feature flags when building crates within the workspace. There is 
[tooling](https://docs.rs/cargo-hakari/0.9.27/cargo_hakari/) to make this 
slightly less painful.
   
   The major downsides of this are:
   
   * Might complicate consuming DataFusion as a git dependency
   * Would require a slightly different release workflow `cargo hakari publish` 
instead of `cargo publish`
   
   A slightly less intrusive solution might be to try and find particularly 
problematic dependencies and make them workspace dependencies
   
   ### Describe alternatives you've considered
   
   _No response_
   
   ### Additional context
   
   _No response_


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to