Skip to content

Commit 432c29e

Browse files
committed
Unnest rustup's dist crate
1 parent edd81a4 commit 432c29e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+115
-179
lines changed

Cargo.lock

+3-23
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+6-2
Original file line numberDiff line numberDiff line change
@@ -30,30 +30,34 @@ vendored-openssl = ['openssl/vendored']
3030
no-self-update = []
3131

3232
[dependencies]
33-
rustup-dist = { path = "src/rustup-dist" }
3433
rustup-utils = { path = "src/rustup-utils" }
3534
download = { path = "download" }
3635
clap = "2.18.0"
3736
error-chain = "0.12.0"
37+
flate2 = "1.0.1"
3838
itertools = "0.7.6"
3939
libc = "0.2.0"
4040
markdown = "0.2"
41+
ole32-sys = "0.2.0"
4142
rand = "0.5.2"
4243
regex = "1.0.1"
4344
remove_dir_all = "0.5.1"
4445
same-file = "1.0"
4546
scopeguard = "0.3"
4647
sha2 = "0.7.0"
48+
tar = "0.4.0"
4749
tempdir = "0.3.4"
4850
term = "0.5.1"
4951
time = "0.1.34"
5052
toml = "0.4"
5153
url = "1.1.0"
5254
wait-timeout = "0.1.5"
55+
walkdir = "2.0"
56+
xz2 = "0.1.3"
5357
openssl = { version = '0.10.15', optional = true }
5458

5559
[target."cfg(windows)".dependencies]
56-
winapi = { version = "0.3", features = ["jobapi", "jobapi2", "processthreadsapi", "psapi", "synchapi", "winuser"] }
60+
winapi = { version = "0.3", features = ["handleapi", "jobapi", "jobapi2", "processthreadsapi", "psapi", "synchapi", "sysinfoapi", "tlhelp32", "winnt", "winuser"] }
5761
winreg = "0.5.0"
5862
gcc = "0.3.50"
5963

appveyor.yml

-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ build: false
7070

7171
test_script:
7272
- cargo build --release --target %TARGET% --locked
73-
- cargo test --release -p rustup-dist --target %TARGET%
7473
- cargo test --release --target %TARGET%
7574
- cargo fmt --all -- --check
7675

build.rs

+4-1
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,15 @@ where
1717
}
1818

1919
fn main() {
20-
let out_dir = PathBuf::from(env::var_os("OUT_DIR").unwrap());
20+
let target = env::var("TARGET").unwrap();
21+
println!("cargo:rustc-env=TARGET={}", target);
2122

23+
let out_dir = PathBuf::from(env::var_os("OUT_DIR").unwrap());
2224
File::create(out_dir.join("commit-info.txt"))
2325
.unwrap()
2426
.write_all(commit_info().as_bytes())
2527
.unwrap();
28+
2629
println!("cargo:rerun-if-changed=build.rs");
2730
}
2831

ci/run.sh

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ cargo build --locked -v --release --target "$TARGET" --features vendored-openssl
1212

1313
if [ -z "$SKIP_TESTS" ]; then
1414
cargo test --release -p download --target "$TARGET" --features vendored-openssl
15-
cargo test --release -p rustup-dist --target "$TARGET" --features vendored-openssl
1615
cargo test --release --target "$TARGET" --features vendored-openssl
1716
fi
1817

src/config.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ use std::path::{Path, PathBuf};
66
use std::process::Command;
77
use std::sync::Arc;
88

9+
use crate::dist::{dist, temp};
910
use crate::errors::*;
1011
use crate::notifications::*;
1112
use crate::settings::{Settings, SettingsFile, DEFAULT_METADATA_VERSION};
1213
use crate::toolchain::{Toolchain, UpdateStatus};
13-
use rustup_dist::{dist, temp};
1414
use rustup_utils::utils;
1515

1616
#[derive(Debug)]

src/rustup-dist/src/component/components.rs renamed to src/dist/component/components.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
use crate::errors::*;
2-
use crate::prefix::InstallPrefix;
1+
use crate::dist::errors::*;
2+
use crate::dist::prefix::InstallPrefix;
33
/// The representation of the installed toolchain and its components.
44
/// `Components` and `DirectoryPackage` are the two sides of the
55
/// installation / uninstallation process.
66
use rustup_utils::utils;
77

8-
use crate::component::package::{INSTALLER_VERSION, VERSION_FILE};
9-
use crate::component::transaction::Transaction;
8+
use crate::dist::component::package::{INSTALLER_VERSION, VERSION_FILE};
9+
use crate::dist::component::transaction::Transaction;
1010

1111
use std::fs::File;
1212
use std::path::{Path, PathBuf};
File renamed without changes.

src/rustup-dist/src/component/package.rs renamed to src/dist/component/package.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
//! for installing from a directory or tarball to an installation
33
//! prefix, represented by a `Components` instance.
44
5-
use crate::component::components::*;
6-
use crate::component::transaction::*;
5+
use crate::dist::component::components::*;
6+
use crate::dist::component::transaction::*;
77

