[ 
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:
us...@infra.apache.org


> 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: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to