forked from NativeScript/NativeScript
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build-docs.sh
executable file
·67 lines (52 loc) · 1.44 KB
/
build-docs.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
#!/usr/bin/env bash
set -e
ENV="${ENV:-dev}"
DIST_DIR="bin/dist"
TARGET_DIR="$DIST_DIR/snippets"
PACKAGE_VERSION="${PACKAGE_VERSION:-0.0.0}"
archive_dist_dir() {
DIR="$1"
(cd "$DIST_DIR" && tar zcvf "nativescript-$DIR-$ENV-$PACKAGE_VERSION.tar.gz" $DIR)
}
npm_install() {
# Don't install modules twice.
MARKER_FILE="./node_modules/installed"
if [ ! -f "$MARKER_FILE" ] ; then
npm install
npm install @types/[email protected]
touch "$MARKER_FILE"
fi
}
extract_snippets() {
BIN="./node_modules/markdown-snippet-injector/extract.js"
npm install markdown-snippet-injector
for SNIPPET_DIR in {tests/app,apps/app,tns-core-modules} ; do
echo "Extracting snippets from: $SNIPPET_DIR"
node "$BIN" --root="$SNIPPET_DIR" --target="$TARGET_DIR" \
--sourceext=".js|.ts|.xml|.html|.css"
done
archive_dist_dir "snippets"
}
extract_cookbook() {
COOKBOOK_DIR="$DIST_DIR/cookbook"
rm -rf "$COOKBOOK_DIR"
npm_install
grunt articles
mv "$DIST_DIR/articles" "$COOKBOOK_DIR"
archive_dist_dir "cookbook"
}
extract_apiref() {
APIREF_DIR="$DIST_DIR/api-reference"
rm -rf "$APIREF_DIR"
npm_install
npm run typedoc
mv "$DIST_DIR/apiref" "$APIREF_DIR"
archive_dist_dir "api-reference"
}
rm -rf "$TARGET_DIR"
mkdir -p "$TARGET_DIR"
if [ "${BASH_SOURCE[0]}" == "$0" ] ; then
extract_snippets
extract_cookbook
extract_apiref
fi