diff --git a/.gitlab-scripts/gitlab-ci.yml b/.gitlab-scripts/gitlab-ci.yml index 85f5f61687..700987c563 100644 --- a/.gitlab-scripts/gitlab-ci.yml +++ b/.gitlab-scripts/gitlab-ci.yml @@ -48,8 +48,7 @@ documentation: DOC_DIR: doc script: - cd "${PACKAGE}" - - python -m sphinx -T -E -W -n -b html ${DOC_DIR} _build/html - - python -m sphinx -T -E -W -n -b linkcheck ${DOC_DIR} _build + - python -m sphinx -T -E -b html ${DOC_DIR} _build/html rules: - changes: - ${PACKAGE}/${DOC_DIR}/**/* diff --git a/modules/commission/doc/conf.py b/modules/commission/doc/conf.py new file mode 100644 index 0000000000..4db2bff708 --- /dev/null +++ b/modules/commission/doc/conf.py @@ -0,0 +1,69 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import os + +base_url = os.environ.get('DOC_BASE_URL') +if base_url: + modules_url = base_url + '/modules-{module}/' + trytond_url = base_url + '/server/' +else: + modules_url = ( + 'https://docs.tryton.org/projects/modules-{module}/en/{series}/') + trytond_url = 'https://docs.tryton.org/projects/server/en/{series}/' + + +def get_info(): + import configparser + import subprocess + import sys + + module_dir = os.path.dirname(os.path.dirname(__file__)) + + config = configparser.ConfigParser() + config.read_file(open(os.path.join(module_dir, 'tryton.cfg'))) + info = dict(config.items('tryton')) + + result = subprocess.run( + [sys.executable, 'setup.py', '--name'], + stdout=subprocess.PIPE, check=True, cwd=module_dir) + info['name'] = result.stdout.decode('utf-8').strip() + + result = subprocess.run( + [sys.executable, 'setup.py', '--version'], + stdout=subprocess.PIPE, check=True, cwd=module_dir) + version = result.stdout.decode('utf-8').strip() + if 'dev' in version: + info['series'] = 'latest' + else: + info['series'] = '.'.join(version.split('.', 2)[:2]) + + for key in {'depends', 'extras_depend'}: + info[key] = info.get(key, '').strip().splitlines() + info['modules'] = set(info['depends'] + info['extras_depend']) + info['modules'] -= {'ir', 'res'} + + return info + + +info = get_info() + +master_doc = 'index' +project = info['name'] +release = version = info['series'] +default_role = 'ref' +highlight_language = 'none' +extensions = [ + 'sphinx.ext.intersphinx', + ] +intersphinx_mapping = { + 'trytond': (trytond_url.format(series=version), None), + } +intersphinx_mapping.update({ + m: (modules_url.format( + module=m.replace('_', '-'), series=version), None) + for m in info['modules'] + }) +linkcheck_ignore = [r'/.*', r'https://demo.tryton.org/*'] + +del get_info, info, base_url, modules_url, trytond_url diff --git a/modules/project/doc/conf.py b/modules/project/doc/conf.py new file mode 100644 index 0000000000..4db2bff708 --- /dev/null +++ b/modules/project/doc/conf.py @@ -0,0 +1,69 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import os + +base_url = os.environ.get('DOC_BASE_URL') +if base_url: + modules_url = base_url + '/modules-{module}/' + trytond_url = base_url + '/server/' +else: + modules_url = ( + 'https://docs.tryton.org/projects/modules-{module}/en/{series}/') + trytond_url = 'https://docs.tryton.org/projects/server/en/{series}/' + + +def get_info(): + import configparser + import subprocess + import sys + + module_dir = os.path.dirname(os.path.dirname(__file__)) + + config = configparser.ConfigParser() + config.read_file(open(os.path.join(module_dir, 'tryton.cfg'))) + info = dict(config.items('tryton')) + + result = subprocess.run( + [sys.executable, 'setup.py', '--name'], + stdout=subprocess.PIPE, check=True, cwd=module_dir) + info['name'] = result.stdout.decode('utf-8').strip() + + result = subprocess.run( + [sys.executable, 'setup.py', '--version'], + stdout=subprocess.PIPE, check=True, cwd=module_dir) + version = result.stdout.decode('utf-8').strip() + if 'dev' in version: + info['series'] = 'latest' + else: + info['series'] = '.'.join(version.split('.', 2)[:2]) + + for key in {'depends', 'extras_depend'}: + info[key] = info.get(key, '').strip().splitlines() + info['modules'] = set(info['depends'] + info['extras_depend']) + info['modules'] -= {'ir', 'res'} + + return info + + +info = get_info() + +master_doc = 'index' +project = info['name'] +release = version = info['series'] +default_role = 'ref' +highlight_language = 'none' +extensions = [ + 'sphinx.ext.intersphinx', + ] +intersphinx_mapping = { + 'trytond': (trytond_url.format(series=version), None), + } +intersphinx_mapping.update({ + m: (modules_url.format( + module=m.replace('_', '-'), series=version), None) + for m in info['modules'] + }) +linkcheck_ignore = [r'/.*', r'https://demo.tryton.org/*'] + +del get_info, info, base_url, modules_url, trytond_url diff --git a/proteus/doc/conf.py b/proteus/doc/conf.py new file mode 100644 index 0000000000..69481c2fa5 --- /dev/null +++ b/proteus/doc/conf.py @@ -0,0 +1,56 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import os + +base_url = os.environ.get('DOC_BASE_URL') +if base_url: + modules_url = base_url + '/modules-{module}/' + trytond_url = base_url + '/server/' +else: + modules_url = ( + 'https://docs.tryton.org/projects/modules-{module}/en/{series}/') + trytond_url = 'https://docs.tryton.org/projects/server/en/{series}/' + + +def get_info(): + import subprocess + import sys + + module_dir = os.path.dirname(os.path.dirname(__file__)) + + info = dict() + + result = subprocess.run( + [sys.executable, 'setup.py', '--name'], + stdout=subprocess.PIPE, check=True, cwd=module_dir) + info['name'] = result.stdout.decode('utf-8').strip() + + result = subprocess.run( + [sys.executable, 'setup.py', '--version'], + stdout=subprocess.PIPE, check=True, cwd=module_dir) + version = result.stdout.decode('utf-8').strip() + if 'dev' in version: + info['series'] = 'latest' + else: + info['series'] = '.'.join(version.split('.', 2)[:2]) + + return info + + +info = get_info() + +master_doc = 'index' +project = info['name'] +release = version = info['series'] +default_role = 'ref' +highlight_language = 'none' +extensions = [ + 'sphinx.ext.intersphinx', + ] +intersphinx_mapping = { + 'python': ('https://docs.python.org/', None), + } +linkcheck_ignore = [r'/.*', r'https://demo.tryton.org/*'] + +del get_info, info, base_url, modules_url, trytond_url diff --git a/tryton/doc/conf.py b/tryton/doc/conf.py new file mode 100644 index 0000000000..69481c2fa5 --- /dev/null +++ b/tryton/doc/conf.py @@ -0,0 +1,56 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import os + +base_url = os.environ.get('DOC_BASE_URL') +if base_url: + modules_url = base_url + '/modules-{module}/' + trytond_url = base_url + '/server/' +else: + modules_url = ( + 'https://docs.tryton.org/projects/modules-{module}/en/{series}/') + trytond_url = 'https://docs.tryton.org/projects/server/en/{series}/' + + +def get_info(): + import subprocess + import sys + + module_dir = os.path.dirname(os.path.dirname(__file__)) + + info = dict() + + result = subprocess.run( + [sys.executable, 'setup.py', '--name'], + stdout=subprocess.PIPE, check=True, cwd=module_dir) + info['name'] = result.stdout.decode('utf-8').strip() + + result = subprocess.run( + [sys.executable, 'setup.py', '--version'], + stdout=subprocess.PIPE, check=True, cwd=module_dir) + version = result.stdout.decode('utf-8').strip() + if 'dev' in version: + info['series'] = 'latest' + else: + info['series'] = '.'.join(version.split('.', 2)[:2]) + + return info + + +info = get_info() + +master_doc = 'index' +project = info['name'] +release = version = info['series'] +default_role = 'ref' +highlight_language = 'none' +extensions = [ + 'sphinx.ext.intersphinx', + ] +intersphinx_mapping = { + 'python': ('https://docs.python.org/', None), + } +linkcheck_ignore = [r'/.*', r'https://demo.tryton.org/*'] + +del get_info, info, base_url, modules_url, trytond_url diff --git a/trytond-gis/doc/conf.py b/trytond-gis/doc/conf.py new file mode 100644 index 0000000000..5c9a4b5744 --- /dev/null +++ b/trytond-gis/doc/conf.py @@ -0,0 +1,57 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import os + +base_url = os.environ.get('DOC_BASE_URL') +if base_url: + modules_url = base_url + '/modules-{module}/' + trytond_url = base_url + '/server/' +else: + modules_url = ( + 'https://docs.tryton.org/projects/modules-{module}/en/{series}/') + trytond_url = 'https://docs.tryton.org/projects/server/en/{series}/' + + +def get_info(): + import subprocess + import sys + + module_dir = os.path.dirname(os.path.dirname(__file__)) + + info = dict() + + result = subprocess.run( + [sys.executable, 'setup.py', '--name'], + stdout=subprocess.PIPE, check=True, cwd=module_dir) + info['name'] = result.stdout.decode('utf-8').strip() + + result = subprocess.run( + [sys.executable, 'setup.py', '--version'], + stdout=subprocess.PIPE, check=True, cwd=module_dir) + version = result.stdout.decode('utf-8').strip() + if 'dev' in version: + info['series'] = 'latest' + else: + info['series'] = '.'.join(version.split('.', 2)[:2]) + + return info + + +info = get_info() + +master_doc = 'index' +project = info['name'] +release = version = info['series'] +default_role = 'ref' +highlight_language = 'none' +extensions = [ + 'sphinx.ext.intersphinx', + ] +intersphinx_mapping = { + 'python': ('https://docs.python.org/', None), + 'trytond': (trytond_url.format(series=version), None), + } +linkcheck_ignore = [r'/.*', r'https://demo.tryton.org/*'] + +del get_info, info, base_url, modules_url, trytond_url diff --git a/trytond/doc/conf.py b/trytond/doc/conf.py new file mode 100644 index 0000000000..69481c2fa5 --- /dev/null +++ b/trytond/doc/conf.py @@ -0,0 +1,56 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import os + +base_url = os.environ.get('DOC_BASE_URL') +if base_url: + modules_url = base_url + '/modules-{module}/' + trytond_url = base_url + '/server/' +else: + modules_url = ( + 'https://docs.tryton.org/projects/modules-{module}/en/{series}/') + trytond_url = 'https://docs.tryton.org/projects/server/en/{series}/' + + +def get_info(): + import subprocess + import sys + + module_dir = os.path.dirname(os.path.dirname(__file__)) + + info = dict() + + result = subprocess.run( + [sys.executable, 'setup.py', '--name'], + stdout=subprocess.PIPE, check=True, cwd=module_dir) + info['name'] = result.stdout.decode('utf-8').strip() + + result = subprocess.run( + [sys.executable, 'setup.py', '--version'], + stdout=subprocess.PIPE, check=True, cwd=module_dir) + version = result.stdout.decode('utf-8').strip() + if 'dev' in version: + info['series'] = 'latest' + else: + info['series'] = '.'.join(version.split('.', 2)[:2]) + + return info + + +info = get_info() + +master_doc = 'index' +project = info['name'] +release = version = info['series'] +default_role = 'ref' +highlight_language = 'none' +extensions = [ + 'sphinx.ext.intersphinx', + ] +intersphinx_mapping = { + 'python': ('https://docs.python.org/', None), + } +linkcheck_ignore = [r'/.*', r'https://demo.tryton.org/*'] + +del get_info, info, base_url, modules_url, trytond_url