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 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
#!/usr/bin/env min "_helpers" load 'helpers import ( :target-os :variant " " :d-variant "min" :o-variant (variant length 0 >) ( "-d:$# " (variant) =% @d-variant "$#min" (variant) =% @o-variant ) when "nim" required "Building $# - $# (x64)" (o-variant target-os) =% notice "" :musl "musl-gcc" :musl-gcc (musl-gcc length 0 >) ("--gcc.exe:musl-gcc --gcc.linkerexe:musl-gcc" @musl) when "nim c -d:release -d:ssl $# --cpu:amd64 --os:$# $#-o:$# min" (musl target-os d-variant o-variant) =% puts ! {} target-os %os config /version %version o-variant %exe pack ) :cz ( :vdata vdata /exe :exe (vdata /os "windows" ==) ("$#.exe" (exe) =% @exe) when "$exe:_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) =% ! !"cp Min_DeveloperGuide.htm site/output/guide.dev.html" ) :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 ; Module symbols {} ( "lite" os cz ) %lite ( "mini" os cz ) %mini ( "" os cz ) %default ( "" "linux" cz ) %linux ( "lite" "linux" cz ) %linux-lite ( "mini" "linux" cz ) %linux-mini ( "" "macosx" cz ) %macosx ( "lite" "macosx" cz ) %macosx-lite ( "mini" "macosx" cz ) %macosx-mini ( "" "windows" cz ) %windows ( "lite" "windows" cz ) %windows-lite ( "mini" "windows" cz ) %windows-mini 'build-guide %guide 'build-site %site ( build-guide build-site ) %docs ( build-vim ) %vim +build-tasks |