57 lines
1.5 KiB
Bash
Executable File
57 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Creates `./util/README.md` and `./Documentation/Util.md` of description files
|
|
# in `./util` subdirectories
|
|
#
|
|
# Execute from root of project. Example:
|
|
# `util/util_readme/util_readme.sh`
|
|
|
|
UTIL_README_DIR="$(cd "$(dirname "$0")" || exit; pwd -P)"
|
|
UTIL_DIR=$(dirname "$UTIL_README_DIR")
|
|
COREBOOT_ROOT_DIR=$(dirname "$UTIL_DIR")
|
|
DOCMENTATION_DIR="$COREBOOT_ROOT_DIR/Documentation"
|
|
SUMMARY='
|
|
## List of utils
|
|
|
|
_Scripts and programs found in the coreboot `./util` directory_
|
|
'
|
|
APPEND_TO_UTIL_MD="${UTIL_README_DIR}/post_util.md"
|
|
|
|
DESCRIPTION_FILES=$(find "$UTIL_DIR" -name "description.md" | sort)
|
|
|
|
echo -n "" > "$UTIL_DIR/README.md"
|
|
{
|
|
echo
|
|
echo "[//]: # ( DO NOT EDIT - AUTOGENERATED FILE )";
|
|
echo
|
|
echo "[//]: # ( RUN 'util/util_readme/util_readme.sh' to regenerate )";
|
|
echo;
|
|
echo "# Utilities";
|
|
echo "${SUMMARY}"
|
|
} > "${DOCMENTATION_DIR}/util.md"
|
|
|
|
for DESC_FILE in $DESCRIPTION_FILES; do
|
|
UTIL_NAME=$(echo "$DESC_FILE" | rev | cut -d '/' -f2 | rev)
|
|
DESC=$(cat "$DESC_FILE")
|
|
|
|
if [[ $DESC == "__"${UTIL_NAME}* || $DESC == "__["${UTIL_NAME}* ]]; then
|
|
DESC="* $DESC"
|
|
else
|
|
DESC="* __${UTIL_NAME}__ - $DESC"
|
|
fi
|
|
|
|
# format description to under 72 characters per line and only
|
|
# breaking on whitespace
|
|
DESC=$(echo "$DESC" \
|
|
| tr '\r\n' ' ' \
|
|
| sed 's/ [*]\+/\n\t\*/g' \
|
|
| sed 's/ \+/ /g' \
|
|
| fold -s -w72 \
|
|
| sed 's/\s*$//')
|
|
|
|
echo "$DESC" >> "$UTIL_DIR/README.md"
|
|
echo "$DESC" >> "$DOCMENTATION_DIR/util.md"
|
|
done
|
|
|
|
cat "${APPEND_TO_UTIL_MD}" >> "${DOCMENTATION_DIR}/util.md"
|