Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'stable'
[simgrid.git] / docs / source / conf.py
1 # -*- coding: utf-8 -*-
2 #
3 # Configuration file for the Sphinx documentation builder.
4 #
5 # This file does only contain a selection of the most common options. For a
6 # full list see the documentation:
7 # http://www.sphinx-doc.org/en/master/config
8
9 # -- Path setup --------------------------------------------------------------
10
11 # If extensions (or modules to document with autodoc) are in another directory,
12 # add these directories to sys.path here. If the directory is relative to the
13 # documentation root, use os.path.abspath to make it absolute, like shown here.
14 #
15 import os
16 import subprocess
17
18 # Search for our extensions too
19 import sys
20 sys.path.append(os.path.abspath('_ext'))
21
22 # -- Run doxygen on readthedocs.org ------------------------------------------
23
24 read_the_docs_build = os.environ.get('READTHEDOCS', None) == 'True'
25
26 if read_the_docs_build:
27     subprocess.call('pwd', shell=True) # should be in docs/source
28     subprocess.call('doxygen', shell=True)
29     subprocess.call('javasphinx-apidoc --force -o java/ ../../src/bindings/java/org/simgrid/msg', shell=True)
30     subprocess.call('rm java/packages.rst', shell=True)
31
32 # -- Project information -----------------------------------------------------
33
34 project = u'SimGrid'
35 copyright = u'2002-2022, The SimGrid Team'
36 author = u'The SimGrid Team'
37
38 # The short X.Y version
39 version = u'3.30.1'
40
41 # -- General configuration ---------------------------------------------------
42
43 # If your documentation needs a minimal Sphinx version, state it here.
44 #
45 # needs_sphinx = '1.0'
46
47 # Add any Sphinx extension module names here, as strings. They can be
48 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
49 # ones.
50 extensions = [
51     'sphinx.ext.todo',
52     'breathe',
53     'sphinx.ext.autodoc',
54     'sphinx.ext.intersphinx',
55     'sphinx.ext.autosummary',
56     'sphinx_tabs.tabs',
57     'sphinx_copybutton',
58     'javasphinx',
59     'showfile',
60 ]
61
62 todo_include_todos = True
63
64 # Setup the breath extension
65 breathe_projects = {'simgrid': '../build/xml'}
66 breathe_default_project = "simgrid"
67
68 # Setup the copybutton extension
69 copybutton_prompt_text = r">>> |\.\.\. |\$ |In \[\d*\]: | {2,5}\.\.\.: | {5,8}: "
70 copybutton_prompt_is_regexp = True
71
72 # Generate a warning for all a cross-reference (such as :func:`myfunc`) that cannot be found
73 nitpicky = True
74 nitpick_ignore = [
75   ('cpp:identifier', 'boost'),
76   ('cpp:identifier', 'boost::intrusive_ptr<Activity>'),
77   ('cpp:identifier', 'boost::intrusive_ptr<Actor>'),
78   ('cpp:identifier', 'boost::intrusive_ptr<Barrier>'),
79   ('cpp:identifier', 'boost::intrusive_ptr<Comm>'),
80   ('cpp:identifier', 'boost::intrusive_ptr<ConditionVariable>'),
81   ('cpp:identifier', 'boost::intrusive_ptr<Exec>'),
82   ('cpp:identifier', 'boost::intrusive_ptr<Io>'),
83   ('cpp:identifier', 'boost::intrusive_ptr<Mutex>'),
84   ('cpp:identifier', 'boost::intrusive_ptr<Semaphore>'),
85   ('cpp:identifier', 'kernel'),
86   ('cpp:identifier', 'kernel::activity'),
87   ('cpp:identifier', 'kernel::activity::ActivityImplPtr'),
88   ('cpp:identifier', 'kernel::activity::CommImpl'),
89   ('cpp:identifier', 'kernel::activity::CommImplPtr'),
90   ('cpp:identifier', 'kernel::actor'),
91   ('cpp:identifier', 'kernel::actor::ActorCodeFactory'),
92   ('cpp:identifier', 'kernel::actor::ActorImpl'),
93   ('cpp:identifier', 'kernel::profile'),
94   ('cpp:identifier', 'kernel::profile::Profile'),
95   ('cpp:identifier', 'kernel::resource'),
96   ('cpp:identifier', 'kernel::resource::Action'),
97   ('cpp:identifier', 'kernel::resource::Action::State'),
98   ('cpp:identifier', 'kernel::resource::LinkImpl'),
99   ('cpp:identifier', 'kernel::resource::NetworkAction'),
100   ('cpp:identifier', 'kernel::routing'),
101   ('cpp:identifier', 'kernel::routing::NetPoint'),
102   ('cpp:identifier', 'ns3'),
103   ('cpp:identifier', 'ns3::Ptr<ns3::Node>'),
104   ('cpp:identifier', 'ns3::Node'),
105   ('cpp:identifier', 's4u'),
106   ('cpp:identifier', 's4u_Actor'),
107   ('cpp:identifier', 's4u_Barrier'),
108   ('cpp:identifier', 's4u_Comm'),
109   ('cpp:identifier', 's4u_ConditionVariable'),
110   ('cpp:identifier', 's4u_Exec'),
111   ('cpp:identifier', 's4u_File'),
112   ('cpp:identifier', 's4u_Host'),
113   ('cpp:identifier', 's4u_Link'),
114   ('cpp:identifier', 's4u_Mailbox'),
115   ('cpp:identifier', 's4u_Mutex'),
116   ('cpp:identifier', 's4u_NetZone'),
117   ('cpp:identifier', 's4u_Semaphore'),
118   ('cpp:identifier', 's4u_VM'),
119   ('cpp:identifier', 's4u_VirtualMachine'),
120   ('cpp:identifier', 'sg_msg_Comm'),
121   ('cpp:identifier', 'sg_msg_Task'),
122   ('cpp:identifier', 'simgrid'),
123   ('cpp:identifier', 'simgrid::s4u'),
124   ('cpp:identifier', 'simgrid::s4u::Activity_T<Comm>'),
125   ('cpp:identifier', 'simgrid::s4u::Activity_T<Exec>'),
126   ('cpp:identifier', 'simgrid::s4u::Activity_T<Io>'),
127   ('cpp:identifier', 'simgrid::s4u::this_actor'),
128   ('cpp:identifier', 'simgrid::xbt'),
129   ('cpp:identifier', 'simgrid::xbt::string'),
130   ('cpp:identifier', 'size_t'),
131   ('cpp:identifier', 'ssize_t'),
132   ('cpp:identifier', 'this_actor'),
133   ('cpp:identifier', 'uint64_t'),
134   ('cpp:identifier', 'xbt'),
135   ('cpp:identifier', 'xbt_dynar_s'),
136   ('cpp:identifier', 'xbt::Extendable<Activity>'),
137   ('cpp:identifier', 'xbt::Extendable<Actor>'),
138   ('cpp:identifier', 'xbt::Extendable<Disk>'),
139   ('cpp:identifier', 'xbt::Extendable<File>'),
140   ('cpp:identifier', 'xbt::Extendable<Host>'),
141   ('cpp:identifier', 'xbt::Extendable<Link>'),
142   ('cpp:identifier', 'xbt::signal<void()>'),
143   ('cpp:identifier', 'xbt::signal<void(Actor const&)>'),
144   ('cpp:identifier', 'xbt::signal<void(Actor&)>'),
145   ('cpp:identifier', 'xbt::signal<void(Comm const&)>'),
146   ('cpp:identifier', 'xbt::signal<void(Comm const&, bool is_sender)>'),
147   ('cpp:identifier', 'xbt::signal<void(Disk const&)>'),
148   ('cpp:identifier', 'xbt::signal<void(Disk&)>'),
149   ('cpp:identifier', 'xbt::signal<void(Exec const&)>'),
150   ('cpp:identifier', 'xbt::signal<void(Host const&)>'),
151   ('cpp:identifier', 'xbt::signal<void(Host&)>'),
152   ('cpp:identifier', 'xbt::signal<void(Link const&)>'),
153   ('cpp:identifier', 'xbt::signal<void(Link&)>'),
154   ('cpp:identifier', 'xbt::signal<void(NetZone const&)>'),
155   ('cpp:identifier', 'xbt::signal<void(VirtualMachine const&)>'),
156   ('cpp:identifier', 'xbt::signal<void(const Actor&, const Host &previous_location)>'),
157   ('cpp:identifier', 'xbt::signal<void(double)>'),
158   ('cpp:identifier', 'xbt::signal<void(kernel::resource::NetworkAction&)>'),
159   ('cpp:identifier', 'xbt::signal<void(kernel::resource::NetworkAction&, kernel::resource::Action::State)>'),
160   ('cpp:identifier', 'xbt::signal<void(void)>'),
161   ('cpp:identifier', 'xbt::string'),
162 ]
163
164 # For cross-ref generation
165 primary_domain = 'cpp'
166
167 # Add any paths that contain templates here, relative to this directory.
168 templates_path = ['_templates']
169
170 # The suffix(es) of source filenames.
171 # You can specify multiple suffix as a list of string: ['.rst', '.md']
172 source_suffix = '.rst'
173
174 # The master toctree document.
175 master_doc = 'index'
176
177 # The language for content autogenerated by Sphinx. Refer to documentation
178 # for a list of supported languages.
179 #
180 # This is also used if you do content translation via gettext catalogs.
181 # Usually you set "language" from the command line for these cases.
182 language = None
183
184 # List of patterns, relative to source directory, that match files and
185 # directories to ignore when looking for source files.
186 # This pattern also affects html_static_path and html_extra_path .
187 exclude_patterns = []
188
189 # The name of the Pygments (syntax highlighting) style to use.
190 pygments_style = 'sphinx'
191
192 # -- Options for HTML output -------------------------------------------------
193
194 # The theme to use for HTML and HTML Help pages.  See the documentation for
195 # a list of builtin themes.
196 #
197 html_theme = 'sphinx_rtd_theme'
198
199 # Theme options are theme-specific and customize the look and feel of a theme
200 # further.  For a list of options available for each theme, see the
201 # documentation.
202 #
203 html_theme_options = {
204     'navigation_depth': 4,
205     'sticky_navigation': True,
206     'display_version': True,
207     'includehidden': True,
208 }
209
210 # Add any paths that contain custom static files (such as style sheets) here,
211 # relative to this directory. They are copied after the builtin static files,
212 # so a file named "default.css" will overwrite the builtin "default.css".
213 html_static_path = ['_static']
214
215 # Custom sidebar templates, must be a dictionary that maps document names
216 # to template names.
217 #
218 # The default sidebars (for documents that don't match any pattern) are
219 # defined by theme itself.  Builtin themes are using these templates by
220 # default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
221 # 'searchbox.html']``.
222 #
223 # html_sidebars = {'**': ['localtoc.html', 'relations.html', 'searchbox.html']}
224
225 # -- Options for HTMLHelp output ---------------------------------------------
226
227 # Output file base name for HTML help builder.
228 htmlhelp_basename = 'simgrid-doc'
229
230 # -- Options for GitLab integration ------------------------------------------
231
232 html_context = {
233     "display_gitlab": True,  # Integrate Gitlab
234     "gitlab_host": "framagit.org",
235     "gitlab_user": "simgrid",
236     "gitlab_repo": "simgrid",
237     "gitlab_version": "master",  # Version
238     "conf_py_path": "/docs/source/",  # Path in the checkout to the docs root
239 }
240
241 html_css_files = [
242     'css/custom.css',
243 ]
244
245 # -- Other options