cargo_publish_workspace/
lib.rs1use self::cli::Command;
2use anyhow::{
3 bail,
4 Context,
5 Error,
6};
7use clap::Parser;
8use std::{
9 self,
10 process::{self,},
11 thread::sleep,
12 time::Duration,
13};
14
15use crate::{
16 order_crates::{
17 order_crates_for_publishing,
18 CrateInfo,
19 },
20 publish::publish_workspace,
21 utils::print_style,
22};
23
24mod cli;
25mod order_crates;
26mod publish;
27#[macro_use]
28mod utils;
29
30type Result<T = (), E = Error> = std::result::Result<T, E>;
32
33pub const ENV_VAR_CARGO_REGISTRY_TOKEN: &str = "CARGO_REGISTRY_TOKEN";
35pub const ENV_VAR_CI_TAG: &str = "CI_TAG";
36
37pub fn main() {
38 let args = Command::parse();
39
40 if let Err(err) = args.exec() {
41 print_error!(&format!("{err:?}"));
42 process::exit(1);
43 }
44}