[
https://issues.apache.org/jira/browse/PROTON-2086?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16906348#comment-16906348
]
ASF GitHub Bot commented on PROTON-2086:
----------------------------------------
astitcher commented on pull request #186: PROTON-2086: Changed API
documentation from epydoc to Sphinx
URL: https://github.com/apache/qpid-proton/pull/186#discussion_r313476350
##########
File path: python/CMakeLists.txt
##########
@@ -112,35 +112,46 @@ endmacro(py_compile)
py_compile(${CMAKE_CURRENT_BINARY_DIR} ${pysrc-generated} CPROTON_ARTIFACTS)
py_compile(${CMAKE_CURRENT_SOURCE_DIR} "${pysrc}" PROTON_ARTIFACTS)
-find_program(EPYDOC_EXE epydoc)
-mark_as_advanced (EPYDOC_EXE)
-if (EPYDOC_EXE)
- foreach (py_src_doc ${pysrc})
- list(APPEND PY_DOC_FILES "${CMAKE_CURRENT_SOURCE_DIR}/${py_src_doc}")
- endforeach(py_src_doc)
+
+find_program(SPHINX_EXE_PY2 sphinx-build-2 HINTS "/usr/bin")
+mark_as_advanced (SPHINX_EXE_PY2)
+find_program(SPHINX_EXE_PY3 sphinx-build-3 HINTS "/usr/bin")
+mark_as_advanced (SPHINX_EXE_PY3)
+
+# Version of Python used to build API must match version of Sphinx used to
build the docs
+get_filename_component(PYTHON_EXECUTABLE_NAME ${PYTHON_EXECUTABLE} NAME)
+# Try matching for Python 3 first
+if ((SPHINX_EXE_PY3) AND (PYTHON_EXECUTABLE_NAME STREQUAL "python3"))
+ set(BUILD_SPHINX_DOCS TRUE)
Review comment:
You should be checking for sphinx using:
> check_python_module("sphinx", SPHINX_MODULE_FOUND)
> if (SPHINX_MODULE_FOUND)
>...
and then when you call sphinx-build use
> add_custom_command(doc-py
> COMMAND
> ${PN_ENV_SCRIPT} --
> PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}:${CMAKE_CURRENT_SOURCE_DIR}
> ${PYTHON_EXECUTABLE} -m sphinx
> -b html ${CMAKE_CURRENT_SOURCE_DIR}/docs
${CMAKE_CURRENT_BINARY_DIR}/docs)
(I think this is the correct invocation of sphinx - I'm not 100% sure
though, but you can definitely invoke it this way)
This avoids having to worry about python2/python3 differences; will
correctly support Windows (which the current and your solution does not) and
also correctly uses a virtual environment set up for the build, which is a very
useful thing to do for a CI instance.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Move Python API docs to use Sphinx
> ----------------------------------
>
> Key: PROTON-2086
> URL: https://issues.apache.org/jira/browse/PROTON-2086
> Project: Qpid Proton
> Issue Type: Task
> Components: python-binding
> Reporter: Kim van der Riet
> Assignee: Kim van der Riet
> Priority: Major
>
> Currently the Python API docs are generated using ePyDoc. These should be
> switched to using Sphinx.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]