-
Notifications
You must be signed in to change notification settings - Fork 22
/
Copy pathutil.sh
72 lines (65 loc) · 1.66 KB
/
util.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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/bin/sh
# clones all extensions from extensions.json into extensions folder
jq_ext_cmd='[.extensions[] | .repo + " " + .id] | unique | .[]'
clone() {
mkdir -p extensions
cd extensions
jq -r "$jq_ext_cmd" ../extensions.json | while read -r line
do
repo=$(echo $line | cut -f1 -d" " | sed 's/https:\/\//git@/' | sed 's/\//:/')
id=$(echo $line | cut -f2 -d" ")
git clone $repo $id
if command -v poetry &> /dev/null
then
poetry lock
fi
done
cd ..
}
# pulls all extensions from extensions.json
pull() {
cd extensions
jq -r "$jq_ext_cmd" ../extensions.json | while read -r line
do
# repo=$(echo $line | cut -f1 -d" " | sed 's/https:\/\//git@/' | sed 's/\//:/')
id=$(echo $line | cut -f2 -d" ")
cd $id
git pull
if command -v poetry && command -v npm &> /dev/null
then
poetry lock
poetry install
npm install
fi
cd ..
done
cd ..
}
# lint
lint() {
cd extensions
EXTS_DIR=$(pwd)
jq -r "$jq_ext_cmd" ../extensions.json | while read -r line
do
id=$(echo $line | cut -f2 -d" ")
cd $EXTS_DIR/$id
make
done
cd ../..
}
# gives you LNbits env variables for all extensions
env() {
env=$(jq -rj '[.extensions[].id] | unique | .[]+","' ./extensions.json | sed 's/.$//')
echo "LNBITS_EXTENSIONS_DEFAULT_INSTALL=\"$env\""
}
# param: extension id (example)
# param: version (v0.0.0)
update_extension() {
python update_version.py $1 $2
}
# execute functions
$@
# example
# sh util.sh clone
# sh util.sh pull
# sh util.sh update_extension example "v0.0.0"