dependencies setup

This commit is contained in:
sagie gur ari 2020-03-07 21:48:33 +00:00
parent de08897bee
commit 2ee763a5cc
3 changed files with 60 additions and 27 deletions

View file

@ -5,6 +5,23 @@ use duckscript::types::command::{Command, CommandResult};
#[path = "./mod_test.rs"]
mod mod_test;
cfg_if::cfg_if! {
if #[cfg(windows)] {
fn get_os_value() -> Result<String, String> {
Ok("Windows".to_string())
}
} else {
use uname::uname;
fn get_os_value() -> Result<String, String> {
match uname() {
Ok(info) => Ok(info.sysname),
Err(error) => Err(error.to_string()),
}
}
}
}
#[derive(Clone)]
pub(crate) struct CommandImpl {
package: String,
@ -28,15 +45,9 @@ impl Command for CommandImpl {
}
fn run(&self, _arguments: Vec<String>) -> CommandResult {
if cfg!(windows) {
CommandResult::Continue(Some("Windows".to_string()))
} else {
use uname::uname;
match uname() {
Ok(info) => CommandResult::Continue(Some(info.sysname)),
Err(error) => CommandResult::Error(error.to_string()),
}
match get_os_value() {
Ok(value) => CommandResult::Continue(Some(value)),
Err(error) => CommandResult::Error(error),
}
}
}

View file

@ -5,6 +5,23 @@ use duckscript::types::command::{Command, CommandResult};
#[path = "./mod_test.rs"]
mod mod_test;
cfg_if::cfg_if! {
if #[cfg(windows)] {
fn get_os_value() -> Result<String, String> {
Err("Not Supported.".to_string())
}
} else {
use uname::uname;
fn get_os_value() -> Result<String, String> {
match uname() {
Ok(info) => Ok(info.release),
Err(error) => Err(error.to_string()),
}
}
}
}
#[derive(Clone)]
pub(crate) struct CommandImpl {
package: String,
@ -28,15 +45,9 @@ impl Command for CommandImpl {
}
fn run(&self, _arguments: Vec<String>) -> CommandResult {
if cfg!(windows) {
CommandResult::Error("Not Supported.".to_string())
} else {
use uname::uname;
match uname() {
Ok(info) => CommandResult::Continue(Some(info.release)),
Err(error) => CommandResult::Error(error.to_string()),
}
match get_os_value() {
Ok(value) => CommandResult::Continue(Some(value)),
Err(error) => CommandResult::Error(error),
}
}
}

View file

@ -5,6 +5,23 @@ use duckscript::types::command::{Command, CommandResult};
#[path = "./mod_test.rs"]
mod mod_test;
cfg_if::cfg_if! {
if #[cfg(windows)] {
fn get_os_value() -> Result<String, String> {
Err("Not Supported.".to_string())
}
} else {
use uname::uname;
fn get_os_value() -> Result<String, String> {
match uname() {
Ok(info) => Ok(info.version),
Err(error) => Err(error.to_string()),
}
}
}
}
#[derive(Clone)]
pub(crate) struct CommandImpl {
package: String,
@ -28,15 +45,9 @@ impl Command for CommandImpl {
}
fn run(&self, _arguments: Vec<String>) -> CommandResult {
if cfg!(windows) {
CommandResult::Error("Not Supported.".to_string())
} else {
use uname::uname;
match uname() {
Ok(info) => CommandResult::Continue(Some(info.version)),
Err(error) => CommandResult::Error(error.to_string()),
}
match get_os_value() {
Ok(value) => CommandResult::Continue(Some(value)),
Err(error) => CommandResult::Error(error),
}
}
}