use anyhow::Result;
use pkgsrc::Pattern;
use std::env;
use std::fs;
use std::io::BufRead;
fn main() -> Result<()> {
let args: Vec<String> = env::args().collect();
if args.len() != 3 {
eprintln!("usage: test-pkgmatch <pkgdeps.txt> <pkgnames.txt>");
std::process::exit(1);
}
let pkgdeps = fs::read(&args[1])?;
let pkgnames = fs::read(&args[2])?;
let mut deps = vec![];
let mut pkgs = vec![];
for dep in pkgdeps.lines() {
deps.push(dep?);
}
for pkg in pkgnames.lines() {
pkgs.push(pkg?);
}
for dep in &deps {
let m = Pattern::new(dep)?;
for pkg in &pkgs {
if m.matches(pkg) {
println!("{dep} {pkg}");
}
}
}
Ok(())
}