Packages
caffeine_lang
0.0.21
6.3.1
6.3.0
6.2.2
6.2.1
6.2.0
6.1.2
6.1.1
6.1.0
6.0.0
5.6.0
5.5.0
5.4.4
5.4.3
5.4.2
5.4.1
5.4.0
5.3.0
5.2.0
5.1.1
5.1.0
5.0.12
5.0.11
5.0.10
5.0.8
5.0.7
5.0.6
5.0.5
5.0.4
5.0.1
5.0.0
4.10.0
4.9.0
4.8.3
4.8.2
4.8.1
4.8.0
4.7.9
4.7.8
4.7.7
4.7.6
4.7.5
4.6.7
4.6.6
4.6.5
4.6.4
4.6.3
4.6.2
4.6.0
4.5.1
4.5.0
4.4.4
4.4.3
4.4.1
4.4.0
4.3.7
4.3.6
3.0.6
3.0.5
3.0.4
3.0.3
3.0.2
3.0.1
3.0.0
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
1.0.2
1.0.1
0.1.0
0.0.24
0.0.23
0.0.22
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.2
0.0.1
A compiler for generating reliability artifacts from service expectation definitions.
Current section
Files
Jump to
Current section
Files
src/caffeine_lang.gleam
import argv
import caffeine_lang/compiler
import gleam/io
fn print_usage() -> Nil {
io.println("Caffeine SLI/SLO compiler")
io.println("")
io.println("Usage:")
io.println(
" caffeine compile <specification_directory> <instantiation_directory> <output_directory>",
)
io.println("")
io.println("Arguments:")
io.println(
" specification_directory Directory containing specification files",
)
io.println(
" instantiation_directory Directory containing instantiation files",
)
io.println(" output_directory Directory to output compiled files")
}
pub fn main() -> Nil {
let args = argv.load().arguments
case args {
["compile", spec_dir, inst_dir, output_dir] -> {
compiler.compile(spec_dir, inst_dir, output_dir)
}
["compile"] -> {
io.println_error("Error: compile command requires 3 arguments")
print_usage()
}
["compile", ..] -> {
io.println_error("Error: compile command requires exactly 3 arguments")
print_usage()
}
["--help"] | ["-h"] | [] -> {
print_usage()
}
_ -> {
io.println_error("Error: unknown command")
print_usage()
}
}
}