From 598be46cf79803fe124c0269baf5119f541ea5cd Mon Sep 17 00:00:00 2001 From: Ed Page Date: Sat, 30 Jan 2021 21:25:02 -0600 Subject: [PATCH 1/2] feat(build): Support build-finished message Fixes #40 --- CHANGELOG.md | 4 ++++ src/format/mod.rs | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c3c59d..282b2f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] - ReleaseDate +#### Features + +* Support `build-finished` message + ## [0.5.0] - 2019-04-08 #### Features diff --git a/src/format/mod.rs b/src/format/mod.rs index 11b143f..545362c 100644 --- a/src/format/mod.rs +++ b/src/format/mod.rs @@ -15,6 +15,8 @@ type CowStr<'a> = borrow::Cow<'a, str>; #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(tag = "reason", rename_all = "kebab-case")] pub enum Message<'a> { + /// Build completed, all further output should not be parsed + BuildFinished(BuildFinished), /// The compiler generated an artifact #[serde(borrow)] CompilerArtifact(Artifact<'a>), @@ -30,6 +32,14 @@ pub enum Message<'a> { Unknown, } +/// Build completed, all further output should not be parsed +#[derive(Debug, Clone, Serialize, Deserialize)] +#[cfg_attr(feature = "strict_unstable", serde(deny_unknown_fields))] +#[non_exhaustive] +pub struct BuildFinished { + success: bool, +} + /// A compiler-generated file. #[derive(Debug, Clone, Serialize, Deserialize)] #[cfg_attr(feature = "strict_unstable", serde(deny_unknown_fields))] @@ -77,6 +87,9 @@ pub struct Target<'a> { /// Whether this is a doctest or not #[serde(default)] pub doctest: Option, + /// Whether this is a test file + #[serde(default)] + pub test: bool, #[serde(default)] #[serde(rename = "required-features")] @@ -173,6 +186,9 @@ pub struct BuildScript<'a> { #[cfg(not(feature = "print"))] pub(crate) fn log_message(msg: &Message<'_>) { match msg { + Message::BuildFinished(ref finished) => { + log::trace!("Build Finished: {:?}", finished.success); + } Message::CompilerArtifact(ref art) => { log::trace!("Building {:#?}", art.package_id,); } @@ -206,6 +222,9 @@ pub(crate) fn log_message(msg: &Message<'_>) { #[cfg(feature = "print")] pub(crate) fn log_message(msg: &Message<'_>) { match msg { + Message::BuildFinished(ref finished) => { + println!("Build Finished: {:?}", finished.success); + } Message::CompilerArtifact(ref art) => { println!("Building {:#?}", art.package_id,); } From 730f03d71346e5e4fcb07d8d949b0ab29051614f Mon Sep 17 00:00:00 2001 From: Ed Page Date: Sat, 30 Jan 2021 21:25:30 -0600 Subject: [PATCH 2/2] chore: Add missing release.toml --- README.md | 9 --------- release.toml | 11 +++++++++++ src/lib.rs | 9 +-------- 3 files changed, 12 insertions(+), 17 deletions(-) create mode 100644 release.toml diff --git a/README.md b/README.md index 3929448..2cf6373 100644 --- a/README.md +++ b/README.md @@ -8,15 +8,6 @@ ![License](https://img.shields.io/crates/l/escargot.svg) [![Crates Status](https://img.shields.io/crates/v/escargot.svg)](https://crates.io/crates/escargot) -## Install - -Add to your `Cargo.toml`: - -```toml -[dependencies] -escargot = "0.5" -``` - ## Why escargot Compared to depending on `cargo`: diff --git a/release.toml b/release.toml new file mode 100644 index 0000000..4b584b5 --- /dev/null +++ b/release.toml @@ -0,0 +1,11 @@ +pre-release-commit-message = "chore({{crate_name}}): Release {{version}}" +no-dev-version = true +tag-message = "{{tag_name}}" +tag-name = "{{prefix}}v{{version}}" +pre-release-replacements = [ + {file="CHANGELOG.md", search="Unreleased", replace="{{version}}", min=1}, + {file="CHANGELOG.md", search="\\.\\.\\.HEAD", replace="...{{tag_name}}", exactly=1}, + {file="CHANGELOG.md", search="ReleaseDate", replace="{{date}}", min=1}, + {file="CHANGELOG.md", search="", replace="\n## [Unreleased] - ReleaseDate\n", exactly=1}, + {file="CHANGELOG.md", search="", replace="\n[Unreleased]: https://github.com/assert-rs/predicates-rs/compare/{{tag_name}}...HEAD", exactly=1}, +] diff --git a/src/lib.rs b/src/lib.rs index 26c915d..f802eca 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,13 +1,6 @@ //! # Escargot: A Cargo API //! -//! ## Install -//! -//! Add to your `Cargo.toml`: -//! -//! ```toml -//! [dependencies] -//! escargot = "0.5" -//! ``` +//! ## Features //! //! Features: //! - `print` for logged output to be printed instead, generally for test writing.