summaryrefslogtreecommitdiffhomepage
path: root/pipeline/build.sh
blob: e4eac9cbf695a871ab12b49313882bbef7de849a (plain)
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
#!/bin/sh
# Build every reader, every library and every writer, in both languages.
#
# Each project is its own flake and builds on its own. The library has no
# public url yet, so the three that depend on it are given the local copy with
# --override-input; that argument goes away when it is published.
set -e
. "$(dirname "$0")/config.sh"

build() {   # <directory> [flake output]
  dir=$1; out=${2:-}
  printf '%-44s' "$(basename "$(dirname "$dir")")/$(basename "$dir") ${out}"
  if ( cd "$dir" && nix build ${out:+"$out"} \
         --override-input ocda-lib "path:$OCDA_LIB" >/dev/null 2>&1 ) \
     || ( cd "$dir" && nix build ${out:+"$out"} >/dev/null 2>&1 )
  then echo ok
  else echo FAILED; failed=1
  fi
}

failed=0
build "$OCDA_LIB/dlang" .#ocda-dump
build "$OCDA_LIB/dlang" .#ocda-agree
build "$OCDA_LIB/gleam"
build "$SSP_READER/dlang"
build "$SSP_READER/gleam"
build "$DB_READER/dlang"
build "$DB_READER/gleam"
build "$WRITERS/dlang"
build "$WRITERS/gleam"
exit $failed