summaryrefslogtreecommitdiff
path: root/ofborg/tickborg-simple-build/src/main.rs
blob: 1d88bb1a0528abe4e097e73601a671132890e00d (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
25
26
27
28
29
30
31
32
33
34
35
36
extern crate log;

use std::env;
use std::path::Path;

use tickborg::buildtool;
use tickborg::config;

fn main() {
    tickborg::setup_log();

    log::info!("Loading config...");
    let cfg = config::load(env::args().nth(1).unwrap().as_ref());
    let executor = cfg.build_executor();

    log::info!("Running build...");
    // Build the first known project as a smoke test
    if let Some(project) = buildtool::known_projects().first() {
        match executor.build_project(Path::new("./"), project) {
            Ok(mut output) => {
                use std::io::Read;
                let mut buf = String::new();
                output.read_to_string(&mut buf).ok();
                print!("{buf}");
            }
            Err(mut output) => {
                use std::io::Read;
                let mut buf = String::new();
                output.read_to_string(&mut buf).ok();
                eprintln!("Build failed:\n{buf}");
            }
        }
    } else {
        log::error!("No projects configured");
    }
}