-
Notifications
You must be signed in to change notification settings - Fork 113
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
Unify Rust workspaces #2475
Comments
So yes, I had the same idea with Oak functions to workspace. Two things to consider:
|
about 1. it seems you can have different versions see |
Adding some more context, since the team hash had similar discussions in the past, for instance #534. Also, at some point we had a single workspace, or at least fewer ones, and we split that into the workspaces that we now have: #1034, #1039, #1045, #1063, #1122, etc. Some of these issues are linked to #971. So I guess we made these separated workspaces to fix the cache invalidation problem. |
My two cents wrt keeping deps separate, I actually think that not being able to do so can be a good thing sometimes. This is because it increases the cost of maintaining dead code, as it requires updating when updating deps with breaking changes. Which then creates a general incentive to be mindful about what should or shouldn't continue to be in the repo. :) |
I don't think anything would change wrt to keeping deps separate or unifying them. It is already possible to depend on different versions of the same crate within a given crate, and by extension also from crates in the same workspace. So I think this proposal is orthogonal to your point (which is valid). Or did I miss your point @jul-sh ? |
@tiziano88 nope, you understood it correctly. I should clarify that I was prompted to write that as an aside purely bc of you wrote above "IIRC the only reason for having separate workspaces was to make it easier to keep deps separate". I didn't mean to imply that this change would indeed have the effect of making the maintenance of separate deps impossible. |
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates - ignore unused deps that are shared between bin and lib crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates - ignore unused deps that are shared between bin and lib crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates - ignore unused deps that are shared between bin and lib crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates - ignore unused deps that are shared between bin and lib crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates - ignore unused deps that are shared between bin and lib crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates - ignore unused deps that are shared between bin and lib crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates - ignore unused deps that are shared between bin and lib crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates - ignore unused deps that are shared between bin and lib crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates - ignore unused deps that are shared between bin and lib crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates - ignore unused deps that are shared between bin and lib crates Fix project-oak#2475
- remove old target dirs from caching in CI - move all crates under a top-level workspace - fix deps pointing to internal crates to specify paths explicitly - remove old Cargo.lock and deny.toml files - fix paths of Wasm modules in examples - comment out workspace-specific lines in third_party/prost/Cargo.toml, since nested workspaces are not well supported - remove unused deps from third party crates - ignore unused deps that are shared between bin and lib crates Fix project-oak#2475
I think #2473 would be much more effective and efficient if all the crates were under a single workspace.
IIRC the only reason for having separate workspaces was to make it easier to keep deps separate, but I think we agreed that we may not care about that, as long as, for instance, we can list the exact versions of the deps used by the oak_functions_loader binary, even if it belongs to that workspace.
Or am I forgetting something else? @project-oak/core
The text was updated successfully, but these errors were encountered: