|
|
@@ -0,0 +1,33 @@ |
|
|
|
#!/bin/bash |
|
|
|
set -e |
|
|
|
|
|
|
|
# This script can be used to find WARNINGs and ERRORs hide in Python docstring. |
|
|
|
# |
|
|
|
# * Usually we use Sphinx (https://www.sphinx-doc.org/) and its' tools |
|
|
|
# to build HTML documentation for Python projects, such as MegEngine. |
|
|
|
# |
|
|
|
# * It simulates the process of automatically extracting docstrings from source code |
|
|
|
# and try generating HTML pages, just like what MegEngine documentation will do. |
|
|
|
# |
|
|
|
# Install required Python dependence with pip then you will get following tools: |
|
|
|
# |
|
|
|
# * sphinx-apidoc: a tool for automatic generation of Sphinx sources that, |
|
|
|
# using the autodoc extension, document a whole package in the style of |
|
|
|
# other automatic API documentation tools. For more details: |
|
|
|
# https://www.sphinx-doc.org/en/master/man/sphinx-apidoc.html |
|
|
|
# |
|
|
|
# * sphinx-build: generates documentation frome specific files. For more details: |
|
|
|
# https://www.sphinx-doc.org/en/master/man/sphinx-build.html |
|
|
|
# |
|
|
|
# [NOTE]: You need build MegEngine first (target: develop) then run this script. |
|
|
|
|
|
|
|
DOC_PATH=`mktemp -d` |
|
|
|
trap 'rm -rf "$DOC_PATH"' EXIT |
|
|
|
|
|
|
|
cd $(dirname $0)/.. |
|
|
|
|
|
|
|
python3 -m pip install -r requires.txt |
|
|
|
python3 -m pip install -r requires-sphinx.txt |
|
|
|
sphinx-apidoc -f -F -e -o $DOC_PATH/source megengine "megengine/core/ops/builtin/*" |
|
|
|
PYTHONPATH=. sphinx-build -j auto -c . -W --keep-going \ |
|
|
|
$DOC_PATH/source $DOC_PATH/build |