/
common.sh
59 lines (49 loc) · 1.18 KB
/
common.sh
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
#!/usr/bin/env bash
#
# Common functions.
# NOTE: The module that sources this must initialize THIS_DIR.
#
# Usage:
# ./common.sh <function name>
set -o nounset
set -o pipefail
set -o errexit
readonly GRAMMAR=_tmp/py27.grammar.pickle
# Used by scripts/release.sh too.
readonly OSH_BYTERUN=opy/_tmp/repo-with-opy/bin/osh-byterun
log() {
echo "$@" >&2
}
die() {
log "FATAL: $@"
exit 1
}
opy_() {
PYTHONPATH=$THIS_DIR $THIS_DIR/../bin/opy_.py "$@"
}
# 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.
oil-python-sources() {
local repo_root=$1
local fmt=${2:-'%P\n'}
# mycpp: exclude Python 3 sources
find $repo_root \
-name _tmp -a -prune -o \
-name _chroot -a -prune -o \
-name _clone -a -prune -o \
-name _deps -a -prune -o \
-name _regtest -a -prune -o \
-name mycpp -a -prune -o \
-name testdata -a -prune -o \
-name Python-2.7.13 -a -prune -o \
-name py-yajl -a -prune -o \
-name '*.py' -a -printf "$fmt"
}
opyc-run() {
../bin/opyc run "$@"
}
opyc-compile() {
../bin/opyc compile "$@"
}