diff --git a/.idea/androidx-release-watcher.iml b/.idea/androidx-release-watcher.iml index b7b4242..d1568d0 100644 --- a/.idea/androidx-release-watcher.iml +++ b/.idea/androidx-release-watcher.iml @@ -6,6 +6,7 @@ + diff --git a/.idea/ktfmt.xml b/.idea/ktfmt.xml new file mode 100644 index 0000000..f0d6dab --- /dev/null +++ b/.idea/ktfmt.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/adx/Cargo.toml b/adx/Cargo.toml index ab64101..0cc6a9f 100644 --- a/adx/Cargo.toml +++ b/adx/Cargo.toml @@ -13,7 +13,7 @@ readme = "../README.md" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -clap = { version = "3.2.5", features = [ "color", "derive" ] } +clap = { version = "3.2.5", features = [ "color", "deprecated", "derive" ] } color-eyre = { version = "0.6.1", default-features = false } futures = "0.3.21" reqwest = { version = "0.11.11", default-features = false, features = ["rustls-tls"] } diff --git a/adx/src/channel.rs b/adx/src/channel.rs index 1c738a4..c22943e 100644 --- a/adx/src/channel.rs +++ b/adx/src/channel.rs @@ -3,6 +3,7 @@ use std::convert::TryFrom; use std::fmt::Debug; use std::str::FromStr; +use clap::ValueEnum; use semver::{Prerelease, Version}; use thiserror::Error; @@ -10,7 +11,7 @@ use thiserror::Error; /// Since we're deriving `PartialOrd` automatically, the order /// of these fields is crucial. Sort by stability, not alphabetical /// order. -#[derive(Debug, Eq, PartialEq, PartialOrd, Clone, Copy)] +#[derive(ValueEnum, Debug, Eq, PartialEq, PartialOrd, Clone, Copy)] pub(crate) enum Channel { Dev, Alpha, diff --git a/adx/src/main.rs b/adx/src/main.rs index bbbf3f3..3eff467 100644 --- a/adx/src/main.rs +++ b/adx/src/main.rs @@ -8,7 +8,7 @@ mod stats_alloc; use std::alloc::System; use channel::Channel; -use clap::{AppSettings, Parser}; +use clap::{builder::PossibleValuesParser, AppSettings, Parser}; use color_eyre::Result; #[cfg(feature = "measure-alloc")] use stats_alloc::{Region, StatsAlloc, INSTRUMENTED_SYSTEM}; @@ -26,7 +26,7 @@ pub(crate) struct Cli { #[clap(required = true)] pub(crate) search_term: String, /// the release channel to find packages from - #[clap(short='c', long="channel", possible_values=&["alpha", "a", "beta", "b", "dev", "d", "rc", "r", "stable", "s"], default_value="a")] + #[clap(short='c', long="channel", value_parser=PossibleValuesParser::new(&["alpha", "a", "beta", "b", "dev", "d", "rc", "r", "stable", "s"]), default_value="a")] pub(crate) channel: Channel, } @@ -37,9 +37,9 @@ async fn main() -> Result<()> { let reg = Region::new(GLOBAL); let cli = Cli::parse(); #[cfg(feature = "measure-alloc")] - let packages = crate::parse::parse("", cli.channel).await?; + let packages = parse::parse("", cli.channel).await?; #[cfg(not(feature = "measure-alloc"))] - let packages = crate::parse::parse(&cli.search_term, cli.channel).await?; + let packages = parse::parse(&cli.search_term, cli.channel).await?; if packages.is_empty() { println!("No results found!"); } else { diff --git a/adx/src/parse.rs b/adx/src/parse.rs index c1ec35f..6b20721 100644 --- a/adx/src/parse.rs +++ b/adx/src/parse.rs @@ -81,7 +81,7 @@ async fn parse_packages(groups: Vec, channel: Channel) -> Result