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
37
38
39
40
//! Buildchain creates and manages a distributed and reproducible chain of builds

extern crate base32;
extern crate lxd;
extern crate plain;
extern crate rand;
extern crate reqwest;
extern crate serde;
#[macro_use]
extern crate serde_derive;
extern crate serde_json;
extern crate sha2;
extern crate sodalite;
extern crate tempdir;

pub use self::block::Block;
pub use self::build::{build, BuildArguments};
pub use self::config::Config;
pub use self::download::{download, DownloadArguments, Downloader};
pub use self::lxd::Location;
pub use self::manifest::Manifest;
pub use self::pihsm::sign_manifest;
pub use self::sha384::Sha384;
pub use self::source::Source;
pub use self::store::Store;

mod block;
mod build;
mod config;
mod download;
mod manifest;
mod pihsm;
mod sha384;
mod source;
mod store;

// Helper function for errors
pub (crate) fn err_str<E: ::std::error::Error>(err: E) -> String {
    format!("{}", err.description())
}