8-
use crate::errors::*;
9-
use crate::temp;
8+
use crate::dist::errors::*;
9+
use crate::dist::temp;
1010
use rustup_utils::utils;
1111

1212
use std::collections::HashSet;

src/rustup-dist/src/component/transaction.rs renamed to src/dist/component/transaction.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
//! FIXME: This uses ensure_dir_exists in some places but rollback
1010
//! does not remove any dirs created by it.
1111
12-
use crate::errors::*;
13-
use crate::notifications::*;
14-
use crate::prefix::InstallPrefix;
15-
use crate::temp;
12+
use crate::dist::errors::*;
13+
use crate::dist::notifications::*;
14+
use crate::dist::prefix::InstallPrefix;
15+
use crate::dist::temp;
1616
use rustup_utils::utils;
1717

1818
use std::fs::File;

src/rustup-dist/src/config.rs renamed to src/dist/config.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use super::manifest::Component;
2-
use crate::errors::*;
2+
use crate::dist::errors::*;
33
use rustup_utils::toml_utils::*;
44

55
pub const SUPPORTED_CONFIG_VERSIONS: [&'static str; 1] = ["1"];

src/rustup-dist/src/dist.rs renamed to src/dist/dist.rs

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
use crate::download::DownloadCfg;
2-
use crate::errors::*;
3-
use crate::manifest::Component;
4-
use crate::manifest::Manifest as ManifestV2;
5-
use crate::manifestation::{Changes, Manifestation, UpdateStatus};
6-
use crate::notifications::*;
7-
use crate::prefix::InstallPrefix;
8-
use crate::temp;
1+
use crate::dist::download::DownloadCfg;
2+
use crate::dist::errors::*;
3+
use crate::dist::manifest::Component;
4+
use crate::dist::manifest::Manifest as ManifestV2;
5+
use crate::dist::manifestation::{Changes, Manifestation, UpdateStatus};
6+
use crate::dist::notifications::*;
7+
use crate::dist::prefix::InstallPrefix;
8+
use crate::dist::temp;
99
use rustup_utils::utils;
1010

1111
use std::env;

src/rustup-dist/src/download.rs renamed to src/dist/download.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
use crate::errors::*;
2-
use crate::notifications::*;
3-
use crate::temp;
1+
use crate::dist::errors::*;
2+
use crate::dist::notifications::*;
3+
use crate::dist::temp;
44
use rustup_utils::utils;
55
use sha2::{Digest, Sha256};
66
use url::Url;

src/rustup-dist/src/errors.rs renamed to src/dist/errors.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::manifest::{Component, Manifest};
2-
use crate::temp;
1+
use crate::dist::manifest::{Component, Manifest};
2+
use crate::dist::temp;
33
use error_chain::error_chain;
44
use error_chain::error_chain_processing;
55
use error_chain::{impl_error_chain_kind, impl_error_chain_processed, impl_extract_backtrace};

src/rustup-dist/src/manifest.rs renamed to src/dist/manifest.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
//!
1111
//! See tests/channel-rust-nightly-example.toml for an example.
1212
13-
use crate::errors::*;
13+
use crate::dist::errors::*;
1414
use rustup_utils::toml_utils::*;
1515

16-
use crate::dist::TargetTriple;
16+
use crate::dist::dist::TargetTriple;
1717
use std::collections::HashMap;
1818

1919
pub const SUPPORTED_MANIFEST_VERSIONS: [&'static str; 1] = ["2"];

src/rustup-dist/src/manifestation.rs renamed to src/dist/manifestation.rs

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
//! Maintains a Rust installation by installing individual Rust
22
//! platform components from a distribution server.
33
4-
use crate::component::{Components, Package, TarGzPackage, TarXzPackage, Transaction};
5-
use crate::config::Config;
6-
use crate::dist::{TargetTriple, DEFAULT_DIST_SERVER};
7-
use crate::download::{DownloadCfg, File};
8-
use crate::errors::*;
9-
use crate::manifest::{Component, Manifest, TargetedPackage};
10-
use crate::notifications::*;
11-
use crate::prefix::InstallPrefix;
12-
use crate::temp;
4+
use crate::dist::component::{Components, Package, TarGzPackage, TarXzPackage, Transaction};
5+
use crate::dist::config::Config;
6+
use crate::dist::dist::{TargetTriple, DEFAULT_DIST_SERVER};
7+
use crate::dist::download::{DownloadCfg, File};
8+
use crate::dist::errors::*;
9+
use crate::dist::manifest::{Component, Manifest, TargetedPackage};
10+
use crate::dist::notifications::*;
11+
use crate::dist::prefix::InstallPrefix;
12+
use crate::dist::temp;
1313
use rustup_utils::utils;
1414
use std::path::Path;
1515

@@ -629,7 +629,7 @@ impl Update {
629629
.components_to_install
630630
.iter()
631631
.filter(|c| {
632-
use crate::manifest::*;
632+
use crate::dist::manifest::*;
633633
let pkg: Option<&Package> =
634634
new_manifest.get_package(&c.short_name_in_manifest()).ok();
635635
let target_pkg: Option<&TargetedPackage> =

src/rustup-dist/src/lib.rs renamed to src/dist/mod.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
#![recursion_limit = "1024"]
1+
//! Installation from a Rust distribution server
22
3-
pub use crate::errors::*;
4-
pub use crate::notifications::Notification;
3+
pub use crate::dist::errors::*;
4+
pub use crate::dist::notifications::Notification;
55

66
pub mod temp;
77

src/rustup-dist/src/notifications.rs renamed to src/dist/notifications.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
use crate::dist::TargetTriple;
2-
use crate::errors::*;
3-
use crate::temp;
1+
use crate::dist::dist::TargetTriple;
2+
use crate::dist::errors::*;
3+
use crate::dist::temp;
44
use rustup_utils::notify::NotificationLevel;
55
use std::fmt::{self, Display};
66
use std::path::Path;
File renamed without changes.
File renamed without changes.

src/errors.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
use crate::component_for_bin;
2+
use crate::dist::temp;
23
use error_chain::error_chain;
34
use error_chain::error_chain_processing;
45
use error_chain::{impl_error_chain_kind, impl_error_chain_processed, impl_extract_backtrace};
5-
use rustup_dist::temp;
66

77
error_chain! {
88
links {
9-
Dist(rustup_dist::Error, rustup_dist::ErrorKind);
9+
Dist(crate::dist::Error, crate::dist::ErrorKind);
1010
Utils(rustup_utils::Error, rustup_utils::ErrorKind);
1111
}
1212

src/install.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
//! Installation and upgrade of both distribution-managed and local
22
//! toolchains
33
4+
use crate::dist::component::{Components, Package, TarGzPackage, Transaction};
5+
use crate::dist::dist;
6+
use crate::dist::download::DownloadCfg;
7+
use crate::dist::prefix::InstallPrefix;
8+
use crate::dist::temp;
9+
use crate::dist::Notification;
410
use crate::errors::Result;
5-
use rustup_dist::component::{Components, Package, TarGzPackage, Transaction};
6-
use rustup_dist::dist;
7-
use rustup_dist::download::DownloadCfg;
8-
use rustup_dist::prefix::InstallPrefix;
9-
use rustup_dist::temp;
10-
use rustup_dist::Notification;
1111
use rustup_utils::utils;
1212
use std::path::Path;
1313

src/lib.rs

+1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ fn component_for_bin(binary: &str) -> Option<&'static str> {
4949

5050
pub mod command;
5151
mod config;
52+
pub mod dist;
5253
pub mod env_var;
5354
#[allow(deprecated)] // WORKAROUND https://github.com/rust-lang-nursery/error-chain/issues/254
5455
mod errors;

src/notifications.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ use std::path::{Path, PathBuf};
33

44
use crate::errors::*;
55

6-
use rustup_dist::temp;
6+
use crate::dist::temp;
77
use rustup_utils::notify::NotificationLevel;
88

99
#[derive(Debug)]
1010
pub enum Notification<'a> {
11-
Install(rustup_dist::Notification<'a>),
11+
Install(crate::dist::Notification<'a>),
1212
Utils(rustup_utils::Notification<'a>),
1313
Temp(temp::Notification<'a>),
1414

@@ -33,8 +33,8 @@ pub enum Notification<'a> {
3333
MissingFileDuringSelfUninstall(PathBuf),
3434
}
3535

36-
impl<'a> From<rustup_dist::Notification<'a>> for Notification<'a> {
37-
fn from(n: rustup_dist::Notification<'a>) -> Notification<'a> {
36+
impl<'a> From<crate::dist::Notification<'a>> for Notification<'a> {
37+
fn from(n: crate::dist::Notification<'a>) -> Notification<'a> {
3838
Notification::Install(n)
3939
}
4040
}

src/rustup-cli/download_tracker.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
use rustup::dist::Notification as In;
12
use rustup::Notification;
2-
use rustup_dist::Notification as In;
33
use rustup_utils::tty;
44
use rustup_utils::Notification as Un;
55
use std::collections::VecDeque;

src/rustup-cli/errors.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ use std::path::PathBuf;
66
use error_chain::error_chain;
77
use error_chain::error_chain_processing;
88
use error_chain::{impl_error_chain_kind, impl_error_chain_processed, impl_extract_backtrace};
9-
use rustup_dist::temp;
9+
use rustup::dist::temp;
1010

1111
error_chain! {
1212
links {
1313
Rustup(rustup::Error, rustup::ErrorKind);
14-
Dist(rustup_dist::Error, rustup_dist::ErrorKind);
14+
Dist(rustup::dist::Error, rustup::dist::ErrorKind);
1515
Utils(rustup_utils::Error, rustup_utils::ErrorKind);
1616
}
1717

src/rustup-cli/main.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ mod setup_mode;
2929
mod term2;
3030

3131
use crate::errors::*;
32+
use rustup::dist::dist::TargetTriple;
3233
use rustup::env_var::RUST_RECURSION_COUNT_MAX;
33-
use rustup_dist::dist::TargetTriple;
3434
use std::alloc::System;
3535
use std::env;
3636
use std::path::PathBuf;

0 commit comments

Comments
 (0)