我使用部分包含 Java 和 Python 代码的共享存储库。代码基础主要基于python,但有些库是用Java编写的。
是否有可能解析或预处理 Java 文档,以便以后在 Python-Sphinx 甚至插件中使用它?
我使用部分包含 Java 和 Python 代码的共享存储库。代码基础主要基于python,但有些库是用Java编写的。
是否有可能解析或预处理 Java 文档,以便以后在 Python-Sphinx 甚至插件中使用它?
我花了很长时间才找到所有重要的细节来设置它,所以这里有一个关于我所有麻烦的简介。
# Recommend working in virtual environments with latest pip:
mkdir docs; cd docs
python3 -m venv env
source ./env/bin/activate
pip install --upgrade pip
# Recommend installing from source:
pip install git+https://github.com/bronto/javasphinx.git
pypi 版本似乎已经破坏了导入,这些问题在最新的结帐中似乎不存在。
假设你已经有了一个工作狮身人面像设置:
重要提示:将 java“域”添加到 sphinx,这是嵌入在javasphinx
包中的,不遵循常见的.ext.
扩展命名空间格式。(这是我错过了几个小时的细节):
# docs/sources/conf.py
extensions = ['javasphinx']
可选:如果您想要外部 javadoc 链接:
# docs/sources/conf.py
javadoc_url_map = {
'<namespace_here>' : ('<base_url_here>', 'javadoc'),
}
该javasphinx
软件包添加了 shell tool javasphinx-apidoc
,如果您当前的环境处于活动状态,您可以将其称为 just javasphinx-apidoc
,或使用其完整路径./env/bin/javasphinx-apidoc
::
$ javasphinx-apidoc -o docs/source/ --title='<name_here>' ../path/to/java_dirtoscan
该工具采用与以下几乎相同的参数sphinx-apidoc
:
$ javasphinx-apidoc --help
Usage: javasphinx-apidoc [options] -o <output_path> <input_path> [exclude_paths, ...]
Options:
-h, --help show this help message and exit
-o DESTDIR, --output-dir=DESTDIR
Directory to place all output
-f, --force Overwrite all files
-c CACHE_DIR, --cache-dir=CACHE_DIR
Directory to stored cachable output
-u, --update Overwrite new and changed files
-T, --no-toc Don't create a table of contents file
-t TOC_TITLE, --title=TOC_TITLE
Title to use on table of contents
--no-member-headers Don't generate headers for class members
-s SUFFIX, --suffix=SUFFIX
file suffix (default: rst)
-I INCLUDES, --include=INCLUDES
Additional input paths to scan
-p PARSER_LIB, --parser=PARSER_LIB
Beautiful Soup---html parser library option.
-v, --verbose verbose output
在javasphinx-apidoc
命令的输出目录中将packages.rst
生成一个目录文件,您可能希望将其包含到 index.html 的目录中,例如:
#docs/sources/index.rst
Contents:
.. toctree::
:maxdepth: 2
packages
激活您的 python 环境或修改您的路径:
$ cd docs
$ make html
or
$ PATH=$PATH:./env/bin/ make html
Sphinx 没有提供解析 JavaDoc 的内置方法,而且我不知道有任何 3rd 方扩展可用于此任务。
您可能必须为 Sphinx autodoc 扩展编写自己的文档。您可以采用不同的方法: