From edef0e4ec2f63105d8971d89882ef513f5aed28a Mon Sep 17 00:00:00 2001 From: Gervase Markham Date: Mon, 11 May 2015 18:50:34 +0100 Subject: Bug 1144086 - Move extension docs assembly from makedocs.pl to conf.py. r=dkl,a=glob --- docs/en/rst/conf.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'docs/en/rst/conf.py') diff --git a/docs/en/rst/conf.py b/docs/en/rst/conf.py index b371d8393..c8be24e49 100644 --- a/docs/en/rst/conf.py +++ b/docs/en/rst/conf.py @@ -12,6 +12,8 @@ # serve to show the default. import sys, os, re +import os.path +import shutil # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the @@ -384,3 +386,41 @@ pdf_fit_background_mode = 'scale' todo_include_todos = True extlinks = {'bug': ('https://bugzilla.mozilla.org/show_bug.cgi?id=%s', 'bug ')} + +# -- Assemble extension documentation ------------------------------------------ + +# os.getcwd() is docs/$lang/rst +lang = os.path.basename(os.path.dirname(os.getcwd())) + +# This is technically defined in Bugzilla/Constants.pm in Perl, but it's +# unlikely to change if we use a relative path. +ext_dir = "../../../extensions" + +# Still, check just in case, so if it ever changes, we know +if (os.path.isdir(ext_dir)): + # Clear out old extensions docs + for dir in os.listdir("extensions"): + shutil.rmtree(os.path.join("extensions", dir)) + + # Copy in new copies + for ext_name in os.listdir(ext_dir): + ext_path = os.path.join(ext_dir, ext_name) + # Ignore files in the extensions/ directory (e.g. create.pl) + if not os.path.isdir(ext_path): + continue + + # Ignore disabled extensions + if os.path.isfile(os.path.join(ext_path, "disabled")): + continue + + src = os.path.join(ext_path, "docs", lang, "rst") + + # Ignore extensions without rst docs in this language + if not os.path.isdir(src): + continue + + dst = os.path.join("extensions", ext_name) + + shutil.copytree(src, dst) +else: + print "Warning: Bugzilla extension directory not found: " + ext_dir -- cgit v1.2.3-24-g4f1b