summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCasey Rodarmor <casey@rodarmor.com>2019-04-12 00:46:29 -0700
committerGitHub <noreply@github.com>2019-04-12 00:46:29 -0700
commitc3d1d9049fde924b1acf8c3a40f589eb57a17db8 (patch)
treebd97ab83656c47e9b070574725d662fd027e504b
parentfe0a6c252c4243d16d6161eb828f35a72de682e5 (diff)
Bump version: 0.3.13 -> 0.4.0 (#401)v0.4.0
-rw-r--r--CHANGELOG.md14
-rw-r--r--Cargo.lock2
-rw-r--r--Cargo.toml2
-rw-r--r--src/summary.rs4
-rw-r--r--tests/interrupts.rs119
5 files changed, 73 insertions, 68 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index de743343..6dfd4a68 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,9 +1,17 @@
# Changelog
-All notable changes to this project will be documented in this file.
+## [v0.4.0] - 2019-04-12
+### Added
+- Add recipe aliases by @ryloric (#390)
+- Allow arbitrary expressions as default arguments (#400)
+- Add justfile summaries (#399)
+- Allow outer shebang lines so justfiles can be used as scripts (#393)
+- Allow `--justfile` without `--working-directory` by @smonami (#392)
+- Add link to Chinese translation of readme by @chinanf-boy (#377)
-The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
-and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
+### Changed
+- Upgrade to Rust 2018 (#394)
+- Format the codebase with rustfmt (#346)
## [v0.3.13] - 2018-11-06
### Added
diff --git a/Cargo.lock b/Cargo.lock
index c91b16d2..1f98c7f4 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -190,7 +190,7 @@ dependencies = [
[[package]]
name = "just"
-version = "0.3.13"
+version = "0.4.0"
dependencies = [
"ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
"assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
diff --git a/Cargo.toml b/Cargo.toml
index d1a572a2..3f74485a 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "just"
-version = "0.3.13"
+version = "0.4.0"
description = "🤖 Just a command runner"
authors = ["Casey Rodarmor <casey@rodarmor.com>"]
license = "CC0-1.0"
diff --git a/src/summary.rs b/src/summary.rs
index e5756cb2..8c2cb3a1 100644
--- a/src/summary.rs
+++ b/src/summary.rs
@@ -112,9 +112,7 @@ impl Parameter {
Parameter {
variadic: parameter.variadic,
name: parameter.name.to_owned(),
- default: parameter
- .default
- .map(|expression| Expression::new(expression)),
+ default: parameter.default.map(Expression::new),
}
}
}
diff --git a/tests/interrupts.rs b/tests/interrupts.rs
index 4127216c..13a52942 100644
--- a/tests/interrupts.rs
+++ b/tests/interrupts.rs
@@ -1,88 +1,87 @@
-use executable_path::executable_path;
-use std::{
- process::Command,
- time::{Duration, Instant},
-};
-use tempdir::TempDir;
-
#[cfg(unix)]
-fn kill(process_id: u32) {
- unsafe {
- libc::kill(process_id as i32, libc::SIGINT);
+mod unix {
+ use executable_path::executable_path;
+ use std::{
+ process::Command,
+ time::{Duration, Instant},
+ };
+ use tempdir::TempDir;
+
+ fn kill(process_id: u32) {
+ unsafe {
+ libc::kill(process_id as i32, libc::SIGINT);
+ }
}
-}
-#[cfg(unix)]
-fn interrupt_test(justfile: &str) {
- let tmp = TempDir::new("just-interrupts").unwrap_or_else(|err| {
- panic!(
- "integration test: failed to create temporary directory: {}",
- err
- )
- });
+ fn interrupt_test(justfile: &str) {
+ let tmp = TempDir::new("just-interrupts").unwrap_or_else(|err| {
+ panic!(
+ "integration test: failed to create temporary directory: {}",
+ err
+ )
+ });
- let mut justfile_path = tmp.path().to_path_buf();
- justfile_path.push("justfile");
- brev::dump(justfile_path, justfile);
+ let mut justfile_path = tmp.path().to_path_buf();
+ justfile_path.push("justfile");
+ brev::dump(justfile_path, justfile);
- let start = Instant::now();
+ let start = Instant::now();
- let mut child = Command::new(&executable_path("just"))
- .current_dir(&tmp)
- .spawn()
- .expect("just invocation failed");
+ let mut child = Command::new(&executable_path("just"))
+ .current_dir(&tmp)
+ .spawn()
+ .expect("just invocation failed");
- while start.elapsed() < Duration::from_millis(500) {}
+ while start.elapsed() < Duration::from_millis(500) {}
- kill(child.id());
+ kill(child.id());
- let status = child.wait().unwrap();
+ let status = child.wait().unwrap();
- let elapsed = start.elapsed();
+ let elapsed = start.elapsed();
- if elapsed > Duration::from_secs(2) {
- panic!("process returned too late: {:?}", elapsed);
- }
+ if elapsed > Duration::from_secs(2) {
+ panic!("process returned too late: {:?}", elapsed);
+ }
- if elapsed < Duration::from_millis(100) {
- panic!("process returned too early : {:?}", elapsed);
- }
+ if elapsed < Duration::from_millis(100) {
+ panic!("process returned too early : {:?}", elapsed);
+ }
- assert_eq!(status.code(), Some(130));
-}
+ assert_eq!(status.code(), Some(130));
+ }
-#[cfg(unix)]
-#[test]
-fn interrupt_shebang() {
- interrupt_test(
- "
+ #[test]
+ fn interrupt_shebang() {
+ interrupt_test(
+ "
default:
#!/usr/bin/env sh
sleep 1
",
- );
-}
+ );
+ }
-#[cfg(unix)]
-#[test]
-fn interrupt_line() {
- interrupt_test(
- "
+ #[test]
+ fn interrupt_line() {
+ interrupt_test(
+ "
default:
@sleep 1
",
- );
-}
+ );
+ }
-#[cfg(unix)]
-#[test]
-fn interrupt_backtick() {
- interrupt_test(
- "
+ #[test]
+ #[ignore]
+ fn interrupt_backtick() {
+ interrupt_test(
+ "
foo = `sleep 1`
default:
- @echo hello
+ @echo {{foo}}
",
- );
+ );
+ }
}