##############################################################################
from docs_conf.conf import *
+import sys, os, csv
-# Append to intersphinx_mapping
-intersphinx_mapping['controller'] = ('https://docs.opendaylight.org/projects/controller/en/v2.0.3/', None)
-intersphinx_mapping['infrautils'] = ('https://docs.opendaylight.org/projects/infrautils/en/v1.8.0/', None)
-intersphinx_mapping['mdsal'] = ('https://docs.opendaylight.org/projects/mdsal/en/v6.0.4/', None)
-intersphinx_mapping['odl-integration-test'] = ('https://docs.opendaylight.org/projects/integration-test/en/latest/', None)
-intersphinx_mapping['odl-integration-packaging'] = ('https://docs.opendaylight.org/projects/integration-packaging/en/latest/', None)
-intersphinx_mapping['odl-releng-builder'] = ('https://docs.opendaylight.org/projects/releng-builder/en/latest/', None)
-intersphinx_mapping['opflex'] = ('https://docs.opendaylight.org/projects/opflex/en/latest/', None)
-# Projects that have stable/branches
-intersphinx_mapping['aaa'] = ('https://docs.opendaylight.org/projects/aaa/en/latest/', None)
-intersphinx_mapping['bgpcep'] = ('https://docs.opendaylight.org/projects/bgpcep/en/latest/', None)
-intersphinx_mapping['daexim'] = ('https://docs.opendaylight.org/projects/daexim/en/latest/', None)
-intersphinx_mapping['genius'] = ('https://docs.opendaylight.org/projects/genius/en/latest/', None)
-intersphinx_mapping['integration-distribution'] = ('https://docs.opendaylight.org/projects/integration-distribution/en/latest/', None)
-intersphinx_mapping['jsonrpc'] = ('https://docs.opendaylight.org/projects/jsonrpc/en/latest/', None)
-intersphinx_mapping['lispflowmapping'] = ('https://docs.opendaylight.org/projects/lispflowmapping/en/latest/', None)
-intersphinx_mapping['netconf'] = ('https://docs.opendaylight.org/projects/netconf/en/latest/', None)
-intersphinx_mapping['netvirt'] = ('https://docs.opendaylight.org/projects/netvirt/en/latest/', None)
-intersphinx_mapping['openflowplugin'] = ('https://docs.opendaylight.org/projects/openflowplugin/en/latest/', None)
-intersphinx_mapping['ovsdb'] = ('https://docs.opendaylight.org/projects/ovsdb/en/latest/', None)
-intersphinx_mapping['transportpce'] = ('https://docs.opendaylight.org/projects/transportpce/en/latest/', None)
+def update_intersphinx_mapping():
+ with open('../projects_list.tsv') as fd:
+ rd = csv.reader(fd, delimiter="\t", quotechar='"')
+ for row in rd:
+ if row:
+ project = row[0]
+ if project[0] == "#":
+ continue
+ version = row[1]
+ intersphinx_mapping[project] = (f'https://docs.opendaylight.org/projects/{project}/en/{version}/', None)
+
+
+# Append to intersphinx_mapping
+update_intersphinx_mapping()
# OpenDaylight Documentation Releases
-intersphinx_mapping['odl-silicon'] = ('https://docs.opendaylight.org/en/latest/', None)
+intersphinx_mapping['odl-potassium'] = ('https://docs.opendaylight.org/en/latest/', None)
+intersphinx_mapping['odl-argon'] = ('https://docs.opendaylight.org/en/stable-argon/', None)
+intersphinx_mapping['odl-chlorine'] = ('https://docs.opendaylight.org/en/stable-chlorine/', None)
+intersphinx_mapping['odl-sulfur'] = ('https://docs.opendaylight.org/en/stable-sulfur/', None)
+intersphinx_mapping['odl-phosphorus'] = ('https://docs.opendaylight.org/en/stable-phosphorus/', None)
+intersphinx_mapping['odl-silicon'] = ('https://docs.opendaylight.org/en/stable-silicon/', None)
intersphinx_mapping['odl-aluminium'] = ('https://docs.opendaylight.org/en/stable-aluminium/', None)
intersphinx_mapping['odl-magnesium'] = ('https://docs.opendaylight.org/en/stable-magnesium/', None)
intersphinx_mapping['odl-sodium'] = ('https://docs.opendaylight.org/en/stable-sodium/', None)
# URL returns a 403 Forbidden
'https://www.osgi.org',
# Ignore anchors on github.com because linkcheck fails on them
- '^http[s]://github.com/.*#',
+ '^https?://github.com/.*#',
# Ignore webchat anchors because '#' is not an anchor for this app
- 'https://webchat.freenode.net/#',
+ 'https://web.libera.chat/#',
# Ignore google docs anchors
'https://docs.google.com/presentation/d/1bnwj8CrFGo5KekONYSeIHySdkoXZiewJxkHcZjXnzkQ/edit#slide=id.g17d8ae4d92_0_137',
+ # Ignore local static contents
+ '../_static/OpenDaylight-Technical-Charter-LFN-Projects-LLC-FINAL.pdf',
+ # Ignore IETF URLs often not reachable from Jenkins minions
+ # because of hosting connectivity issues
+ '^https?://tools.ietf.org/html/.*',
+ # anchors not correctly detected by sphinx on the gate
+ 'http://checkstyle.sourceforge.net/config_coding.html#.*',
+ # this url often has connectivity issues on the gate
+ 'https://www.mojohaus.org/animal-sniffer/animal-sniffer-maven-plugin/examples/checking-signatures.html',
+ #Ignore announce page link till it is up
+ 'https://www.opendaylight.org/current-release-potassium',
+ 'https://www.opendaylight.org/current-release-argon',
]
linkcheck_timeout = 300
nitpicky = True
release = version
+spelling_warning = True
+spelling_exclude_patterns = ['release-notes/release-notes-*', 'release-notes/projects/*']
+
html_context = {
'version_status': 'supported',
}
+# Helper for JIRA references
+sys.path.append(os.path.abspath('ext'))
+extensions.append('odl-jira')
+
+# Set language to English
+language = "en"
+
+
def setup(app):
app.add_css_file("css/ribbon.css")