diff options
author | William Deegan <bill@baddogconsulting.com> | 2020-06-09 16:53:15 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-09 16:53:15 (GMT) |
commit | 07ba4716ef08158da819ec98b4533d06c84c12dc (patch) | |
tree | f96d4db207544ac1b4cac6d0cbb1beb3b62acc0e | |
parent | ce32ce782301716a52aabc757178860bd3a04af5 (diff) | |
parent | 261f1d187b92adfbe262e0fad394743c8c0f80be (diff) | |
download | SCons-07ba4716ef08158da819ec98b4533d06c84c12dc.zip SCons-07ba4716ef08158da819ec98b4533d06c84c12dc.tar.gz SCons-07ba4716ef08158da819ec98b4533d06c84c12dc.tar.bz2 |
Merge pull request #3641 from mwichmann/wip-sphinx-apidocs
Initial logic for Sphinx build of API docs - replacing epydoc
-rwxr-xr-x | bin/scons_dev_master.py | 20 | ||||
-rw-r--r-- | doc/Makefile | 20 | ||||
-rw-r--r-- | doc/sphinx/SCons.Node.rst | 38 | ||||
-rw-r--r-- | doc/sphinx/SCons.Platform.rst | 102 | ||||
-rw-r--r-- | doc/sphinx/SCons.Scanner.rst | 86 | ||||
-rw-r--r-- | doc/sphinx/SCons.Script.rst | 46 | ||||
-rw-r--r-- | doc/sphinx/SCons.Tool.rst | 10 | ||||
-rw-r--r-- | doc/sphinx/SCons.Variables.rst | 54 | ||||
-rw-r--r-- | doc/sphinx/SCons.compat.rst | 10 | ||||
-rw-r--r-- | doc/sphinx/SCons.rst | 194 | ||||
-rw-r--r-- | doc/sphinx/conf.py | 199 | ||||
-rw-r--r-- | doc/sphinx/index.rst | 37 |
12 files changed, 806 insertions, 10 deletions
diff --git a/bin/scons_dev_master.py b/bin/scons_dev_master.py index 5ed7d49..26beb62 100755 --- a/bin/scons_dev_master.py +++ b/bin/scons_dev_master.py @@ -33,14 +33,12 @@ PYTHON_PACKAGES = [ ] BUILDING_PACKAGES = [ - 'python-libxml2', - 'python-libxslt1', + 'python3-lxml', 'fop', - 'python-dev', - 'python-epydoc', + 'python3-dev', 'rpm', 'tar', - 'lynx' + 'lynx', # additional packages that Bill Deegan's web page suggests #'docbook-to-man', @@ -51,15 +49,17 @@ BUILDING_PACKAGES = [ # for ubuntu 9.10 # 'texlive-lang-french' + 'python3-sphinx', + 'sphinx-rtd-theme-common', ] DOCUMENTATION_PACKAGES = [ 'docbook-doc', - 'epydoc-doc', + 'sphinx-doc', 'gcc-doc', 'pkg-config', - 'python-doc', + 'python3-doc', 'openjdk-8-doc', 'swig-doc', 'texlive-doc', @@ -79,10 +79,10 @@ TESTING_PACKAGES = [ 'm4', 'openssh-client', 'openssh-server', - 'python-profiler', - 'python-all-dev', + 'python3-profiler', + 'python3-line-profiler', 'python3-all-dev', - 'pypy-dev', + 'pypy3-dev', 'rcs', 'rpm', 'openjdk-8-jdk', diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 0000000..4da19e3 --- /dev/null +++ b/doc/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +SPHINXPROJ = SCons +SOURCEDIR = sphinx +BUILDDIR = ../build/doc/api + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/doc/sphinx/SCons.Node.rst b/doc/sphinx/SCons.Node.rst new file mode 100644 index 0000000..b6d5c8f --- /dev/null +++ b/doc/sphinx/SCons.Node.rst @@ -0,0 +1,38 @@ +SCons.Node package +================== + +Submodules +---------- + +SCons.Node.Alias module +----------------------- + +.. automodule:: SCons.Node.Alias + :members: + :undoc-members: + :show-inheritance: + +SCons.Node.FS module +-------------------- + +.. automodule:: SCons.Node.FS + :members: + :undoc-members: + :show-inheritance: + +SCons.Node.Python module +------------------------ + +.. automodule:: SCons.Node.Python + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: SCons.Node + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/sphinx/SCons.Platform.rst b/doc/sphinx/SCons.Platform.rst new file mode 100644 index 0000000..8a55744 --- /dev/null +++ b/doc/sphinx/SCons.Platform.rst @@ -0,0 +1,102 @@ +SCons.Platform package +====================== + +Submodules +---------- + +SCons.Platform.aix module +------------------------- + +.. automodule:: SCons.Platform.aix + :members: + :undoc-members: + :show-inheritance: + +SCons.Platform.cygwin module +---------------------------- + +.. automodule:: SCons.Platform.cygwin + :members: + :undoc-members: + :show-inheritance: + +SCons.Platform.darwin module +---------------------------- + +.. automodule:: SCons.Platform.darwin + :members: + :undoc-members: + :show-inheritance: + +SCons.Platform.hpux module +-------------------------- + +.. automodule:: SCons.Platform.hpux + :members: + :undoc-members: + :show-inheritance: + +SCons.Platform.irix module +-------------------------- + +.. automodule:: SCons.Platform.irix + :members: + :undoc-members: + :show-inheritance: + +SCons.Platform.mingw module +--------------------------- + +.. automodule:: SCons.Platform.mingw + :members: + :undoc-members: + :show-inheritance: + +SCons.Platform.os2 module +------------------------- + +.. automodule:: SCons.Platform.os2 + :members: + :undoc-members: + :show-inheritance: + +SCons.Platform.posix module +--------------------------- + +.. automodule:: SCons.Platform.posix + :members: + :undoc-members: + :show-inheritance: + +SCons.Platform.sunos module +--------------------------- + +.. automodule:: SCons.Platform.sunos + :members: + :undoc-members: + :show-inheritance: + +SCons.Platform.virtualenv module +-------------------------------- + +.. automodule:: SCons.Platform.virtualenv + :members: + :undoc-members: + :show-inheritance: + +SCons.Platform.win32 module +--------------------------- + +.. automodule:: SCons.Platform.win32 + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: SCons.Platform + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/sphinx/SCons.Scanner.rst b/doc/sphinx/SCons.Scanner.rst new file mode 100644 index 0000000..181dbde --- /dev/null +++ b/doc/sphinx/SCons.Scanner.rst @@ -0,0 +1,86 @@ +SCons.Scanner package +===================== + +Submodules +---------- + +SCons.Scanner.C module +---------------------- + +.. automodule:: SCons.Scanner.C + :members: + :undoc-members: + :show-inheritance: + +SCons.Scanner.D module +---------------------- + +.. automodule:: SCons.Scanner.D + :members: + :undoc-members: + :show-inheritance: + +SCons.Scanner.Dir module +------------------------ + +.. automodule:: SCons.Scanner.Dir + :members: + :undoc-members: + :show-inheritance: + +SCons.Scanner.Fortran module +---------------------------- + +.. automodule:: SCons.Scanner.Fortran + :members: + :undoc-members: + :show-inheritance: + +SCons.Scanner.IDL module +------------------------ + +.. automodule:: SCons.Scanner.IDL + :members: + :undoc-members: + :show-inheritance: + +SCons.Scanner.LaTeX module +-------------------------- + +.. automodule:: SCons.Scanner.LaTeX + :members: + :undoc-members: + :show-inheritance: + +SCons.Scanner.Prog module +------------------------- + +.. automodule:: SCons.Scanner.Prog + :members: + :undoc-members: + :show-inheritance: + +SCons.Scanner.RC module +----------------------- + +.. automodule:: SCons.Scanner.RC + :members: + :undoc-members: + :show-inheritance: + +SCons.Scanner.SWIG module +------------------------- + +.. automodule:: SCons.Scanner.SWIG + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: SCons.Scanner + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/sphinx/SCons.Script.rst b/doc/sphinx/SCons.Script.rst new file mode 100644 index 0000000..704b8fa --- /dev/null +++ b/doc/sphinx/SCons.Script.rst @@ -0,0 +1,46 @@ +SCons.Script package +==================== + +Submodules +---------- + +SCons.Script.Interactive module +------------------------------- + +.. automodule:: SCons.Script.Interactive + :members: + :undoc-members: + :show-inheritance: + +SCons.Script.Main module +------------------------ + +.. automodule:: SCons.Script.Main + :members: + :undoc-members: + :show-inheritance: + +SCons.Script.SConsOptions module +-------------------------------- + +.. automodule:: SCons.Script.SConsOptions + :members: + :undoc-members: + :show-inheritance: + +SCons.Script.SConscript module +------------------------------ + +.. automodule:: SCons.Script.SConscript + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: SCons.Script + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/sphinx/SCons.Tool.rst b/doc/sphinx/SCons.Tool.rst new file mode 100644 index 0000000..151e6fa --- /dev/null +++ b/doc/sphinx/SCons.Tool.rst @@ -0,0 +1,10 @@ +SCons.Tool package +================== + +Module contents +--------------- + +.. automodule:: SCons.Tool + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/sphinx/SCons.Variables.rst b/doc/sphinx/SCons.Variables.rst new file mode 100644 index 0000000..dc2388a --- /dev/null +++ b/doc/sphinx/SCons.Variables.rst @@ -0,0 +1,54 @@ +SCons.Variables package +======================= + +Submodules +---------- + +SCons.Variables.BoolVariable module +----------------------------------- + +.. automodule:: SCons.Variables.BoolVariable + :members: + :undoc-members: + :show-inheritance: + +SCons.Variables.EnumVariable module +----------------------------------- + +.. automodule:: SCons.Variables.EnumVariable + :members: + :undoc-members: + :show-inheritance: + +SCons.Variables.ListVariable module +----------------------------------- + +.. automodule:: SCons.Variables.ListVariable + :members: + :undoc-members: + :show-inheritance: + +SCons.Variables.PackageVariable module +-------------------------------------- + +.. automodule:: SCons.Variables.PackageVariable + :members: + :undoc-members: + :show-inheritance: + +SCons.Variables.PathVariable module +----------------------------------- + +.. automodule:: SCons.Variables.PathVariable + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: SCons.Variables + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/sphinx/SCons.compat.rst b/doc/sphinx/SCons.compat.rst new file mode 100644 index 0000000..d80b555 --- /dev/null +++ b/doc/sphinx/SCons.compat.rst @@ -0,0 +1,10 @@ +SCons.compat package +==================== + +Module contents +--------------- + +.. automodule:: SCons.compat + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/sphinx/SCons.rst b/doc/sphinx/SCons.rst new file mode 100644 index 0000000..b9959e3 --- /dev/null +++ b/doc/sphinx/SCons.rst @@ -0,0 +1,194 @@ +SCons package +============= + +Module contents +--------------- + +.. automodule:: SCons + :members: + :undoc-members: + :show-inheritance: + +Subpackages +----------- + +.. toctree:: + + SCons.Node + SCons.Platform + SCons.Scanner + SCons.Script + SCons.Tool + SCons.Variables + SCons.compat + +Submodules +---------- + +SCons.Action module +------------------- + +.. automodule:: SCons.Action + :members: + :undoc-members: + :show-inheritance: + +SCons.Builder module +-------------------- + +.. automodule:: SCons.Builder + :members: + :undoc-members: + :show-inheritance: + +SCons.CacheDir module +--------------------- + +.. automodule:: SCons.CacheDir + :members: + :undoc-members: + :show-inheritance: + +SCons.Conftest module +--------------------- + +.. automodule:: SCons.Conftest + :members: + :undoc-members: + :show-inheritance: + +SCons.Debug module +------------------ + +.. automodule:: SCons.Debug + :members: + :undoc-members: + :show-inheritance: + +SCons.Defaults module +--------------------- + +.. automodule:: SCons.Defaults + :members: + :undoc-members: + :show-inheritance: + +SCons.Environment module +------------------------ + +.. automodule:: SCons.Environment + :members: + :undoc-members: + :show-inheritance: + +SCons.Errors module +------------------- + +.. automodule:: SCons.Errors + :members: + :undoc-members: + :show-inheritance: + +SCons.Executor module +--------------------- + +.. automodule:: SCons.Executor + :members: + :undoc-members: + :show-inheritance: + +SCons.Job module +---------------- + +.. automodule:: SCons.Job + :members: + :undoc-members: + :show-inheritance: + +SCons.Memoize module +-------------------- + +.. automodule:: SCons.Memoize + :members: + :undoc-members: + :show-inheritance: + +SCons.PathList module +--------------------- + +.. automodule:: SCons.PathList + :members: + :undoc-members: + :show-inheritance: + +SCons.SConf module +------------------ + +.. automodule:: SCons.SConf + :members: + :undoc-members: + :show-inheritance: + +SCons.SConsign module +--------------------- + +.. automodule:: SCons.SConsign + :members: + :undoc-members: + :show-inheritance: + +SCons.Subst module +------------------ + +.. automodule:: SCons.Subst + :members: + :undoc-members: + :show-inheritance: + +SCons.Taskmaster module +----------------------- + +.. automodule:: SCons.Taskmaster + :members: + :undoc-members: + :show-inheritance: + +SCons.Util module +----------------- + +.. automodule:: SCons.Util + :members: + :undoc-members: + :show-inheritance: + +SCons.Warnings module +--------------------- + +.. automodule:: SCons.Warnings + :members: + :undoc-members: + :show-inheritance: + +SCons.cpp module +---------------- + +.. automodule:: SCons.cpp + :members: + :undoc-members: + :show-inheritance: + +SCons.dblite module +------------------- + +.. automodule:: SCons.dblite + :members: + :undoc-members: + :show-inheritance: + +SCons.exitfuncs module +---------------------- + +.. automodule:: SCons.exitfuncs + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/sphinx/conf.py b/doc/sphinx/conf.py new file mode 100644 index 0000000..21a982f --- /dev/null +++ b/doc/sphinx/conf.py @@ -0,0 +1,199 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# SCons documentation build configuration file, created by +# sphinx-quickstart on Mon Apr 30 09:36:53 2018. +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +# 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 +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +import os +import sys +sys.path.insert(0, os.path.abspath('../../')) + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +# +needs_sphinx = '1.3' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'autoclasstoc', + 'sphinx.ext.autodoc', + 'sphinx.ext.autosummary', + #'sphinx.ext.githubpages' + 'sphinx.ext.napoleon', + 'sphinx.ext.todo', + 'sphinx.ext.viewcode', +] + +autosummary_generate = True + +autodoc_default_options = { + "members": True, + #"special-members": True, + "private-members": True, + "inherited-members": True, + "undoc-members": True, + "exclude-members": '__weakref__', +} +autodoc_exclude_members = ['*Tests'] +napoleon_include_special_with_doc = False +napoleon_include_private_with_doc = True + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = 'SCons' +copyright = '2020, SCons Project' +author = 'SCons Project Team' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = '4.0' +# The full version, including alpha/beta/rc tags. +release = '4.0.0a1' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path . +exclude_patterns = ["*Tests.py"] + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = False + + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +#html_theme = 'alabaster' +html_theme = 'classic' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# +# html_theme_options = {} + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Custom sidebar templates, must be a dictionary that maps document names +# to template names. +# +# The default sidebars (for documents that don't match any pattern) are +# defined by theme itself. Builtin themes are using these templates by +# default: ``['localtoc.html', 'relations.html', 'sourcelink.html', +# 'searchbox.html']``. +# +# html_sidebars = {} + +# -- Options for HTMLHelp output ------------------------------------------ + +# Output file base name for HTML help builder. +htmlhelp_basename = 'SConsAPIDocs' + + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + ( + master_doc, + "SConsAPIDocs.tex", + "SCons API Documentation", + "SCons Project", + "manual", + ) +] + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, 'sconsapidocs', 'SCons API Documentation', [author], 1) +] + + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ( + master_doc, + "SConsAPIDocs", + "SCons API Documentation", + author, + "SConsAPIDocs", + "One line description of project.", + "Miscellaneous", + ) +] + + +# -- Options for Epub output ------------------------------------------------- + diff --git a/doc/sphinx/index.rst b/doc/sphinx/index.rst new file mode 100644 index 0000000..6828154 --- /dev/null +++ b/doc/sphinx/index.rst @@ -0,0 +1,37 @@ +.. SCons documentation master file, created by + sphinx-quickstart on Mon Apr 30 09:36:53 2018. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +SCons Project API Documentation +=============================== + +This is the internal API Documentation for SCons. +The Documentation is generated using the Sphinx tool. +The target audience is developers working on SCons itself, +so it does not clearly delineate what is "Public API" - +interfaces for use in your SCons configuration scripts +which have a consistency guarantee, and what is internal, +so always keep the SCons manual page around for helping +with such determinations. + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + SCons + SCons.compat + SCons.Node + SCons.Platform + SCons.Scanner + SCons.Script + SCons.Tool + SCons.Variables + + +Indices and Tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` |