Skip to content

Commit 2572d20

Browse files
committed
Unnest rustup's utils crate
1 parent 432c29e commit 2572d20

Some content is hidden

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

53 files changed

+126
-200
lines changed

Cargo.lock

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

Cargo.toml

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

3232
[dependencies]
33-
rustup-utils = { path = "src/rustup-utils" }
33+
dirs = "1.0"
3434
download = { path = "download" }
3535
clap = "2.18.0"
3636
error-chain = "0.12.0"
@@ -43,6 +43,7 @@ rand = "0.5.2"
4343
regex = "1.0.1"
4444
remove_dir_all = "0.5.1"
4545
same-file = "1.0"
46+
semver = "0.9.0"
4647
scopeguard = "0.3"
4748
sha2 = "0.7.0"
4849
tar = "0.4.0"
@@ -57,12 +58,11 @@ xz2 = "0.1.3"
5758
openssl = { version = '0.10.15', optional = true }
5859

5960
[target."cfg(windows)".dependencies]
60-
winapi = { version = "0.3", features = ["handleapi", "jobapi", "jobapi2", "processthreadsapi", "psapi", "synchapi", "sysinfoapi", "tlhelp32", "winnt", "winuser"] }
61+
winapi = { version = "0.3", features = ["combaseapi", "errhandlingapi", "fileapi", "handleapi", "ioapiset", "jobapi", "jobapi2", "minwindef", "processthreadsapi", "psapi", "shlobj", "shtypes", "synchapi", "sysinfoapi", "tlhelp32", "userenv", "winbase", "winerror", "winioctl", "winnt", "winuser"] }
6162
winreg = "0.5.0"
6263
gcc = "0.3.50"
6364

6465
[dev-dependencies]
65-
rustup-mock = { path = "src/rustup-mock", version = "1.1.0" }
6666
lazy_static = "1.0.0"
6767

6868
[workspace]

src/command.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use std::io;
33
use std::process::{self, Command};
44

55
use crate::errors::*;
6-
use rustup_utils::utils::ExitCode;
6+
use crate::utils::utils::ExitCode;
77

