mirror of https://github.com/msfjarvis/adx.git
WIP channel filter
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
parent
5e5aa98ad3
commit
2de96a5486
|
@ -32,6 +32,17 @@ impl Channel {
|
|||
panic!("Failed to determine channel for {}", version)
|
||||
}
|
||||
}
|
||||
|
||||
pub fn from_name(name: &str) -> Channel {
|
||||
match name {
|
||||
"stable" => Channel::Stable,
|
||||
"dev" => Channel::Dev,
|
||||
"alpha" => Channel::Alpha,
|
||||
"beta" => Channel::Beta,
|
||||
"rc" => Channel::RC,
|
||||
_ => panic!("Failed to parse channel from '{}'", name),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Clone for Channel {
|
||||
|
|
19
src/main.rs
19
src/main.rs
|
@ -4,12 +4,13 @@ extern crate log;
|
|||
extern crate roxmltree;
|
||||
extern crate ureq;
|
||||
|
||||
use clap::{crate_name, crate_version, App, Arg, ArgGroup};
|
||||
use log::{LevelFilter, Metadata, Record};
|
||||
|
||||
mod channel;
|
||||
mod parse;
|
||||
|
||||
use crate::channel::Channel;
|
||||
use clap::{crate_name, crate_version, App, Arg, ArgGroup};
|
||||
use log::{LevelFilter, Metadata, Record};
|
||||
|
||||
/// Simple logger that simply outputs everything using println!()
|
||||
/// It prints all levels in debug builds, and nothing on release builds.
|
||||
struct StdOutLogger;
|
||||
|
@ -44,6 +45,11 @@ fn main() {
|
|||
.short("a")
|
||||
.long("all")
|
||||
.takes_value(false),
|
||||
Arg::with_name("channel")
|
||||
.long("channel")
|
||||
.takes_value(true)
|
||||
.possible_values(&["stable", "alpha", "beta", "rc", "dev"])
|
||||
.default_value("stable"),
|
||||
Arg::with_name("condensed")
|
||||
.short("c")
|
||||
.long("condensed")
|
||||
|
@ -61,7 +67,12 @@ fn main() {
|
|||
println!("No results found!");
|
||||
} else if matches.is_present("condensed") || matches.is_present("all") {
|
||||
for package in packages.iter() {
|
||||
println!("{:?}", package);
|
||||
println!(
|
||||
"{}",
|
||||
package.get_condensed(Channel::from_name(
|
||||
matches.value_of("channel").unwrap_or("stable")
|
||||
))
|
||||
);
|
||||
}
|
||||
} else {
|
||||
println!("{}", packages[0]);
|
||||
|
|
13
src/parse.rs
13
src/parse.rs
|
@ -1,7 +1,6 @@
|
|||
use std::collections::HashMap;
|
||||
use std::convert::TryInto;
|
||||
use std::fmt;
|
||||
use std::fmt::Debug;
|
||||
use std::fmt::Display;
|
||||
use std::fmt::Formatter;
|
||||
use std::result::Result;
|
||||
|
@ -25,13 +24,11 @@ pub struct MavenPackage {
|
|||
latest_stable: Option<String>,
|
||||
}
|
||||
|
||||
impl Debug for MavenPackage {
|
||||
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
|
||||
write!(
|
||||
f,
|
||||
"{}:{}:{}",
|
||||
self.group_id, self.artifact_id, self.all_versions[0]
|
||||
)
|
||||
impl MavenPackage {
|
||||
pub(crate) fn get_condensed(&self, channel: Channel) -> String {
|
||||
let mut result = String::new();
|
||||
result.push_str(&format!("{}:{}:", self.group_id, self.artifact_id));
|
||||
result
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue