aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/main.rs
blob: 6281dddd3d9af4a0813da28b5de691b188806e9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//! ref: composer/bin/composer

use shirabe::console::Application;
use shirabe::util::Platform;
use shirabe_php_shim::{realpath, run_shutdown_functions};

fn main() {
    // TODO(php-runtime): the full initialization process in composer/bin/composer should be ported
    // somewhere else that communicates with the real PHP runtime.

    Platform::put_env(
        "COMPOSER_BINARY",
        &realpath(&std::env::args().next().unwrap_or_default()).unwrap_or_default(),
    );

    // run the command application
    let mut application = Application::new("Composer".to_string(), String::new());
    let result = application.run(None, None);
    run_shutdown_functions();
    if let Err(e) = result {
        eprintln!("{}", e);
        std::process::exit(1);
    }
}