Add more cli options
This commit is contained in:
parent
1b350f58b4
commit
09ae29fe9b
2
.env
2
.env
@ -1,2 +0,0 @@
|
|||||||
GITEA_USERNAME=kjuulh
|
|
||||||
GITEA_API_TOKEN=c0bd801cc9a7f2ed559ea45d603afc92f5443f19
|
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
/target
|
/target
|
||||||
.cuddle/
|
.cuddle/
|
||||||
target/
|
target/
|
||||||
|
.env
|
||||||
|
65
Cargo.lock
generated
65
Cargo.lock
generated
@ -2,6 +2,15 @@
|
|||||||
# It is not intended for manual editing.
|
# It is not intended for manual editing.
|
||||||
version = 3
|
version = 3
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ansi_term"
|
||||||
|
version = "0.12.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
|
||||||
|
dependencies = [
|
||||||
|
"winapi",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "async-trait"
|
name = "async-trait"
|
||||||
version = "0.1.58"
|
version = "0.1.58"
|
||||||
@ -69,6 +78,21 @@ version = "1.0.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "clap"
|
||||||
|
version = "2.34.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
|
||||||
|
dependencies = [
|
||||||
|
"ansi_term",
|
||||||
|
"atty",
|
||||||
|
"bitflags",
|
||||||
|
"strsim 0.8.0",
|
||||||
|
"textwrap",
|
||||||
|
"unicode-width",
|
||||||
|
"vec_map",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap"
|
name = "clap"
|
||||||
version = "4.0.18"
|
version = "4.0.18"
|
||||||
@ -78,7 +102,7 @@ dependencies = [
|
|||||||
"atty",
|
"atty",
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"clap_lex",
|
"clap_lex",
|
||||||
"strsim",
|
"strsim 0.10.0",
|
||||||
"termcolor",
|
"termcolor",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -107,6 +131,15 @@ version = "0.8.3"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
|
checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "dotenv"
|
||||||
|
version = "0.15.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f"
|
||||||
|
dependencies = [
|
||||||
|
"clap 2.34.0",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "encoding_rs"
|
name = "encoding_rs"
|
||||||
version = "0.8.31"
|
version = "0.8.31"
|
||||||
@ -583,6 +616,7 @@ dependencies = [
|
|||||||
name = "octopush"
|
name = "octopush"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"dotenv",
|
||||||
"eyre",
|
"eyre",
|
||||||
"octopush_cli",
|
"octopush_cli",
|
||||||
"tokio",
|
"tokio",
|
||||||
@ -594,7 +628,7 @@ dependencies = [
|
|||||||
name = "octopush_cli"
|
name = "octopush_cli"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap",
|
"clap 4.0.18",
|
||||||
"eyre",
|
"eyre",
|
||||||
"octopush_core",
|
"octopush_core",
|
||||||
"octopush_infra",
|
"octopush_infra",
|
||||||
@ -1015,6 +1049,12 @@ dependencies = [
|
|||||||
"winapi",
|
"winapi",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "strsim"
|
||||||
|
version = "0.8.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "strsim"
|
name = "strsim"
|
||||||
version = "0.10.0"
|
version = "0.10.0"
|
||||||
@ -1055,6 +1095,15 @@ dependencies = [
|
|||||||
"winapi-util",
|
"winapi-util",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "textwrap"
|
||||||
|
version = "0.11.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
|
||||||
|
dependencies = [
|
||||||
|
"unicode-width",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "thread_local"
|
name = "thread_local"
|
||||||
version = "1.1.4"
|
version = "1.1.4"
|
||||||
@ -1252,6 +1301,12 @@ dependencies = [
|
|||||||
"tinyvec",
|
"tinyvec",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "unicode-width"
|
||||||
|
version = "0.1.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unsafe-libyaml"
|
name = "unsafe-libyaml"
|
||||||
version = "0.2.4"
|
version = "0.2.4"
|
||||||
@ -1290,6 +1345,12 @@ version = "0.2.15"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
|
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "vec_map"
|
||||||
|
version = "0.8.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "version_check"
|
name = "version_check"
|
||||||
version = "0.9.4"
|
version = "0.9.4"
|
||||||
|
@ -28,3 +28,4 @@ tokio = { workspace = true }
|
|||||||
tracing = { workspace = true }
|
tracing = { workspace = true }
|
||||||
|
|
||||||
tracing-subscriber = { version = "0.3.16", features = ["json", "env-filter"] }
|
tracing-subscriber = { version = "0.3.16", features = ["json", "env-filter"] }
|
||||||
|
dotenv = { version = "0.15.0", features = ["clap", "cli"] }
|
||||||
|
@ -21,10 +21,24 @@ pub fn execute_cmd() -> Command {
|
|||||||
.required(true),
|
.required(true),
|
||||||
)
|
)
|
||||||
.arg(
|
.arg(
|
||||||
Arg::new("gitea-http-token")
|
Arg::new("gitea-api-token")
|
||||||
.long("gitea-http-token")
|
.long("gitea-api-token")
|
||||||
.action(ArgAction::Set)
|
.action(ArgAction::Set)
|
||||||
.env("GITEA_HTTP_TOKEN")
|
.env("GITEA_API_TOKEN")
|
||||||
|
.required(false),
|
||||||
|
)
|
||||||
|
.arg(
|
||||||
|
Arg::new("gitea-username")
|
||||||
|
.long("gitea-username")
|
||||||
|
.action(ArgAction::Set)
|
||||||
|
.env("GITEA_USERNAME")
|
||||||
|
.required(false),
|
||||||
|
)
|
||||||
|
.arg(
|
||||||
|
Arg::new("gitea-url")
|
||||||
|
.long("gitea-url")
|
||||||
|
.action(ArgAction::Set)
|
||||||
|
.env("GITEA_URL")
|
||||||
.required(false),
|
.required(false),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -34,13 +48,18 @@ pub async fn execute_subcommand(args: &ArgMatches) -> eyre::Result<()> {
|
|||||||
.get_one::<String>("action")
|
.get_one::<String>("action")
|
||||||
.ok_or(eyre::anyhow!("--action is required"))?;
|
.ok_or(eyre::anyhow!("--action is required"))?;
|
||||||
|
|
||||||
let gitea_http_token = args.get_one::<String>("gitea-http-token");
|
let gitea_http_token = args.get_one::<String>("gitea-api-token");
|
||||||
|
let gitea_username = args.get_one::<String>("gitea-username");
|
||||||
|
let gitea_url = args.get_one::<String>("gitea-url");
|
||||||
|
|
||||||
let service_register = ServiceRegister::new(
|
let service_register = ServiceRegister::new(
|
||||||
LocalGitProviderOptions { http_auth: None },
|
LocalGitProviderOptions { http_auth: None },
|
||||||
DefaultGiteaClientOptions {
|
DefaultGiteaClientOptions {
|
||||||
url: "https://git.front.kjuulh.io/api/v1".into(),
|
url: gitea_url.map(|g| g.clone()).unwrap_or("".into()),
|
||||||
basicauth: gitea_http_token.map(|t| t.clone()),
|
basicauth: gitea_username
|
||||||
|
.zip(gitea_http_token)
|
||||||
|
.map(|(u, ht)| format!("{}:{}", u, ht))
|
||||||
|
.map(|t| t.clone()),
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
|
use dotenv::dotenv;
|
||||||
use tracing_subscriber::prelude::*;
|
use tracing_subscriber::prelude::*;
|
||||||
|
|
||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
async fn main() -> eyre::Result<()> {
|
async fn main() -> eyre::Result<()> {
|
||||||
|
dotenv()?;
|
||||||
|
|
||||||
tracing_subscriber::registry()
|
tracing_subscriber::registry()
|
||||||
.with(tracing_subscriber::EnvFilter::new(
|
.with(tracing_subscriber::EnvFilter::new(
|
||||||
std::env::var("RUST_LOG")
|
std::env::var("RUST_LOG")
|
||||||
|
Loading…
Reference in New Issue
Block a user