summaryrefslogtreecommitdiff
path: root/scripts/build.sh
blob: 9ab3b1719a6ce4a0fb26672bfb553a20f8646f25 (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
32
33
34
35
36
37
38
#!/bin/zsh

desired_build_file=${1:-all}
desired_format=${2:-pdf}
built_in_all="all"

build_base_command() {
  local command_builder="chordpro"
  local file_name=$1
  local file_type=$2

  command_builder="$command_builder --config=$PWD/config.json"

  if [[ -f "$PWD/configs/$file_name.json" ]] ; then
    command_builder="$command_builder --config=$PWD/configs/$file_name.json"
  fi

  command_builder="$command_builder $PWD/src/$file_name.chordpro"
  command_builder="$command_builder -o $PWD/out/$file_name.$file_type"

  echo ""
  echo "Starting $file_name"
  echo ""
  echo $command_builder
  echo ""
  eval ${command_builder}
}

render_all() {
  for file in $PWD/src/**/*(.); do build_base_command $file:t:r $desired_format:l; done
}

echo "Interpreted as request to build '${desired_build_file:l}' as '${desired_format:l}'"
if [[ $desired_build_file:l == $built_in_all:l ]] ; then
  render_all
else
  build_base_command $desired_build_file:l $desired_format:l
fi