summaryrefslogtreecommitdiff
path: root/odk/pack
diff options
context:
space:
mode:
Diffstat (limited to 'odk/pack')
-rw-r--r--odk/pack/gendocu/idl_ref_javadoc.patch37
-rw-r--r--odk/pack/gendocu/makefile.mk3
2 files changed, 40 insertions, 0 deletions
diff --git a/odk/pack/gendocu/idl_ref_javadoc.patch b/odk/pack/gendocu/idl_ref_javadoc.patch
new file mode 100644
index 000000000000..4ff644a76555
--- /dev/null
+++ b/odk/pack/gendocu/idl_ref_javadoc.patch
@@ -0,0 +1,37 @@
+14a15,50
+> if (targetPage != "" && !validURL(targetPage))
+> targetPage = "undefined";
+> function validURL(url) {
+> var pos = url.indexOf(".html");
+> if (pos == -1 || pos != url.length - 5)
+> return false;
+> var allowNumber = false;
+> var allowSep = false;
+> var seenDot = false;
+> for (var i = 0; i < url.length - 5; i++) {
+> var ch = url.charAt(i);
+> if ('a' <= ch && ch <= 'z' ||
+> 'A' <= ch && ch <= 'Z' ||
+> ch == '$' ||
+> ch == '_') {
+> allowNumber = true;
+> allowSep = true;
+> } else if ('0' <= ch && ch <= '9'
+> || ch == '-') {
+> if (!allowNumber)
+> return false;
+> } else if (ch == '/' || ch == '.') {
+> if (!allowSep)
+> return false;
+> allowNumber = false;
+> allowSep = false;
+> if (ch == '.')
+> seenDot = true;
+> if (ch == '/' && seenDot)
+> return false;
+> } else {
+> return false;
+> }
+> }
+> return true;
+> }
diff --git a/odk/pack/gendocu/makefile.mk b/odk/pack/gendocu/makefile.mk
index 4498a9497135..624bbea8686b 100644
--- a/odk/pack/gendocu/makefile.mk
+++ b/odk/pack/gendocu/makefile.mk
@@ -111,6 +111,9 @@ $(JAVA_SRC_FILES) : $(SOLARCOMMONBINDIR)$/$$(@:f)
$(JAVA_DOCU_INDEX_FILE) .SEQUENTIAL : $(JAVA_SRC_FILES)
-$(MKDIRHIER) $(@:d)
$(JAVADOC) -J-Xmx120m $(JAVADOCPARAMS) > $(JAVADOCLOG)
+.IF "$(OS)" != "MACOSX"
+ patch $(JAVA_DOCU_INDEX_FILE) idl_ref_javadoc.patch
+.ENDIF
.ENDIF
.ELSE