aws_codebuild_status_web/
lib.rs

1use askama::Template;
2use aws_codebuild_status_derive::{BuildInformation, CodebuildOutput};
3use std::collections::HashMap;
4use std::fs;
5
6#[derive(Template)]
7#[template(path = "codebuild.html")]
8struct TemplateData {
9    build_information: HashMap<String, Vec<BuildInformation>>,
10}
11
12pub struct WebOutput;
13
14impl CodebuildOutput for WebOutput {
15    fn print(build_information: HashMap<String, Vec<BuildInformation>>) {
16        let template = TemplateData {
17            build_information,
18        };
19        fs::write("/tmp/aws-codebuild-status.html", template.render().unwrap()).expect("Unable to write file");
20        println!("Saved static website at: file:///tmp/aws-codebuild-status.html");
21    }
22}