xtask: Upgrade dependencies

This commit is contained in:
Jonas Platte 2021-10-18 12:52:31 +02:00
parent cda6119224
commit e579735ebc
No known key found for this signature in database
GPG Key ID: CC154DE0E30B7C67
3 changed files with 22 additions and 26 deletions

View File

@ -9,12 +9,11 @@ publish = false
default = ["isahc", "semver", "toml_edit"] default = ["isahc", "semver", "toml_edit"]
[dependencies] [dependencies]
assign = "1.1.1"
isahc = { version = "1.2.0", features = ["json"], optional = true } isahc = { version = "1.2.0", features = ["json"], optional = true }
semver = { version = "0.11.0", features = ["serde"], optional = true } semver = { version = "1.0.4", features = ["serde"], optional = true }
serde = { version = "1.0.118", features = ["derive"] } serde = { version = "1.0.118", features = ["derive"] }
serde_json = "1.0.60" serde_json = "1.0.60"
toml = "0.5.8" toml = "0.5.8"
toml_edit = { version = "0.2.0", optional = true } toml_edit = { version = "0.6.0", optional = true }
xflags = "0.2.1" xflags = "0.2.1"
xshell = "0.1.9" xshell = "0.1.9"

View File

@ -1,6 +1,5 @@
use std::path::PathBuf; use std::path::PathBuf;
use assign::assign;
use isahc::{HttpClient, ReadResponseExt}; use isahc::{HttpClient, ReadResponseExt};
use semver::Version; use semver::Version;
use serde::{de::IgnoredAny, Deserialize}; use serde::{de::IgnoredAny, Deserialize};
@ -55,7 +54,7 @@ impl Package {
let mut document = read_file(&package.manifest_path)?.parse::<Document>()?; let mut document = read_file(&package.manifest_path)?.parse::<Document>()?;
let version = if self.version.is_prerelease() let version = if !self.version.pre.is_empty()
|| self.name.strip_suffix("-macros") == Some(&package.name) || self.name.strip_suffix("-macros") == Some(&package.name)
{ {
format!("={}", self.version) format!("={}", self.version)
@ -87,7 +86,11 @@ impl Package {
changelog_path.set_file_name("CHANGELOG.md"); changelog_path.set_file_name("CHANGELOG.md");
let changelog = read_file(&changelog_path)?; let changelog = read_file(&changelog_path)?;
let version = assign!(self.version.clone(), { pre: vec![], build: vec![] }); let version = Version {
pre: semver::Prerelease::EMPTY,
build: semver::BuildMetadata::EMPTY,
..self.version.clone()
};
if !changelog.starts_with(&format!("# {}\n", version)) if !changelog.starts_with(&format!("# {}\n", version))
&& !changelog.starts_with(&format!("# {} (unreleased)\n", version)) && !changelog.starts_with(&format!("# {} (unreleased)\n", version))

View File

@ -10,7 +10,7 @@ use isahc::{
http::StatusCode, http::StatusCode,
HttpClient, ReadResponseExt, Request, HttpClient, ReadResponseExt, Request,
}; };
use semver::{Identifier, Version}; use semver::Version;
use serde_json::json; use serde_json::json;
use crate::{cargo::Package, cmd, util::ask_yes_no, GithubConfig, Metadata, Result}; use crate::{cargo::Package, cmd, util::ask_yes_no, GithubConfig, Metadata, Result};
@ -58,7 +58,7 @@ impl ReleaseTask {
/// Run the task to effectively create a release. /// Run the task to effectively create a release.
pub(crate) fn run(&mut self) -> Result<()> { pub(crate) fn run(&mut self) -> Result<()> {
let title = &self.title(); let title = &self.title();
let prerelease = self.version.is_prerelease(); let prerelease = !self.version.pre.is_empty();
let publish_only = self.package.name == "ruma-identifiers-validation"; let publish_only = self.package.name == "ruma-identifiers-validation";
if let Some(name) = self.package.name.strip_suffix("-macros") { if let Some(name) = self.package.name.strip_suffix("-macros") {
@ -371,35 +371,29 @@ trait VersionExt {
impl VersionExt for Version { impl VersionExt for Version {
fn add_pre_release(&mut self) { fn add_pre_release(&mut self) {
if !self.is_prerelease() { if self.pre.is_empty() {
self.pre = vec![Identifier::AlphaNumeric("alpha".into()), Identifier::Numeric(1)]; self.pre = semver::Prerelease::new("alpha.1").unwrap();
} }
} }
fn increment_pre_number(&mut self) { fn increment_pre_number(&mut self) {
if self.is_prerelease() { if let Some((prefix, num)) = self.pre.as_str().rsplit_once('.') {
if let Identifier::Numeric(n) = self.pre[1] { if let Ok(num) = num.parse::<u8>() {
self.pre[1] = Identifier::Numeric(n + 1); self.pre = semver::Prerelease::new(&format!("{}.{}", prefix, num + 1)).unwrap();
} }
} }
} }
fn increment_pre_label(&mut self) { fn increment_pre_label(&mut self) {
if self.is_prerelease() { if self.pre.as_str().starts_with("alpha.") {
match &self.pre[0] { self.pre = semver::Prerelease::new("beta.1").unwrap();
Identifier::AlphaNumeric(n) if n == "alpha" => {
self.pre =
vec![Identifier::AlphaNumeric("beta".into()), Identifier::Numeric(1)];
}
_ => {}
}
} }
} }
fn is_next(&self, version: &Version) -> bool { fn is_next(&self, version: &Version) -> bool {
let mut next = self.clone(); let mut next = self.clone();
if self.is_prerelease() { if !self.pre.is_empty() {
next.increment_pre_number(); next.increment_pre_number();
if next == *version { if next == *version {
return true; return true;
@ -410,9 +404,9 @@ impl VersionExt for Version {
return true; return true;
} }
next.pre = vec![]; next.pre = semver::Prerelease::EMPTY;
} else { } else {
next.increment_patch(); next.patch += 1;
if next == *version { if next == *version {
return true; return true;
} }
@ -422,7 +416,7 @@ impl VersionExt for Version {
return true; return true;
} }
next.increment_minor(); next.minor += 1;
if next == *version { if next == *version {
return true; return true;
} }
@ -432,7 +426,7 @@ impl VersionExt for Version {
return true; return true;
} }
next.increment_major(); next.major += 1;
if next == *version { if next == *version {
return true; return true;
} }