diff --git a/Android.bp b/Android.bp index a044555099444..c46f092ccbfbc 100644 --- a/Android.bp +++ b/Android.bp @@ -1155,7 +1155,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 + "'(' " + + // replacement (with $1, $2 backreferences to the regex groups) + "'$$1https://docs.oracle.com/javase/8/docs/$$2\">' " stubs_defaults { name: "framework-doc-stubs-default",