android: fix javadoc

pull/14749/head
Alexander Alekhin 6 years ago
parent aab9ef4290
commit c6deba6003
  1. 2
      modules/java/jar/CMakeLists.txt
  2. 8
      modules/java/jar/build.xml.in
  3. 37
      platforms/android/build_sdk.py

@ -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")

@ -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);

@ -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',
] ]

Loading…
Cancel
Save