tasks/build.min
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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
#!/usr/bin/env min
"min.yml" fread from-yaml :config
; Helpers
(
:prog (prog which "" ==) ("$# is not available" (prog) =% error 1 exit) when
) :required
(
:target-os
"nim" required
"Building - $# (x64)" (target-os) =% notice
"nim c -d:release --cpu:amd64 --os:$# min" (target-os) =% !
{}
target-os %os
config /version %version
pack
) :cz
(
:vdata
"min" :exe
(vdata /os "windows" ==) ("min.exe" @exe) when
"min_v$version:_$os:_x64.zip" :fn
fn vdata dpairs % ":" "" replace @fn
"Compressing: $#" (fn) =% notice
(exe) => fn zip
) :pack
(
"hastyscribe" required
"Building - guide" notice
"hastyscribe Min_DeveloperGuide.md --field/version=$#" (version) =% !
) :build-guide
(
"hastysite" required
"Building - site" notice
"cd site && hastysite build && cd .." !
) :build-site
(
config /version :min-version
"tasks/templates/min.vim" fread :template
timestamp "dd MMM YYYY" tformat :date
min-symbols " " join :symbols
"min.vim" :out-file
"Building - min.vim" notice
template ("date" date "version" min-version "symbols" symbols) =% out-file fwrite
) :build-vim
; Define module
{}
(
os cz
) %default
(
"linux" cz
) %linux
(
"macosx" cz
) %macosx
(
"windows" cz
) %windows
'build-guide %guide
'build-site %site
(
build-guide
build-site
) %docs
(
build-vim
) %vim
+build-tasks
|