summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Android.bp17
1 files changed, 16 insertions, 1 deletions
diff --git a/Android.bp b/Android.bp
index c787a19df576..d3ada7bef89a 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1300,7 +1300,22 @@ metalava_framework_docs_args = "--manifest $(location core/res/AndroidManifest.x
"--hide RequiresPermission " +
"--hide MissingPermission --hide BroadcastBehavior " +
"--hide HiddenSuperclass --hide DeprecationMismatch --hide UnavailableSymbol " +
- "--hide SdkConstant --hide HiddenTypeParameter --hide Todo --hide Typo"
+ "--hide SdkConstant --hide HiddenTypeParameter --hide Todo --hide Typo "
+
+// http://b/129765390 Rewrite links to "platform" or "technotes" folders
+// which are siblings (and thus outside of) {@docRoot}.
+//
+// We have to escape \ as \\ and $ as $$ here because they get resolved by
+// different layers of the build tooling. The arguments are wrapped in '' so
+// that the shell doesn't add yet another level of escaping.
+metalava_framework_docs_args += " --replace-documentation " +
+ // packages whose descendants to apply replacement to (all packages from
+ // libcore/ojluni/src/main/java that contribute to documentation).
+ "com.sun:java:javax:jdk.net:sun " +
+ // regex of the string to replace
+ "'(<a\\s+href\\s?=[\\*\\s]*\")(?:(?:\\{@docRoot\\}/\\.\\./)|(?:(?:\\.\\./)+))((?:platform|technotes).+)\">' " +
+ // replacement (with $1, $2 backreferences to the regex groups)
+ "'$$1https://docs.oracle.com/javase/8/docs/$$2\">' "
stubs_defaults {
name: "framework-doc-stubs-default",