manage.sh 2.24 KB
Newer Older
rinpatch's avatar
rinpatch committed
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#!/bin/sh

fetch() {
  if [ $LOCAL = false ]; then
    mkdir .tmp
    git clone $FRONTEND_REPO --branch $BRANCH --depth 1 .tmp/fe
    git clone $BACKEND_REPO --branch $BRANCH --depth 1 .tmp/be
    FRONTEND_REPO=.tmp/fe
    BACKEND_REPO=.tmp/fe
  fi
  rm -rf docs/frontend
  rm -rf docs/backend
  mkdir docs/frontend
  mkdir docs/backend
  cp -r $FRONTEND_REPO/docs/* docs/frontend
  cp -r $BACKEND_REPO/docs/* docs/backend
  rm -rf .tmp
}

build() {
  mkdocs build
}

all() {
	fetch
	build
}

FRONTEND_REMOTE_REPO_DEFAULT='https://git.pleroma.social/pleroma/pleroma-fe'
BACKEND_REMOTE_REPO_DEFAULT='https://git.pleroma.social/pleroma/pleroma'

FRONTEND_LOCAL_REPO_DEFAULT='../pleroma-fe'
BACKEND_LOCAL_REPO_DEFAULT='../pleroma'
BRANCH='develop'

if [ -z "$1" ] || [ "$1" = "--help" ]; then
	echo "Usage: $(basename "$0") <stage> [<options>]

  The stages are:

  fetch [<options>]
    Fetch frontend and backend documentation and dump it into \`docs\`.
    The location of frontend and backend repositories defaults to
    $FRONTEND_REMOTE_REPO_DEFAULT and $BACKEND_REMOTE_REPO_DEFAULT
    respectively and can be overriden by \`--frontend-repo\` and \`--backend-repo\`.
    The branch defaults to \`$BRANCH\` and can be overriden by \`--branch\`.

    If you want to use local copies of the repositories, add \`--local\`
    to options. Then the location of frontend and backend repositiories
    will default to $FRONTEND_LOCAL_REPO_DEFAULT and $BACKEND_LOCAL_REPO_DEFAULT respectively and
    can be overriden by \`--frontend-repo\` and \`--backend-repo\` as well.

  build [<options>]
   Build the documentation

  all [<options>]
   Execute all stages
  "
else
	LOCAL=false
        stage="$1"
	shift
	while echo "$1" | grep "^-" > /dev/null; do
		case "$1" in
		--local)
			LOCAL=true
			shift
			;;
		--frontend-repo)
			FRONTEND_REPO="$2"
			shift 2
			;;
		--backend-repo)
			BACKEND_REPO="$2"
			shift 2
			;;
		-*)
			echo "invalid option: $1" 1>&2
			shift 1
			;;
		esac
	done
	if [ $LOCAL = true ]; then
	  FRONTEND_REPO="${FRONTEND_REPO:-$FRONTEND_LOCAL_REPO_DEFAULT}"
	  BACKEND_REPO="${BACKEND_REPO:-$BACKEND_LOCAL_REPO_DEFAULT}"
	else
	  FRONTEND_REPO="${FRONTEND_REPO:-$FRONTEND_REMOTE_REPO_DEFAULT}"
	  BACKEND_REPO="${BACKEND_REPO:-$BACKEND_REMOTE_REPO_DEFAULT}"
	fi
	$stage
fi