Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com> Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com> Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
		
			
				
	
	
		
			125 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
			
		
		
	
	
			125 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
[tox]
 | 
						|
minversion = 3.1
 | 
						|
envlist = py39,pep8
 | 
						|
skipsdist = True
 | 
						|
ignore_basepython_conflict = True
 | 
						|
 | 
						|
[testenv]
 | 
						|
usedevelop = True
 | 
						|
install_command = pip install {opts} {packages}
 | 
						|
deps =
 | 
						|
  -r{toxinidir}/requirements.txt
 | 
						|
commands = stestr run {posargs}
 | 
						|
  stestr slowest
 | 
						|
 | 
						|
[testenv:pep8]
 | 
						|
commands =
 | 
						|
  doc8 doc/source README.rst
 | 
						|
 | 
						|
[testenv:venv]
 | 
						|
deps =
 | 
						|
  -r{toxinidir}/requirements.txt
 | 
						|
commands = {posargs}
 | 
						|
 | 
						|
# This env is invoked in the periodic pipeline and is therefore responsible to
 | 
						|
# build all relevant docs at once.
 | 
						|
[testenv:docs]
 | 
						|
deps = -r{toxinidir}/doc/requirements.txt
 | 
						|
allowlist_externals =
 | 
						|
  mkdir
 | 
						|
  cp
 | 
						|
  sh
 | 
						|
  rm
 | 
						|
  sphinx-build
 | 
						|
commands =
 | 
						|
  rm -rf doc/build/html doc/build/doctrees
 | 
						|
  sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html
 | 
						|
{%- for doc in docs %}
 | 
						|
  {[testenv:{{ doc.type }}]commands}
 | 
						|
  {[testenv:json-{{ doc.type }}]commands}
 | 
						|
{%- endfor %}
 | 
						|
 | 
						|
[testenv:docs-pdf]
 | 
						|
deps = -r{toxinidir}/doc/requirements.txt
 | 
						|
allowlist_externals =
 | 
						|
  rm
 | 
						|
  mkdir
 | 
						|
  make
 | 
						|
  bash
 | 
						|
  cp
 | 
						|
commands =
 | 
						|
  mkdir -p doc/build/pdf
 | 
						|
{%- for doc in docs %}
 | 
						|
{%- if doc.pdf_name %}
 | 
						|
  {[testenv:{{ doc.type }}-pdf-docs]commands}
 | 
						|
{%- endif %}
 | 
						|
{%- endfor %}
 | 
						|
 | 
						|
{% for doc in docs -%}
 | 
						|
{% set loc = doc.rst_location | replace('/source', '') %}
 | 
						|
# HTML version
 | 
						|
[testenv:{{ doc.type }}]
 | 
						|
deps = -r{toxinidir}/doc/requirements.txt
 | 
						|
allowlist_externals =
 | 
						|
  cp
 | 
						|
  mkdir
 | 
						|
commands =
 | 
						|
  sphinx-build -W --keep-going -b html {{ loc }}/source doc/build/html/{{ doc.type }}
 | 
						|
{%- if doc.type == 'api-ref' %}
 | 
						|
  mkdir -p api-ref/build/html
 | 
						|
  cp -av doc/build/html/api-ref api-ref/build/html
 | 
						|
{%- elif doc.type == 'umn' %}
 | 
						|
  mkdir -p umn/build/html
 | 
						|
  cp -av doc/build/html/umn umn/build/html
 | 
						|
{%- elif doc.type == 'dev-guide' %}
 | 
						|
  mkdir -p dev_guide/build/html
 | 
						|
  cp -av doc/build/html/dev-guide dev_guide/build/html
 | 
						|
{%- endif %}
 | 
						|
 | 
						|
# Json version (for search)
 | 
						|
[testenv:json-{{ doc.type }}]
 | 
						|
deps = -r{toxinidir}/doc/requirements.txt
 | 
						|
allowlist_externals =
 | 
						|
  cp
 | 
						|
  mkdir
 | 
						|
  sh
 | 
						|
commands =
 | 
						|
  sphinx-build -W --keep-going -b json {{ loc }}/source doc/build/json/{{ doc.type }}
 | 
						|
  # Drop data useless for the search - wrap it also with sh/xargs due to bugs
 | 
						|
  # in tox
 | 
						|
  sh -c "find doc/build/json -type d -and '(' -name '_images' -or -name '_static' -or -name '_sources' ')' -print0 | xargs -0 rm -rf"
 | 
						|
{%- if doc.type == 'api-ref' %}
 | 
						|
  mkdir -p api-ref/build/json
 | 
						|
  cp -av doc/build/json/api-ref api-ref/build/json
 | 
						|
{%- elif doc.type == 'umn' %}
 | 
						|
  mkdir -p umn/build/json
 | 
						|
  cp -av doc/build/json/umn umn/build/json
 | 
						|
{%- elif doc.type == 'dev-guide' %}
 | 
						|
  mkdir -p dev_guide/build/json
 | 
						|
  cp -av doc/build/json/dev-guide dev_guide/build/json
 | 
						|
{%- endif %}
 | 
						|
 | 
						|
{% if doc.pdf_name -%}
 | 
						|
# PDF version
 | 
						|
[testenv:{{ doc.type }}-pdf-docs]
 | 
						|
deps = -r{toxinidir}/doc/requirements.txt
 | 
						|
allowlist_externals =
 | 
						|
  rm
 | 
						|
  mkdir
 | 
						|
  make
 | 
						|
  bash
 | 
						|
  cp
 | 
						|
commands =
 | 
						|
  rm -rf {{ loc }}/build/pdf
 | 
						|
  sphinx-build -W --keep-going -b latex {{ loc }}/source {{ loc }}/build/pdf/
 | 
						|
  bash -c "for f in {{ loc }}/build/pdf/*.gif; do convert $f $\{f/%gif/png\}; done || true"
 | 
						|
  bash -c "for f in {{ loc }}/build/pdf/*.tex; do sed -iorig 's/\.gif//g' $f; done"
 | 
						|
  make -C {{ loc }}/build/pdf
 | 
						|
  mkdir -p doc/build/pdf
 | 
						|
  cp {{ loc }}/build/pdf/{{ doc.pdf_name }}.pdf doc/build/pdf/
 | 
						|
{% endif %}
 | 
						|
{% endfor %}
 | 
						|
 | 
						|
[doc8]
 | 
						|
ignore = D001
 | 
						|
extensions = .rst, .yaml |