summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYujun Zhang <zhang.yujunz@zte.com.cn>2016-10-18 11:43:08 +0800
committerYujun Zhang <zhang.yujunz@zte.com.cn>2016-10-28 10:37:41 +0200
commit3b31cde35302849a809de6f422ed970919ae5112 (patch)
tree33e890e435988bcfeaae79e0cde41d5f799980e6
parent3dd6ac222ff77a0c4ac09712c60f8473109fcfd0 (diff)
Add support for macOS
JIRA: DOCS-164 Change-Id: I769eb1d0fce7ead1ffb7c0a21e3aab969eeca3af Signed-off-by: Yujun Zhang <zhang.yujunz@zte.com.cn>
-rwxr-xr-xscripts/docs-build.sh30
1 files changed, 21 insertions, 9 deletions
diff --git a/scripts/docs-build.sh b/scripts/docs-build.sh
index 466219f83..0483fce05 100755
--- a/scripts/docs-build.sh
+++ b/scripts/docs-build.sh
@@ -26,6 +26,18 @@ opnfv_logo="$OPNFVDOCS_DIR/etc/opnfv-logo.png"
copyright="$(date +%Y), OPNFV."
copyrightlong="$(date +%Y), OPNFV. Licenced under CC BY 4.0."
+if [ "$(uname)" == "Darwin" ]; then
+ # Override system $SED/$FIND with gnu $SED and gnu $FIND
+ # If not found, install with
+ # $ brew install gnu-sed findutils
+ echo "macOS detected."
+ SED="gsed"
+ FIND="gfind"
+else
+ SED="sed"
+ FIND="find"
+fi
+
function check_rst_doc() {
_src="$1"
@@ -34,7 +46,7 @@ function check_rst_doc() {
# check right now, but these have to be fixed before OPNFV B release.
_out=$(doc8 --max-line-length 240 --ignore D000 "$_src") || {
_msg='Warning: rst validation (doc8) has failed, please fix the following error(s).'
- _errs=$(echo "$_out" | sed -n -e "/^$_src/s/^/ /p")
+ _errs=$(echo "$_out" | $SED -n -e "/^$_src/s/^/ /p")
echo
echo -e "$_msg\n$_errs"
echo
@@ -47,7 +59,7 @@ function check_rst_doc() {
function add_html_notes() {
_src="$1"
- find "$_src" -name '*.rst' | while read file
+ $FIND "$_src" -name '*.rst' | while read file
do
if grep -q -e ' _sha1_' "$file" ; then
# TODO: remove this, once old templates were removed from all repos.
@@ -55,9 +67,9 @@ function add_html_notes() {
echo "Warn: '_sha1_' was found in [$file], use the latest document template."
echo " See http://artifacts.opnfv.org/opnfvdocs/docs/how-to-use-docs ."
echo
- sed -i "s/ _sha1_/ $git_sha1/g" "$file"
+ $SED -i "s/ _sha1_/ $git_sha1/g" "$file"
fi
- sed -i -e "\$a\\\n..\n$html_notes" "$file"
+ $SED -i -e "\$a\\\n..\n$html_notes" "$file"
done
}
@@ -122,7 +134,7 @@ function prepare_config() {
echo "sphinx config to be used:"
echo
- sed -e "s/^/ /" "$_conf"
+ $SED -e "s/^/ /" "$_conf"
echo
}
@@ -139,7 +151,7 @@ function generate_name_for_top_dir() {
return
done
- echo "Error: cannot find name for top directory [$DOCS_DIR]"
+ echo "Error: cannot $FIND name for top directory [$DOCS_DIR]"
exit 1
}
@@ -186,7 +198,7 @@ if [ -e "$DOCS_DIR/pre-hook.sh" ]; then
source "$DOCS_DIR/pre-hook.sh"
fi
-find $DOCS_DIR -name $INDEX_RST -printf '%h\n' | while read dir
+$FIND $DOCS_DIR -name $INDEX_RST -printf '%h\n' | while read dir
do
name=$(generate_name $dir)
if is_top_dir "$dir" ; then
@@ -228,8 +240,8 @@ do
# docs directory.
(
cd $output
- find . -type d -print | xargs -I d mkdir -p ../d
- find . -type f -print | xargs -I f mv -b f ../f
+ $FIND . -type d -print | xargs -I d mkdir -p ../d
+ $FIND . -type f -print | xargs -I f mv -b f ../f
)
rm -rf "$output"
fi