Skip to content

Commit ba53605

Browse files
Format scripts
1 parent 37fd5cc commit ba53605

File tree

3 files changed

+218
-184
lines changed

3 files changed

+218
-184
lines changed

src/build_obsidian_plugin.sh

Lines changed: 104 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -1,111 +1,125 @@
1-
pushd "$(dirname "${BASH_SOURCE[0]}")" > /dev/null || exit
1+
pushd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null || exit
22

33
. ./obsidian_plugin_build_strategies.sh
44

5-
popd > /dev/null || exit
5+
popd >/dev/null || exit
66

77
build_obsidian_plugin() {
8-
for plugin_source in "$@"
9-
do
10-
if [[ -z "$plugin_source" ]]; then
11-
echo "Error: no Obsidian plugin source code provided! Can't build Obsidian plugin."; exit 1
12-
fi
13-
14-
echo "Building Obsidian plugin at path: $plugin_source"
15-
16-
if [ ! -d "$plugin_source" ]; then
17-
echo "Error: Obsidian plugin source code at path $plugin_source not found!"; exit 2
18-
fi
19-
20-
pushd "$plugin_source" > /dev/null || {
21-
echo "Error: failed to enter Obsidian plugin source code folder at path $plugin_source!"; exit 3
8+
for plugin_source in "$@"; do
9+
if [[ -z "$plugin_source" ]]; then
10+
echo "Error: no Obsidian plugin source code provided! Can't build Obsidian plugin."
11+
exit 1
12+
fi
13+
14+
echo "Building Obsidian plugin at path: $plugin_source"
15+
16+
if [ ! -d "$plugin_source" ]; then
17+
echo "Error: Obsidian plugin source code at path $plugin_source not found!"
18+
exit 2
19+
fi
20+
21+
pushd "$plugin_source" >/dev/null || {
22+
echo "Error: failed to enter Obsidian plugin source code folder at path $plugin_source!"
23+
exit 3
24+
}
25+
26+
if [ ! -f ./manifest.json ]; then
27+
echo "Obsidian plugin manifest.json file not found at path $plugin_source!"
28+
exit 4
29+
fi
30+
31+
local plugin_json
32+
plugin_json=$(cat ./manifest.json) || {
33+
echo "Error: failed to read Obsidian plugin manifest.json file at path $plugin_source!"
34+
exit 5
35+
}
36+
37+
local plugin_id
38+
plugin_id=$(echo "$plugin_json" | jq -r .id) || {
39+
echo "Error: failed to read Obsidian plugin ID from manifest.json file when building plugin at path $plugin_source!"
40+
exit 6
41+
}
42+
43+
if [[ -z $plugin_id ]]; then
44+
echo "Error: failed to read Obsidian plugin ID from manifest.json file while building Obsidian plugin at path $plugin_source!"
45+
exit 6
46+
fi
47+
48+
echo "Building Obsidian plugin with ID $plugin_id..."
49+
50+
echo "Installing dependencies"
51+
52+
pwd
53+
54+
npm install || {
55+
echo "Error: failed to install dependencies of Obsidian plugin $plugin_id!"
56+
exit 7
57+
}
58+
59+
local build_strategy=${obsidian_plugin_build_strategies[$plugin_id]}
60+
61+
if [[ -z $build_strategy ]]; then
62+
echo "No custom build strategy identified"
63+
else
64+
echo "Custom build strategy identified: $build_strategy"
65+
fi
66+
67+
case $build_strategy in
68+
"excalidraw")
69+
echo "Using Excalidraw Obsidian plugin build strategy"
70+
71+
pushd "./MathjaxToSVG" >/dev/null || {
72+
echo "Error: failed to access Obsidian $plugin_id sub-directory!"
73+
exit 8
2274
}
2375

24-
if [ ! -f ./manifest.json ]; then
25-
echo "Obsidian plugin manifest.json file not found at path $plugin_source!"; exit 4
26-
fi
27-
28-
local plugin_json
29-
plugin_json=$(cat ./manifest.json) || {
30-
echo "Error: failed to read Obsidian plugin manifest.json file at path $plugin_source!"; exit 5
76+
npm install || {
77+
echo "Error: failed to install Obsidian plugin $plugin_id sub-directory dependencies!"
78+
exit 7
3179
}
3280

33-
local plugin_id
34-
plugin_id=$(echo "$plugin_json" | jq -r .id) || {
35-
echo "Error: failed to read Obsidian plugin ID from manifest.json file when building plugin at path $plugin_source!"; exit 6
81+
npm run build || {
82+
echo "Error: failed to install Obsidian plugin $plugin_id sub-project!"
83+
exit 8
3684
}
3785

38-
if [[ -z $plugin_id ]]; then
39-
echo "Error: failed to read Obsidian plugin ID from manifest.json file while building Obsidian plugin at path $plugin_source!"; exit 6
40-
fi
86+
popd >/dev/null || exit
4187

42-
echo "Building Obsidian plugin with ID $plugin_id..."
88+
npm run build || {
89+
echo "Error: failed to build Obsidian plugin $plugin_id!"
90+
exit 8
91+
}
92+
;;
93+
"obsidian-dev-utils")
94+
echo "Using Obsidian Dev Utils build strategy"
4395

44-
echo "Installing dependencies"
96+
npx obsidian-dev-utils build || {
97+
echo "Error: failed to build Obsidian plugin $plugin_id using Obsidian Dev Utils!"
98+
exit 8
99+
}
100+
;;
101+
"yarn")
102+
echo "Using Yarn Obsidian plugin build strategy"
45103

46-
pwd
104+
npx yarn run build || {
105+
echo "Error: failed to build Obsidian plugin $plugin_id using Yarn!"
106+
exit 8
107+
}
108+
;;
109+
*)
110+
echo "Using default Obsidian plugin build strategy"
47111

