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

Merge some of the crates (probably only rustup and rustup-dist) #1644

Closed
dwijnand opened this issue Feb 8, 2019 · 3 comments
Closed

Merge some of the crates (probably only rustup and rustup-dist) #1644

dwijnand opened this issue Feb 8, 2019 · 3 comments
Assignees

Comments

@dwijnand
Copy link
Member

dwijnand commented Feb 8, 2019

Split out from #1611

The current crates tree is:

rustup-win-installer
└── rustup
    └── rustup-dist
        └── rustup-utils
            └── download

[dev-dependencies]
└── rustup-mock

WDYT about squashing that down to:

rustup-win-installer
└── rustup

And the only reason to keep those separate is because I can't run rustup-win-installer with its build.rs. WDYT?

@nrc
Copy link
Member

nrc commented Feb 10, 2019

👍 I'm keen on this and have contemplated something similar myself in the past. I'd also be keen to turn Rustup into a workspace, rather than a bunch of separate crates. I think it might make sense to keep rustup-mock separate since it is only used for testing and is quite different from the rest. I think it might also make sense to keep download separate, if it can be a strongly encapsulated crate (ideally shared with Cargo).

@dwijnand
Copy link
Member Author

Ok I'll make it a workspace and keep download separate. But rustup-mock I was just going to have as a module of the rustup tests (much like the "support" module in cargo's testsuite).

@dwijnand
Copy link
Member Author

dwijnand commented Mar 6, 2019

Root layout-wise @kinnison prefers

/Cargo.lock
/Cargo.toml
/src/ (the sources of the rustup crate)
/download/ (the separate download crate)

The code in rustup-mock would either become #[cfg(test)]-gated code in the rustup crate, or directly a module in the tests.

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

No branches or pull requests

2 participants