2015-11-25 19:39:49 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
|
|
|
|
# parameters
|
2015-11-30 13:53:10 +00:00
|
|
|
PHPDOC_CONFIG="$1" # phpDoc config file
|
|
|
|
PHPDOC_CACHE_DIR="$2" # phpDoc cache dir
|
|
|
|
PHPDOC_TARGET_DIR="$3" # phpDoc output dir
|
|
|
|
PHPDOC_TITLE="$4" # API docs title
|
2015-11-25 19:39:49 +00:00
|
|
|
|
2015-11-25 20:55:28 +00:00
|
|
|
# print parameters
|
|
|
|
echo "Generating phpDocs..."
|
2015-11-30 01:02:53 +00:00
|
|
|
printf 'PHPDOC_CONFIG="%s"\n' "$PHPDOC_CONFIG"
|
|
|
|
printf 'PHPDOC_CACHE_DIR="%s"\n' "$PHPDOC_CACHE_DIR"
|
2015-11-25 20:55:28 +00:00
|
|
|
printf 'PHPDOC_TARGET_DIR="%s"\n' "$PHPDOC_TARGET_DIR"
|
|
|
|
printf 'PHPDOC_TITLE="%s"\n' "$PHPDOC_TITLE"
|
2015-11-25 21:04:16 +00:00
|
|
|
echo
|
2015-11-25 20:55:28 +00:00
|
|
|
|
2015-11-30 15:54:45 +00:00
|
|
|
# update a separate phpDoc cache
|
|
|
|
if [ "$PHPDOC_CACHE_DIR" != "-" ]; then
|
|
|
|
# parse phpDoc files (i.e. update cache)
|
|
|
|
printf "\nUpdate phpDoc cache...\n"
|
|
|
|
phpdoc project:parse --config "$PHPDOC_CONFIG" \
|
|
|
|
--target "$PHPDOC_CACHE_DIR"
|
2015-11-30 13:53:10 +00:00
|
|
|
|
2015-11-30 15:54:45 +00:00
|
|
|
# check for changes
|
|
|
|
printf '\nCheck for phpDoc cache changes...\n'
|
|
|
|
if [ -z "$(git status --porcelain "$PHPDOC_CACHE_DIR")" ]; then
|
|
|
|
printf 'No changes detected; skipping phpDocs renewal...\n\n'
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
|
|
|
# NOTE: actually the following command should be `phpdoc project:transform`
|
|
|
|
# instead of `phpdoc project:run`, but the command seems to be broken...
|
2015-11-30 16:23:25 +00:00
|
|
|
echo
|
2015-11-30 15:54:45 +00:00
|
|
|
else
|
|
|
|
# create temporary cache files in PHPDOC_TARGET_DIR
|
|
|
|
PHPDOC_CACHE_DIR="$PHPDOC_TARGET_DIR"
|
2015-11-30 13:53:10 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
# transform phpDoc files (i.e. rewrite API docs)
|
2015-11-30 16:23:25 +00:00
|
|
|
printf 'Rewrite phpDocs...\n'
|
2015-11-30 13:53:10 +00:00
|
|
|
rm -rf "$PHPDOC_TARGET_DIR"
|
|
|
|
phpdoc project:run --config "$PHPDOC_CONFIG" \
|
2015-11-29 23:52:19 +00:00
|
|
|
--cache-folder "$PHPDOC_CACHE_DIR" \
|
|
|
|
--target "$PHPDOC_TARGET_DIR" \
|
2015-11-25 19:39:49 +00:00
|
|
|
--title "$PHPDOC_TITLE"
|
2015-11-25 20:55:28 +00:00
|
|
|
|
|
|
|
echo
|