48-
npm install || {
49-
echo "Error: failed to install dependencies of Obsidian plugin $plugin_id!"; exit 7
112+
node esbuild.config.mjs production || {
113+
echo "Error: failed to build Obsidian plugin $plugin_id using esbuild!"
114+
exit 8
50115
}
116+
;;
117+
esac
51118

52-
local build_strategy=${obsidian_plugin_build_strategies[$plugin_id]}
53-
54-
if [[ -z $build_strategy ]]; then
55-
echo "No custom build strategy identified"
56-
else
57-
echo "Custom build strategy identified: $build_strategy"
58-
fi
59-
60-
case $build_strategy in
61-
"excalidraw")
62-
echo "Using Excalidraw Obsidian plugin build strategy"
63-
64-
pushd "./MathjaxToSVG" > /dev/null || {
65-
echo "Error: failed to access Obsidian $plugin_id sub-directory!"; exit 8
66-
}
67-
68-
npm install || {
69-
echo "Error: failed to install Obsidian plugin $plugin_id sub-directory dependencies!"; exit 7
70-
}
71-
72-
npm run build || {
73-
echo "Error: failed to install Obsidian plugin $plugin_id sub-project!"; exit 8
74-
}
75-
76-
popd > /dev/null || exit
77-
78-
npm run build || {
79-
echo "Error: failed to build Obsidian plugin $plugin_id!"; exit 8
80-
}
81-
;;
82-
"obsidian-dev-utils")
83-
echo "Using Obsidian Dev Utils build strategy"
84-
85-
npx obsidian-dev-utils build || {
86-
echo "Error: failed to build Obsidian plugin $plugin_id using Obsidian Dev Utils!"; exit 8
87-
}
88-
;;
89-
"yarn")
90-
echo "Using Yarn Obsidian plugin build strategy"
91-
92-
npx yarn run build || {
93-
echo "Error: failed to build Obsidian plugin $plugin_id using Yarn!"; exit 8
94-
}
95-
;;
96-
*)
97-
echo "Using default Obsidian plugin build strategy"
98-
99-
node esbuild.config.mjs production || {
100-
echo "Error: failed to build Obsidian plugin $plugin_id using esbuild!"; exit 8
101-
}
102-
;;
103-
esac
104-
105-
popd > /dev/null || exit
106-
done
119+
popd >/dev/null || exit
120+
done
107121
}
108122

109123
if [ "$1" != --source-only ]; then
110-
build_obsidian_plugin "$@"
124+
build_obsidian_plugin "$@"
111125
fi

0 commit comments

Comments
 (0)