commit-bridge 0.1.0

Seamless workflow dispatch for remote git dependencies.
Documentation
#![doc = include_str!("../README.md")]
#![warn(missing_docs, clippy::missing_docs_in_private_items)]
#![warn(
    clippy::panic,
    clippy::expect_used,
    clippy::todo,
    clippy::unimplemented,
    clippy::indexing_slicing
)]

use commit_bridge::run_app;
use tokio_util::{sync::CancellationToken, task::TaskTracker};
use tracing::{error, info};

#[tokio::main]
async fn main() {
    tracing_subscriber::fmt::init();

    #[cfg(debug_assertions)]
    tracing::warn!("APPLICATION IS RUNNING IN DEBUG MODE.");

    let tracker = TaskTracker::new();
    let token = CancellationToken::new();

    run_app(&tracker, &token)
        .await
        .unwrap_or_else(|e| error!("{e}"));

    token.cancel();
    tracker.close();
    tracker.wait().await;
    info!("All systems terminated. Terminating process.")
}