Created script to generate pydoc documentation. Works for me, but has some rough edges.
This commit is contained in:
parent
c1a086f3e4
commit
7be740e01a
1 changed files with 77 additions and 0 deletions
77
scripts/mk_pydoc.sh
Executable file
77
scripts/mk_pydoc.sh
Executable file
|
@ -0,0 +1,77 @@
|
|||
#!/bin/bash
|
||||
#mk_pydocs.sh
|
||||
#
|
||||
#This script creates new or updated browsable documentation from the Python
|
||||
#docstrings in CryptoNAS. It must be run from the "trunk" directory.
|
||||
#In addition, SVN must know about the "trunk/src" directory (i.e
|
||||
#"trunk/src" or one of its parents must have been checked out previously).
|
||||
|
||||
|
||||
set -e
|
||||
|
||||
##?? which version of epydoc is REALLY required?
|
||||
|
||||
PYTHONPATH="src"
|
||||
|
||||
##Define variables which name programs
|
||||
EPYDOC=epydoc
|
||||
RM="rm"
|
||||
MV="mv"
|
||||
MKDIR="mkdir"
|
||||
TAR="tar"
|
||||
|
||||
PYDOC_ACTIONS="--html"
|
||||
|
||||
##Output directory (note that this appears to require an absolute path name)
|
||||
DOCTREE="/home/jcrofts/src/pydoc/"
|
||||
|
||||
REVISION="`svn info src | grep -E 'Last Changed Rev: [[:digit:]]' | grep -o -E '[[:digit:]]+'`"
|
||||
|
||||
##Version string for html doc output
|
||||
DOC_VSTRING="cnas-html_r${REVISION}"
|
||||
|
||||
##Name of temporary directory used for epydoc output
|
||||
TEMP_HTML_PATH="${DOCTREE}cnas-html.temp"
|
||||
##Final name of epydoc output directory
|
||||
HTML_PATH="${DOCTREE}cnas-html"
|
||||
|
||||
##TODO: make sure sandbox is up-to-date
|
||||
## Assume we are being run from the "trunk" directory
|
||||
|
||||
PYDOC_PROJNAME=CryptoNAS
|
||||
PYDOC_URL="http://devel.cryptobox.org/"
|
||||
|
||||
PYDOC_OPTIONS="--show-sourcecode --verbose"
|
||||
|
||||
export PYTHONPATH=/home/jcrofts/src/trunk/src
|
||||
|
||||
|
||||
##TODO: save build log somewhere...
|
||||
#TODO: I bet there's a way to do this more cleanly using find -exec '{}' or something
|
||||
## (or maybe not. Bash isn't Python.)
|
||||
SOURCES=`find ${PYTHONPATH} -name '*.py'`
|
||||
|
||||
##Make a temporary directory in the doc tree
|
||||
$MKDIR -p "${TEMP_HTML_PATH}"
|
||||
|
||||
##Generate pydocs in the temp directory
|
||||
$EPYDOC $PYDOC_ACTIONS $PYDOC_OPTIONS --output=${TEMP_HTML_PATH} $SOURCES
|
||||
|
||||
##Remove the old docs directory
|
||||
$RM -rf "${HTML_PATH}"
|
||||
|
||||
##Rename the new temp doc directory
|
||||
$MV "${TEMP_HTML_PATH}" "${HTML_PATH}"
|
||||
|
||||
$RM -f ${DOCTREE}*.tgz
|
||||
|
||||
##Create compressed archive of newly-created docs
|
||||
$TAR -czf "${DOCTREE}/${DOC_VSTRING}.tgz" "${HTML_PATH}"
|
||||
|
||||
##Not implemented yet (TODO)
|
||||
#LFTP=
|
||||
#LFTP_OPTIONS=
|
||||
#LFTP_HOST=
|
||||
#LFTP_DIR=
|
||||
|
||||
##If LFTP is enabled, perform upload to server
|
Loading…
Reference in a new issue