Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' into adrien
[simgrid.git] / docs / source / conf.py
index a70134e..e06332d 100644 (file)
 # 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, subprocess
+import os
+import subprocess
 
-# Search for our extensions too
+# Search for our extensions too
 import sys
 sys.path.append(os.path.abspath('_ext'))
 
 # -- Run doxygen on readthedocs.org ------------------------------------------
-import subprocess, os
 
 read_the_docs_build = os.environ.get('READTHEDOCS', None) == 'True'
 
 if read_the_docs_build:
-    subprocess.call('cd source; doxygen', shell=True)
+    subprocess.call('pwd', shell=True) # should be in docs/source
+    subprocess.call('doxygen', shell=True)
+    subprocess.call('javasphinx-apidoc --force -o java/ ../../src/bindings/java/org/simgrid/msg', shell=True)
+    subprocess.call('rm java/packages.rst', shell=True)
 
 # -- Project information -----------------------------------------------------
 
 project = u'SimGrid'
-copyright = u'2002-2018, The SimGrid Team'
+copyright = u'2002-2020, The SimGrid Team'
 author = u'The SimGrid Team'
 
 # The short X.Y version
-version = u'3.21'
-# The full version, including alpha/beta/rc tags
-release = u'3.21'
-
+version = u'3.25.1'
 
 # -- General configuration ---------------------------------------------------
 
@@ -50,36 +50,80 @@ release = u'3.21'
 extensions = [
     'sphinx.ext.todo',
     'breathe',
-    'exhale',
-    'hidden_code_block',
+    'sphinx.ext.autodoc',
+    'sphinx.ext.intersphinx',
+    'sphinx.ext.autosummary',
+    'sphinx_tabs.tabs',
+    'javasphinx',
+    'showfile',
+    'autodoxy',
 ]
 
 todo_include_todos = True
 
-breathe_projects = { 'simgrid': '../build/xml' }
+# Setup the breath extension
+breathe_projects = {'simgrid': '../build/xml'}
 breathe_default_project = "simgrid"
 
-# Setup the exhale extension
-
-exhale_args = {
-    # These arguments are required
-    "containmentFolder":     "./api",
-    "rootFileName":          "library_root.rst",
-    "rootFileTitle":         "SimGrid Full API",
-    "doxygenStripFromPath":  "..",
-    # Suggested optional arguments
-    "createTreeView":        True,
-    "exhaleExecutesDoxygen": False,
-    # "exhaleUseDoxyfile":     True,
-}
-
+# Setup the autodoxy extension
+doxygen_xml = os.path.join(os.path.dirname(__file__), "..", "build", "xml")
+autodoxy_requalified_identifiers =  [ # The first element will be substituted into the second one if it's starting an element or preceded by a space
+    ("Activity",       "simgrid::s4u::Activity"),
+    ("Actor",          "simgrid::s4u::Actor"),
+    ("ActorPtr",       "simgrid::s4u::ActorPtr"),
+    ("Barrier",        "simgrid::s4u::Barrier"),
+    ("BarrierPtr",     "simgrid::s4u::BarrierPtr"),
+    ("Comm",           "simgrid::s4u::Comm"),
+    ("CommPtr",        "simgrid::s4u::CommPtr"),
+    ("ConditionVariable",    "simgrid::s4u::ConditionVariable"),
+    ("ConditionVariablePtr", "simgrid::s4u::ConditionVariablePtr"),
+    ("Disk",           "simgrid::s4u::Disk"),
+    ("Exec",           "simgrid::s4u::Exec"),
+    ("ExecPtr",        "simgrid::s4u::ExecPtr"),
+    ("Host",           "simgrid::s4u::Host"),
+    ("s4u::Host",      "simgrid::s4u::Host"),
+    ("Engine",         "simgrid::s4u::Engine"),
+    ("Io",             "simgrid::s4u::Io"),
+    ("Link",           "simgrid::s4u::Link"),
+    ("Mailbox",        "simgrid::s4u::Mailbox"),
+    ("Mutex",          "simgrid::s4u::Mutex"),
+    ("s4u::Mutex",     "simgrid::s4u::Mutex"),
+    ("s4u::MutexPtr",  "simgrid::s4u::MutexPtr"),
+    ("NetZone",        "simgrid::s4u::NetZone"),
+    ("Semaphore",      "simgrid::s4u::Semaphore"),
+    ("VirtualMachine", "simgrid::s4u::VirtualMachine"),
+  ]
+
+# Generate a warning for all a cross-reference (such as :func:`myfunc`) that cannot be found
+nitpicky = True
+nitpick_ignore = [
+  ('cpp:identifier', 'boost'),
+  ('cpp:identifier', 'boost::intrusive_ptr<Activity>'),
+  ('cpp:identifier', 'boost::intrusive_ptr<Actor>'),
+  ('cpp:identifier', 'boost::intrusive_ptr<Barrier>'),
+  ('cpp:identifier', 'boost::intrusive_ptr<Comm>'),
+  ('cpp:identifier', 'boost::intrusive_ptr<Io>'),  
+  ('cpp:identifier', 'boost::intrusive_ptr<Mutex>'),  
+  ('cpp:identifier', 'kernel'),
+  ('cpp:identifier', 'kernel::activity'),
+  ('cpp:identifier', 'kernel::profile'),
+  ('cpp:identifier', 'kernel::resource'),
+  ('cpp:identifier', 'kernel::routing'),
+  ('cpp:identifier', 'simgrid'),
+  ('cpp:identifier', 'simgrid::s4u'),
+  ('cpp:identifier', 'this_actor'),
+  ('cpp:identifier', 's4u'),
+  ('cpp:identifier', 'size_t'),
+  ('cpp:identifier', 'uint64_t'),
+  ('cpp:identifier', 'xbt'),
+  ('cpp:identifier', 'xbt::string'),
+]
 
 # For cross-ref generation
 primary_domain = 'cpp'
 
-
 # Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
+templates_path = ['_templates']
 
 # The suffix(es) of source filenames.
 # You can specify multiple suffix as a list of string: ['.rst', '.md']
@@ -115,7 +159,7 @@ html_theme = 'sphinx_rtd_theme'
 # documentation.
 #
 html_theme_options = {
-    'navigation_depth' : 4,
+    'navigation_depth': 4,
     'sticky_navigation': True,
     'display_version': True,
     'includehidden': True,
@@ -124,7 +168,7 @@ 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']
+html_static_path = ['_static']
 
 # Custom sidebar templates, must be a dictionary that maps document names
 # to template names.
@@ -139,16 +183,22 @@ html_theme_options = {
 # -- Options for HTMLHelp output ---------------------------------------------
 
 # Output file base name for HTML help builder.
-htmlhelp_basename = 'SimGrid-doc'
+htmlhelp_basename = 'simgrid-doc'
 
 # -- Options for GitLab integration ------------------------------------------
 
 html_context = {
-    "display_gitlab": True, # Integrate Gitlab
+    "display_gitlab": True,  # Integrate Gitlab
     "gitlab_host": "framagit.org",
     "gitlab_user": "simgrid",
     "gitlab_repo": "simgrid",
-    "gitlab_version": "master", # Version
-    "conf_py_path": "/docs/source/", # Path in the checkout to the docs root
+    "gitlab_version": "master",  # Version
+    "conf_py_path": "/docs/source/",  # Path in the checkout to the docs root
 }
 
+html_css_files = [
+    'css/custom.css',
+]
+
+# -- Other options
+