Skip to content

Commit 61c0e4a

Browse files
committed
toolchain: refactor enum into an opaque struct
1 parent c170139 commit 61c0e4a

File tree

8 files changed

+206
-123
lines changed

8 files changed

+206
-123
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
### Added
99

10+
- New struct `toolchain::CiToolchain` containing a CI toolchain's metadata.
11+
- New struct `toolchain::DistToolchain` containing a dist toolchain's metadata.
1012
- New method `WorkspaceBuilder::rustup_profile` to configure the rustup profile
1113
used during builds.
14+
- New method `Toolchain::as_ci` to get a CI toolchain's metadata.
15+
- New method `Toolchain::as_dist` to get a dist toolchain's metadata.
16+
- New method `Toolchain::ci` to create CI toolchains.
17+
- New method `Toolchain::dist` to create dist toolchains.
1218

1319
### Changed
1420

1521
- **BREAKING**: The default rustup profile is now `minimal`.
22+
- **BREAKING**: The `Toolchain` enum is now an opaque struct.
1623
- The directory `target/` inside local crates won't be copied into the build
1724
anymore.
1825
- Symbolic links will be followed instead of copied as links.

examples/docs-builder.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,7 @@ fn main() -> Result<(), Box<dyn Error>> {
1111
WorkspaceBuilder::new(Path::new(".workspaces/docs-builder"), "rustwide-examples").init()?;
1212

1313
// Run the builds on stable
14-
let toolchain = Toolchain::Dist {
15-
name: "stable".into(),
16-
};
14+
let toolchain = Toolchain::dist("stable");
1715
toolchain.install(&workspace)?;
1816

1917
// Fetch lazy_static from crates.io

src/build.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ impl<'a> BuildBuilder<'a> {
4242
/// # use std::error::Error;
4343
/// # fn main() -> Result<(), Box<dyn Error>> {
4444
/// # let workspace = WorkspaceBuilder::new("".as_ref(), "").init()?;
45-
/// # let toolchain = Toolchain::Dist { name: "".into() };
45+
/// # let toolchain = Toolchain::dist("");
4646
/// # let krate = Crate::local("".as_ref());
4747
/// # let sandbox = SandboxBuilder::new();
4848
/// let mut build_dir = workspace.build_dir("foo");
@@ -76,7 +76,7 @@ impl<'a> BuildBuilder<'a> {
7676
/// # use std::error::Error;
7777
/// # fn main() -> Result<(), Box<dyn Error>> {
7878
/// # let workspace = WorkspaceBuilder::new("".as_ref(), "").init()?;
79-
/// # let toolchain = Toolchain::Dist { name: "".into() };
79+
/// # let toolchain = Toolchain::dist("");
8080
/// # let krate = Crate::local("".as_ref());
8181
/// # let sandbox = SandboxBuilder::new();
8282
/// let mut build_dir = workspace.build_dir("foo");
@@ -110,7 +110,7 @@ impl BuildDirectory {
110110
/// # use std::error::Error;
111111
/// # fn main() -> Result<(), Box<dyn Error>> {
112112
/// # let workspace = WorkspaceBuilder::new("".as_ref(), "").init()?;
113-
/// # let toolchain = Toolchain::Dist { name: "".into() };
113+
/// # let toolchain = Toolchain::dist("");
114114
/// # let krate = Crate::local("".as_ref());
115115
/// # let sandbox = SandboxBuilder::new();
116116
/// let mut build_dir = workspace.build_dir("foo");
@@ -208,7 +208,7 @@ impl Build<'_> {
208208
/// # use std::error::Error;
209209
/// # fn main() -> Result<(), Box<dyn Error>> {
210210
/// # let workspace = WorkspaceBuilder::new("".as_ref(), "").init()?;
211-
/// # let toolchain = Toolchain::Dist { name: "".into() };
211+
/// # let toolchain = Toolchain::dist("");
212212
/// # let krate = Crate::local("".as_ref());
213213
/// # let sandbox = SandboxBuilder::new();
214214
/// let mut build_dir = workspace.build_dir("foo");
@@ -245,7 +245,7 @@ impl Build<'_> {
245245
/// # use std::error::Error;
246246
/// # fn main() -> Result<(), Box<dyn Error>> {
247247
/// # let workspace = WorkspaceBuilder::new("".as_ref(), "").init()?;
248-
/// # let toolchain = Toolchain::Dist { name: "".into() };
248+
/// # let toolchain = Toolchain::dist("");
249249
/// # let krate = Crate::local("".as_ref());
250250
/// # let sandbox = SandboxBuilder::new();
251251
/// let mut build_dir = workspace.build_dir("foo");

src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ mod inside_docker;
2525
pub mod logging;
2626
mod native;
2727
mod prepare;
28-
mod toolchain;
28+
pub mod toolchain;
2929
mod tools;
3030
mod utils;
3131
mod workspace;

0 commit comments

Comments
 (0)