diff options
Diffstat (limited to 'utils/docs-build.sh')
-rwxr-xr-x | utils/docs-build.sh | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/utils/docs-build.sh b/utils/docs-build.sh index 5ac8b2be6..fc607fa15 100755 --- a/utils/docs-build.sh +++ b/utils/docs-build.sh @@ -84,6 +84,34 @@ function add_config() { fi } +function is_top_dir() { + [[ "$1" == "$SRC_DIR" ]] +} + +function generate_name_for_top_dir() { + for suffix in '' '.top' '.all' '.master' '_' '__' '___' + do + _name="$(basename $SRC_DIR)$suffix" + [[ -e "$SRC_DIR/$_name" ]] && continue + echo "$_name" + return + done + + echo "Error: cannot find name for top directory [$SRC_DIR]" + exit 1 +} + +function generate_name() { + _dir=$1 + + if is_top_dir "$_dir" ; then + _name=$(generate_name_for_top_dir $SRC_DIR) + else + _name="${_dir#$SRC_DIR/}" + fi + # Replace '/' by '_' + echo "${_name////_}" +} check_rst_doc $SRC_DIR @@ -94,7 +122,7 @@ fi find $SRC_DIR -name $INDEX_RST -printf '%h\n' | while read dir do - name="${dir##*/}" + name=$(generate_name $dir) src="$BUILD_DIR/src/$name" build="$BUILD_DIR/$name" output="$OUTPUT_DIR/$name" @@ -143,4 +171,9 @@ do [[ -n "$GERRIT_COMMENT" ]] && echo "$msg" >> "$GERRIT_COMMENT" } + if is_top_dir "$dir" ; then + mv "$output"/* "$OUTPUT_DIR"/ + rm -rf "$output" + fi + done |