android: fix javadoc

This commit is contained in:
Alexander Alekhin 2019-06-06 19:55:17 +00:00
parent aab9ef4290
commit c6deba6003
3 changed files with 39 additions and 8 deletions

View File

@ -25,6 +25,8 @@ if(OPENCV_JAVA_TARGET_VERSION)
set(OPENCV_ANT_JAVAC_EXTRA_ATTRS "${OPENCV_ANT_JAVAC_EXTRA_ATTRS} target=\"${OPENCV_JAVA_TARGET_VERSION}\"") set(OPENCV_ANT_JAVAC_EXTRA_ATTRS "${OPENCV_ANT_JAVAC_EXTRA_ATTRS} target=\"${OPENCV_JAVA_TARGET_VERSION}\"")
endif() endif()
set(OPENCV_JAVADOC_DESTINATION "${OpenCV_BINARY_DIR}/doc/doxygen/html/javadoc" CACHE STRING "")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/build.xml.in" "${OPENCV_JAVA_DIR}/build.xml" @ONLY) configure_file("${CMAKE_CURRENT_SOURCE_DIR}/build.xml.in" "${OPENCV_JAVA_DIR}/build.xml" @ONLY)
list(APPEND depends "${OPENCV_JAVA_DIR}/build.xml") list(APPEND depends "${OPENCV_JAVA_DIR}/build.xml")

View File

@ -30,12 +30,13 @@
<target name="javadoc"> <target name="javadoc">
<copy file="@OpenCV_SOURCE_DIR@/doc/mymath.js" <copy file="@OpenCV_SOURCE_DIR@/doc/mymath.js"
todir="@OpenCV_BINARY_DIR@/doc/doxygen/html/javadoc" /> todir="@OPENCV_JAVADOC_DESTINATION@" />
<!-- synchronize with platforms\android\build_sdk.py -->
<javadoc <javadoc
packagenames="org.opencv.*" packagenames="org.opencv.*"
sourcepath="java" sourcepath="java"
destdir="@OpenCV_BINARY_DIR@/doc/doxygen/html/javadoc" destdir="@OPENCV_JAVADOC_DESTINATION@"
Windowtitle="OpenCV @OPENCV_VERSION_PLAIN@ Java documentation" Windowtitle="OpenCV @OPENCV_VERSION_PLAIN@ Java documentation"
Doctitle="OpenCV Java documentation (@OPENCV_VERSION@)" Doctitle="OpenCV Java documentation (@OPENCV_VERSION@)"
bottom="Generated on ${timestamp} / OpenCV @OPENCV_VCSVERSION@" bottom="Generated on ${timestamp} / OpenCV @OPENCV_VCSVERSION@"
@ -48,7 +49,8 @@
<![CDATA[ <![CDATA[
<script> <script>
var url = window.location.href; var url = window.location.href;
url = url.substring(0, url.lastIndexOf('/', url.indexOf('.html'))) + '/../../../mymath.js'; var pos = url.lastIndexOf('/javadoc/');
url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
var script = document.createElement('script'); var script = document.createElement('script');
script.src = '@OPENCV_MATHJAX_RELPATH@/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url; script.src = '@OPENCV_MATHJAX_RELPATH@/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
document.getElementsByTagName('head')[0].appendChild(script); document.getElementsByTagName('head')[0].appendChild(script);

View File

@ -1,6 +1,13 @@
#!/usr/bin/env python #!/usr/bin/env python
import os, sys, subprocess, argparse, shutil, glob, re import os, sys
import argparse
import glob
import re
import shutil
import subprocess
import time
import logging as log import logging as log
import xml.etree.ElementTree as ET import xml.etree.ElementTree as ET
@ -285,14 +292,34 @@ class Builder:
for f in files: for f in files:
if f == "android.jar" or f == "annotations.jar": if f == "android.jar" or f == "annotations.jar":
classpaths.append(os.path.join(dir, f)) classpaths.append(os.path.join(dir, f))
srcdir = os.path.join(self.resultdest, 'sdk', 'java', 'src')
dstdir = self.docdest
# synchronize with modules/java/jar/build.xml.in
shutil.copy2(os.path.join(SCRIPT_DIR, '../../doc/mymath.js'), dstdir)
cmd = [ cmd = [
"javadoc", "javadoc",
"-header", "OpenCV %s" % self.opencv_version, '-windowtitle', 'OpenCV %s Java documentation' % self.opencv_version,
'-doctitle', 'OpenCV Java documentation (%s)' % self.opencv_version,
"-nodeprecated", "-nodeprecated",
"-footer", '<a href="http://docs.opencv.org">OpenCV %s Documentation</a>' % self.opencv_version,
"-public", "-public",
'-sourcepath', os.path.join(self.resultdest, 'sdk', 'java', 'src'), '-sourcepath', srcdir,
"-d", self.docdest, '-encoding', 'UTF-8',
'-charset', 'UTF-8',
'-docencoding', 'UTF-8',
'--allow-script-in-comments',
'-header',
'''
<script>
var url = window.location.href;
var pos = url.lastIndexOf('/javadoc/');
url = pos >= 0 ? (url.substring(0, pos) + '/javadoc/mymath.js') : (window.location.origin + '/mymath.js');
var script = document.createElement('script');
script.src = '%s/MathJax.js?config=TeX-AMS-MML_HTMLorMML,' + url;
document.getElementsByTagName('head')[0].appendChild(script);
</script>
''' % 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0',
'-bottom', 'Generated on %s / OpenCV %s' % (time.strftime("%Y-%m-%d %H:%M:%S"), self.opencv_version),
"-d", dstdir,
"-classpath", ":".join(classpaths), "-classpath", ":".join(classpaths),
'-subpackages', 'org.opencv', '-subpackages', 'org.opencv',
] ]