#!/usr/bin/env bash # # Common functions. # NOTE: The module that sources this must initialize THIS_DIR. # # Usage: # ./common.sh set -o nounset set -o pipefail set -o errexit const GRAMMAR = '_tmp/py27.grammar.pickle' proc log { echo @Argv > !2 } proc die { log "FATAL: $ifsjoin(Argv)" exit 1 } proc opy_ { env PYTHONPATH=$THIS_DIR $THIS_DIR/../bin/opy_.py @Argv } # NOTES: # - Exclude _devbuild/cpython-full, but include _devbuild/gen. # - must exclude opy/testdata/, because some of it can't be compiled # Has some similiarity to test/lint.sh, but not the same. proc oil-python-sources { var repo_root = $1 var fmt = $(2:-'%P\n') find $repo_root \ -name _tmp -a -prune -o \ -name _chroot -a -prune -o \ -name _deps -a -prune -o \ -name _regtest -a -prune -o \ -name cpython-full -a -prune -o \ -name testdata -a -prune -o \ -name Python-2.7.13 -a -prune -o \ -name '*.py' -a -printf $fmt } proc opyc-run { ../bin/opyc run @Argv } proc opyc-compile { ../bin/opyc compile @Argv }