Skip to content

Commit

Permalink
Preserve elapsed time in store path listing after build
Browse files Browse the repository at this point in the history
Fixes #36.
  • Loading branch information
zhaofengli committed Nov 18, 2021
1 parent b751209 commit e566577
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 8 deletions.
6 changes: 3 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion Cargo.toml
Expand Up @@ -16,7 +16,6 @@ env_logger = "0.8.2"
futures = "0.3.8"
glob = "0.3.0"
hostname = "0.3.1"
indicatif = "0.17.0-beta.1"
lazy_static = "1.4.0"
libc = "0.2.81"
log = "0.4.11"
Expand All @@ -32,6 +31,10 @@ tokio-test = "0.4.0"
users = "0.11.0"
validator = { version = "0.12", features = ["derive"] }

# For https://github.com/mitsuhiko/indicatif/pull/325
# Change back to 0.17.0-beta.2 when it releases
indicatif = { git = "https://github.com/mitsuhiko/indicatif", rev = "5a38ab70b75be5fc9f4a00c4d9d58adabb817398" }

[dependencies.tokio]
version = "1.0.0"
features = [
Expand Down
4 changes: 1 addition & 3 deletions default.nix
Expand Up @@ -19,9 +19,7 @@ in rustPlatform.buildRustPackage {
src = lib.cleanSource ./.;
};

cargoLock = {
lockFile = ./Cargo.lock;
};
cargoSha256 = "sha256-JDJQnKO0j1DegOyuZi3WU4wVnotucSVPbwbn25R8Jb8=";

postInstall = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
mkdir completions
Expand Down
7 changes: 6 additions & 1 deletion src/nix/deployment.rs
Expand Up @@ -379,10 +379,15 @@ impl Deployment {
}
};

let build_elapsed = bar.get_elapsed();
bar.success_quiet();

if goal == Goal::Build {
for (node, profile) in profiles.iter() {
let bar = progress.create_task_progress(node.to_string());
let mut bar = progress.create_task_progress(node.to_string());
if let Some(elapsed) = build_elapsed {
bar.set_elapsed(elapsed);
}
bar.success(&format!("Built {:?}", profile.as_path()));
}
}
Expand Down
13 changes: 13 additions & 0 deletions src/progress.rs
Expand Up @@ -2,6 +2,7 @@

use std::future::Future;
use std::sync::Arc;
use std::time::Duration;

use atty::Stream;
use console::Style;
Expand Down Expand Up @@ -192,6 +193,18 @@ impl TaskProgress {
}
}

/// Returns the time spent on this task so far.
pub fn get_elapsed(&self) -> Option<Duration> {
self.bar.as_ref().map(|bar| bar.elapsed())
}

/// Sets the time spent on this task so far.
pub fn set_elapsed(&mut self, elapsed: Duration) {
if let Some(bar) = self.bar.take() {
self.bar.replace(bar.with_elapsed(elapsed));
}
}

pub fn failure_err<E: std::error::Error>(self, error: &E) {
self.failure(&error.to_string())
}
Expand Down

0 comments on commit e566577

Please sign in to comment.