diff options
author | Ryota MIBU <r-mibu@cq.jp.nec.com> | 2015-12-11 18:37:51 +0900 |
---|---|---|
committer | Ryota MIBU <r-mibu@cq.jp.nec.com> | 2015-12-16 21:52:35 +0900 |
commit | 419d461e2ce89a496f63cfa349a46849041684ba (patch) | |
tree | 50a1b297a45374816de8d3826795307e8344734d /utils | |
parent | cefea534d8ec3e0f01b8357c6296417ab378c685 (diff) |
update doc-build.sh to allow multiple depth of dir
In our new documentation guideline, we suggest to create
documentation directory just in one depth from top 'docs' directory.
This rule can make sure there is no name collision.
However, some projects are already using multiple depth of
documentation directories. So, let's allow them to create their
documents without any namespace collision by creating unique names
from directory path.
Change-Id: I7806abd00be56b0a4811b3d17216495e11bca825
Signed-off-by: Ryota MIBU <r-mibu@cq.jp.nec.com>
Diffstat (limited to 'utils')
-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 |