From f81f379cfafb8f18a5ccd7300256e3fdbca1417c Mon Sep 17 00:00:00 2001
From: Aric Gardner <agardner@linuxfoundation.org>
Date: Tue, 18 Sep 2018 12:18:45 -0400
Subject: [PATCH] Local Documentation Builds

This adds configuration for performing local documentation builds
with the following simple command:

tox -e docs

This patch is part of our documentation effor to Move away from
submodules
https://docs.opnfv.org/en/latest/how-to-use-docs/local-build-transition.html

Your project is now required to have a docs/index.rst so if you are
missing this file please create it.

Change-Id: I32a91a4194e4afe98f4c964052e99419b22330ba
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
(cherry picked from commit 42333625db781f1ae12212ce903df9b5257ff5e4)
---
 .gitignore            |  2 +-
 docs/conf.py          |  1 +
 docs/conf.yaml        |  3 +++
 docs/requirements.txt |  2 ++
 tox.ini               | 13 ++++++++++++-
 5 files changed, 19 insertions(+), 2 deletions(-)
 create mode 100644 docs/conf.py
 create mode 100644 docs/conf.yaml
 create mode 100644 docs/requirements.txt

diff --git a/.gitignore b/.gitignore
index 6fc25628..b21ec655 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,7 +6,6 @@
 /*.egg-info/
 .eggs/
 /build/
-/docs_build/
 /docs_output/
 /releng/
 /tests/*.img
@@ -16,3 +15,4 @@
 
 #Build results
 .tox
+docs/_build/*
diff --git a/docs/conf.py b/docs/conf.py
new file mode 100644
index 00000000..eb12e74b
--- /dev/null
+++ b/docs/conf.py
@@ -0,0 +1 @@
+from docs_conf.conf import *  # noqa: F401,F403
diff --git a/docs/conf.yaml b/docs/conf.yaml
new file mode 100644
index 00000000..e08a41ab
--- /dev/null
+++ b/docs/conf.yaml
@@ -0,0 +1,3 @@
+---
+project_cfg: opnfv
+project: DOCTOR
diff --git a/docs/requirements.txt b/docs/requirements.txt
new file mode 100644
index 00000000..9fde2df2
--- /dev/null
+++ b/docs/requirements.txt
@@ -0,0 +1,2 @@
+lfdocs-conf
+sphinx_opnfv_theme
diff --git a/tox.ini b/tox.ini
index 832a1dae..8a5df05e 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,6 +1,6 @@
 [tox]
 minversion = 2.3.1
-envlist = py34, pep8
+envlist = py34, pep8,docs,docs-linkcheck
 skipsdist = True
 
 [testenv]
@@ -49,3 +49,14 @@ enable-extensions=H106,H203
 builtins = _
 filename = *.py,app.wsgi
 exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,tests
+
+[testenv:docs]
+deps = -rdocs/requirements.txt
+commands =
+    sphinx-build -b html -n -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html
+    echo "Generated docs available in {toxinidir}/docs/_build/html"
+whitelist_externals = echo
+
+[testenv:docs-linkcheck]
+deps = -rdocs/requirements.txt
+commands = sphinx-build -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck
-- 
2.16.6