Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 25a0a2ba authored by Anton Hansson's avatar Anton Hansson
Browse files

Convert appsearch to java_sdk_library

AppSearch build file only defined a subset of the stubs and api
tracking, which prevents making progress on creating a correct "merged"
current.txt. Convert it to the standard build setup modules should use.

Implementation wise, this is a little bit special in that it's somewhere
between a module and not. The implementation library requires platform
internals to compile. The stubs do not, and we rely on this to make
the build work at all -- via impl_only_libs we compile the stubs
*without* framework-minus-apex, which allows framework-minus-apex to
depend on the stubs.

Bug: 169304493
Test: m checkapi
Change-Id: I10a331bb6df56072cb9e9ada99ae47c5446869fd
parent 48acf101
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -374,7 +374,7 @@ filegroup {
java_library {
    name: "framework-updatable-stubs-module_libs_api",
    static_libs: [
        "framework-appsearch-stubs", // TODO: Update to module_libs_api when there is one.
        "framework-appsearch.stubs.module_lib",
        "framework-graphics.stubs.module_lib",
        "framework-media.stubs.module_lib",
        "framework-mediaprovider.stubs.module_lib",
@@ -393,7 +393,7 @@ java_library {
    installable: false,
    static_libs: [
        "framework-minus-apex",
        "framework-appsearch",
        "framework-appsearch.impl",
        "framework-graphics.impl",
        "framework-mediaprovider.impl",
        "framework-permission.impl",
@@ -623,8 +623,7 @@ java_library {
    static_libs: [
        "app-compat-annotations",
        "framework-minus-apex",
        // TODO(b/146218515): should be removed
        "framework-appsearch",
        "framework-appsearch.impl", // TODO(b/146218515): should be removed
        "framework-updatable-stubs-module_libs_api",
    ],
    sdk_version: "core_platform",
+1 −1
Original line number Diff line number Diff line
@@ -408,7 +408,7 @@ java_library_static {
    srcs: [ ":system-api-stubs-docs-non-updatable" ],
    static_libs: [
        "conscrypt.module.public.api.stubs",
        "framework-appsearch-stubs", // TODO: standardize appsearch stubs
        "framework-appsearch.stubs.system",
        "framework-graphics.stubs.system",
        "framework-media.stubs.system",
        "framework-mediaprovider.stubs.system",
+7 −50
Original line number Diff line number Diff line
@@ -21,60 +21,17 @@ filegroup {
    path: "java",
}

java_library {
java_sdk_library {
    name: "framework-appsearch",
    installable: true,
    sdk_version: "core_platform", // TODO(b/146218515) should be module_current
    srcs: [ ":framework-appsearch-sources" ],
    hostdex: true, // for hiddenapi check
    libs: [
        "framework-minus-apex",  // TODO(b/146218515) should be removed
    ],
    sdk_version: "core_platform", // TODO(b/146218515) should be module_current
    impl_only_libs: ["framework-minus-apex"], // TODO(b/146218515) should be removed
    static_libs: ["icing-java-proto-lite"],
    visibility: [
        // TODO(b/146218515) remove this when framework is built with the stub of appsearch
        "//frameworks/base",
        "//frameworks/base/apex/appsearch:__subpackages__",
    ],
    jarjar_rules: "jarjar-rules.txt",
    defaults: ["framework-module-defaults"],
    permitted_packages: ["android.app.appsearch"],
    apex_available: ["com.android.appsearch"],
}

metalava_appsearch_docs_args =
    "--hide-package com.android.server " +
    "--error UnhiddenSystemApi " +
    "--hide RequiresPermission " +
    "--hide MissingPermission " +
    "--hide BroadcastBehavior " +
    "--hide HiddenSuperclass " +
    "--hide DeprecationMismatch " +
    "--hide UnavailableSymbol " +
    "--hide SdkConstant " +
    "--hide HiddenTypeParameter " +
    "--hide Todo --hide Typo " +
    "--hide HiddenTypedefConstant " +
    "--show-annotation android.annotation.SystemApi "

droidstubs {
    name: "framework-appsearch-stubs-srcs",
    srcs: [":framework-appsearch-sources"],
    libs: ["framework-annotations-lib"],
    aidl: {
        include_dirs: ["frameworks/base/core/java"],
    },
    args: metalava_appsearch_docs_args,
    sdk_version: "module_current",
}

java_library {
    name: "framework-appsearch-stubs",
    srcs: [":framework-appsearch-stubs-srcs"],
    jarjar_rules: "jarjar-rules.txt",
    aidl: {
        export_include_dirs: [
            "java",
        ],
        include_dirs: ["frameworks/base/core/java"], // TODO(b/146218515) should be removed
    },
    sdk_version: "module_current",
    installable: false,
    apex_available: ["com.android.appsearch"],
}
+1 −0
Original line number Diff line number Diff line
// Signature format: 2.0
+1 −0
Original line number Diff line number Diff line
// Signature format: 2.0
Loading