|
|
|
mod download;
|
|
|
|
mod query;
|
|
|
|
mod list;
|
|
|
|
mod remove;
|
|
|
|
mod repository;
|
|
|
|
mod install;
|
|
|
|
mod package;
|
|
|
|
|
|
|
|
use crate::repository::find_package_in_repositories;
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let operation = std::env::args().nth(1).expect("too few arguments!");
|
|
|
|
let args: String = std::env::args().collect();
|
|
|
|
let package_data = crate::package::read_package(std::fs::read_to_string("example-package/Package.toml").expect("Failed to read file"));
|
|
|
|
dbg!(package_data);
|
|
|
|
match operation.as_str() {
|
|
|
|
"upgrade" | "u" => {
|
|
|
|
|
|
|
|
}
|
|
|
|
"install" | "i" => {
|
|
|
|
if std::env::args().nth(2).expect("too few arguments!") == "--local" {
|
|
|
|
|
|
|
|
} else {
|
|
|
|
let package_name = std::env::args().nth(2).expect("too few arguments!");
|
|
|
|
find_package_in_repositories(&package_name, None);
|
|
|
|
println!("Reading package list");
|
|
|
|
let package_list = sled::open("/var/gaypack/packages").expect("Failed to open package list");
|
|
|
|
if package_list.contains_key(&package_name).expect("Unexpected error") {
|
|
|
|
println!("Package was found in package list, checking for updates");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
"remove" | "r" => {
|
|
|
|
|
|
|
|
}
|
|
|
|
"list" | "l" => {
|
|
|
|
|
|
|
|
}
|
|
|
|
"query" | "q" => {
|
|
|
|
|
|
|
|
}
|
|
|
|
"repository" | "repo" => {
|
|
|
|
|
|
|
|
}
|
|
|
|
_ => {
|
|
|
|
panic!("Unknown operation: {}", operation);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|