88
pub fn run_command_for_dir<S: AsRef<OsStr>>(
99
mut cmd: Command,
@@ -16,7 +16,7 @@ pub fn run_command_for_dir<S: AsRef<OsStr>>(
1616
// when and why this is needed.
1717
cmd.stdin(process::Stdio::inherit());
1818

19-
return exec(&mut cmd).chain_err(|| rustup_utils::ErrorKind::RunningCommand {
19+
return exec(&mut cmd).chain_err(|| crate::utils::ErrorKind::RunningCommand {
2020
name: OsStr::new(arg0).to_owned(),
2121
});
2222

src/config.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use crate::errors::*;
1111
use crate::notifications::*;
1212
use crate::settings::{Settings, SettingsFile, DEFAULT_METADATA_VERSION};
1313
use crate::toolchain::{Toolchain, UpdateStatus};
14-
use rustup_utils::utils;
14+
use crate::utils::utils;
1515

1616
#[derive(Debug)]
1717
pub enum OverrideReason {

src/dist/component/components.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ 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.
6-
use rustup_utils::utils;
6+
use crate::utils::utils;
77

88
use crate::dist::component::package::{INSTALLER_VERSION, VERSION_FILE};
99
use crate::dist::component::transaction::Transaction;

src/dist/component/package.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use crate::dist::component::transaction::*;
77

88
use crate::dist::errors::*;
99
use crate::dist::temp;
10-
use rustup_utils::utils;
10+
use crate::utils::utils;
1111

1212
use std::collections::HashSet;
1313
use std::fmt;

src/dist/component/transaction.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use crate::dist::errors::*;
1313
use crate::dist::notifications::*;
1414
use crate::dist::prefix::InstallPrefix;
1515
use crate::dist::temp;
16-
use rustup_utils::utils;
16+
use crate::utils::utils;
1717

1818
use std::fs::File;
1919
use std::path::{Path, PathBuf};

src/dist/config.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use super::manifest::Component;
22
use crate::dist::errors::*;
3-
use rustup_utils::toml_utils::*;
3+
use crate::utils::toml_utils::*;
44

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

src/dist/dist.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use crate::dist::manifestation::{Changes, Manifestation, UpdateStatus};
66
use crate::dist::notifications::*;
77
use crate::dist::prefix::InstallPrefix;
88
use crate::dist::temp;
9-
use rustup_utils::utils;
9+
use crate::utils::utils;
1010

1111
use std::env;
1212
use std::fmt;
@@ -563,7 +563,7 @@ pub fn update_from_dist_<'a>(
563563
};
564564
}
565565
Ok(None) => return Ok(None),
566-
Err(Error(ErrorKind::Utils(::rustup_utils::ErrorKind::DownloadNotExists { .. }), _)) => {
566+
Err(Error(ErrorKind::Utils(crate::utils::ErrorKind::DownloadNotExists { .. }), _)) => {
567567
// Proceed to try v1 as a fallback
568568
(download.notify_handler)(Notification::DownloadingLegacyManifest);
569569
}
@@ -574,7 +574,7 @@ pub fn update_from_dist_<'a>(
574574
// If the v2 manifest is not found then try v1
575575
let manifest = match dl_v1_manifest(download, toolchain) {
576576
Ok(m) => m,
577-
Err(Error(ErrorKind::Utils(rustup_utils::ErrorKind::DownloadNotExists { .. }), _)) => {
577+
Err(Error(ErrorKind::Utils(crate::utils::ErrorKind::DownloadNotExists { .. }), _)) => {
578578
return Err(format!("no release found for '{}'", toolchain.manifest_name()).into());
579579
}
580580
Err(e @ Error(ErrorKind::ChecksumFailed { .. }, _)) => {
@@ -597,7 +597,7 @@ pub fn update_from_dist_<'a>(
597597
) {
598598
Ok(None) => Ok(None),
599599
Ok(Some(hash)) => Ok(Some(hash)),
600-
e @ Err(Error(ErrorKind::Utils(rustup_utils::ErrorKind::DownloadNotExists { .. }), _)) => e
600+
e @ Err(Error(ErrorKind::Utils(crate::utils::ErrorKind::DownloadNotExists { .. }), _)) => e
601601
.chain_err(|| {
602602
format!(
603603
"could not download nonexistent rust version `{}`",

src/dist/download.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use crate::dist::errors::*;
22
use crate::dist::notifications::*;
33
use crate::dist::temp;
4-
use rustup_utils::utils;
4+
use crate::utils::utils;
55
use sha2::{Digest, Sha256};
66
use url::Url;
77

src/dist/errors.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ pub const TOOLSTATE_MSG: &str =
1313

1414
error_chain! {
1515
links {
16-
Utils(rustup_utils::Error, rustup_utils::ErrorKind);
16+
Utils(crate::utils::Error, crate::utils::ErrorKind);
1717
}
1818

1919
foreign_links {

src/dist/manifest.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
//! See tests/channel-rust-nightly-example.toml for an example.
1212
1313
use crate::dist::errors::*;
14-
use rustup_utils::toml_utils::*;
14+
use crate::utils::toml_utils::*;
1515

1616
use crate::dist::dist::TargetTriple;
1717
use std::collections::HashMap;

src/dist/manifestation.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use crate::dist::manifest::{Component, Manifest, TargetedPackage};
1010
use crate::dist::notifications::*;
1111
use crate::dist::prefix::InstallPrefix;
1212
use crate::dist::temp;
13-
use rustup_utils::utils;
13+
use crate::utils::utils;
1414
use std::path::Path;
1515

1616
pub const DIST_MANIFEST: &'static str = "multirust-channel-manifest.toml";
@@ -206,7 +206,7 @@ impl Manifestation {
206206

207207
let gz;
208208
let xz;
209-
let notification_converter = |notification: rustup_utils::Notification<'_>| {
209+
let notification_converter = |notification: crate::utils::Notification<'_>| {
210210
notify_handler(Notification::Utils(notification));
211211
};
212212
let reader =

src/dist/notifications.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
use crate::dist::dist::TargetTriple;
22
use crate::dist::errors::*;
33
use crate::dist::temp;
4-
use rustup_utils::notify::NotificationLevel;
4+
use crate::utils::notify::NotificationLevel;
55
use std::fmt::{self, Display};
66
use std::path::Path;
77

88
#[derive(Debug)]
99
pub enum Notification<'a> {
10-
Utils(rustup_utils::Notification<'a>),
10+
Utils(crate::utils::Notification<'a>),
1111
Temp(temp::Notification<'a>),
1212

1313
Extracting(&'a Path, &'a Path),
@@ -33,8 +33,8 @@ pub enum Notification<'a> {
3333
ComponentUnavailable(&'a str, Option<&'a TargetTriple>),
3434
}
3535

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

src/dist/temp.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
use rustup_utils::raw;
1+
use crate::utils::raw;
22
use std::error;
33
use std::fmt::{self, Display};
44
use std::fs;
55
use std::io;
66
use std::ops;
77
use std::path::{Path, PathBuf};
88

9-
use rustup_utils::notify::NotificationLevel;
9+
use crate::utils::notify::NotificationLevel;
1010

1111
#[derive(Debug)]
1212
pub enum Error {

src/errors.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use error_chain::{impl_error_chain_kind, impl_error_chain_processed, impl_extrac
77
error_chain! {
88
links {
99
Dist(crate::dist::Error, crate::dist::ErrorKind);
10-
Utils(rustup_utils::Error, rustup_utils::ErrorKind);
10+
Utils(crate::utils::Error, crate::utils::ErrorKind);
1111
}
1212

1313
foreign_links {

src/install.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use crate::dist::prefix::InstallPrefix;
88
use crate::dist::temp;
99
use crate::dist::Notification;
1010
use crate::errors::Result;
11-
use rustup_utils::utils;
11+
use crate::utils::utils;
1212
use std::path::Path;
1313

1414
#[derive(Copy, Clone)]

src/lib.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ pub use crate::config::*;
44
pub use crate::errors::*;
55
pub use crate::notifications::*;
66
pub use crate::toolchain::*;
7-
pub use rustup_utils::{notify, toml_utils, utils};
7+
pub use crate::utils::{notify, toml_utils};
88

99
// A list of all binaries which Rustup will proxy.
1010
pub static TOOLS: &'static [&'static str] = &[
@@ -57,3 +57,4 @@ mod install;
5757
mod notifications;
5858
pub mod settings;
5959
mod toolchain;
60+
pub mod utils;

src/notifications.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ use std::path::{Path, PathBuf};
44
use crate::errors::*;
55

66
use crate::dist::temp;
7-
use rustup_utils::notify::NotificationLevel;
7+
use crate::utils::notify::NotificationLevel;
88

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

1515
SetDefaultToolchain(&'a str),
@@ -38,8 +38,8 @@ impl<'a> From<crate::dist::Notification<'a>> for Notification<'a> {
3838
Notification::Install(n)
3939
}
4040
}
41-
impl<'a> From<rustup_utils::Notification<'a>> for Notification<'a> {
42-
fn from(n: rustup_utils::Notification<'a>) -> Notification<'a> {
41+
impl<'a> From<crate::utils::Notification<'a>> for Notification<'a> {
42+
fn from(n: crate::utils::Notification<'a>) -> Notification<'a> {
4343
Notification::Utils(n)
4444
}
4545
}

src/rustup-cli/common.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
use crate::errors::*;
44
use crate::self_update;
55
use crate::term2;
6+
use rustup::utils::notify::NotificationLevel;
7+
use rustup::utils::utils;
68
use rustup::{Cfg, Notification, Toolchain, UpdateStatus};
7-
use rustup_utils::notify::NotificationLevel;
8-
use rustup_utils::utils;
99
use std::io::{BufRead, BufReader, Write};
1010
use std::path::Path;
1111
use std::process::{Command, Stdio};

src/rustup-cli/download_tracker.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use rustup::dist::Notification as In;
2+
use rustup::utils::tty;
3+
use rustup::utils::Notification as Un;
24
use rustup::Notification;
3-
use rustup_utils::tty;
4-
use rustup_utils::Notification as Un;
55
use std::collections::VecDeque;
66
use std::fmt;
77
use time::precise_time_s;

src/rustup-cli/errors.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ error_chain! {
1212
links {
1313
Rustup(rustup::Error, rustup::ErrorKind);
1414
Dist(rustup::dist::Error, rustup::dist::ErrorKind);
15-
Utils(rustup_utils::Error, rustup_utils::ErrorKind);
15+
Utils(rustup::utils::Error, rustup::utils::ErrorKind);
1616
}
1717

1818
foreign_links {

src/rustup-cli/main.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ fn fix_windows_reg_key() {}
172172

173173
// rustup used to be called 'multirust'. This deletes the old bin.
174174
fn delete_multirust_bin() {
175-
use rustup_utils::utils;
175+
use rustup::utils::utils;
176176
use std::env::consts::EXE_SUFFIX;
177177
use std::fs;
178178

src/rustup-cli/proxy_mode.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ use crate::common::set_globals;
22
use crate::errors::*;
33
use crate::job;
44
use rustup::command::run_command_for_dir;
5+
use rustup::utils::utils::{self, ExitCode};
56
use rustup::Cfg;
6-
use rustup_utils::utils::{self, ExitCode};
77
use std::env;
88
use std::ffi::OsString;
99
use std::path::PathBuf;

src/rustup-cli/rustup_mode.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ use crate::term2;
66
use clap::{App, AppSettings, Arg, ArgGroup, ArgMatches, Shell, SubCommand};
77
use rustup::dist::dist::{PartialTargetTriple, PartialToolchainDesc, TargetTriple};
88
use rustup::dist::manifest::Component;
9+
use rustup::utils::utils::{self, ExitCode};
910
use rustup::{command, Cfg, Toolchain};
10-
use rustup_utils::utils::{self, ExitCode};
1111
use std::error::Error;
1212
use std::io::{self, Write};
1313
use std::iter;

0 commit comments

Comments
 (0)