Skip to content
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

sdk: Create new Cargo workspace for sdk/ #4685

Draft
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

joncinque
Copy link

Problem

We want to move everything under sdk/ into a standalone repository, but all of the crates are currently part of the monorepo workspace, which makes the extraction impossible.

Summary of changes

Remove all crates in sdk/ from the top-level workspace, but keep the local dependency. Create a new Cargo.toml for the sdk workspace along with all required dependencies and patches. Finally, remove unused dependencies in the sdk's Cargo.toml.

Note: this builds on #4675, leaving in draft until that lands

#### Problem

`solana-sdk` depends on `solana-bn254` and `solana-secp256k1-recover`,
but they currently live in the `curves/` subdirectory. When the sdk gets
moved to a new Cargo workspace and repository, it needs to have all of
its solana crate dependencies, which is not currently the case.

#### Summary of changes

Move `curves/bn254` and `curves/secp256k1-recover` into `sdk/`, and
update all paths as needed.
#### Problem

We want to move everything under `sdk/` into a standalone repository,
but all of the crates are currently part of the monorepo workspace,
which makes the extraction impossible.

#### Summary of changes

Remove all crates in `sdk/` from the top-level workspace, but keep the
local dependency. Create a new `Cargo.toml` for the sdk workspace along
with all required dependencies and patches.
@joncinque joncinque requested a review from willhickey January 29, 2025 14:13
lto = "thin"

[workspace]
members = [

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thoughts on making an sdk/crates dir so everything can just be moved in there and this field can be members = ["crates/*"]?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally, I'm going to get way more annoyed about having to type crates (or c<TAB>) every single time I want to open a file in the repo over having to update this field whenever a new crate is added.

But I might be in the minority.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

2 participants