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

Commit d6be5797 authored by Jiyong Park's avatar Jiyong Park
Browse files

Use filegroup to simplify Android.bp for frameworks and its friends

Java and AIDL source files under frameworks/base are now modularized
using filegroup. Each filegroup has 'path' property set to the base
directory of the ssource files. This allows us to not rely on
aidl.[local_]include_dirs and srcs_lib_whitelist_dirs to get the base
directories.

Bug: 70046217
Test: m
Exempt-From-Owner-Approval: Approved internally
Merged-In: I0705ddf76b3c628127f65d75e0a8b06c6c250fe2
(cherry picked from commit b360931b)
Change-Id: I0705ddf76b3c628127f65d75e0a8b06c6c250fe2
parent 9e4df498
Loading
Loading
Loading
Loading
+165 −86
Original line number Original line Diff line number Diff line
@@ -26,65 +26,164 @@
// READ ME: ########################################################
// READ ME: ########################################################


filegroup {
filegroup {
    name: "framework-defaults-java-srcs",
    name: "framework-core-sources",
    srcs: [
    srcs: [
        // From build/make/core/pathmap.mk FRAMEWORK_BASE_SUBDIRS
        "core/java/**/*.java",
        "core/java/**/*.java",
        "graphics/java/**/*.java",
        "core/java/**/*.aidl",
        "location/java/**/*.java",
        "lowpan/java/**/*.java",
        "media/java/**/*.java",
        "media/mca/effect/java/**/*.java",
        "media/mca/filterfw/java/**/*.java",
        "media/mca/filterpacks/java/**/*.java",
        "drm/java/**/*.java",
        "opengl/java/**/*.java",
        "sax/java/**/*.java",
        "telecomm/java/**/*.java",
        "telephony/java/**/*.java",
        "wifi/java/**/*.java",
        "keystore/java/**/*.java",
        "rs/java/**/*.java",
    ],
    ],
    path: "core/java",
}
}


// TODO(b/70046217): make these as filegroups where the base directory for aidl files
filegroup {
// is given as 'path'. Eliminate the need for aidl_local_include_dirs.
    name: "framework-drm-sources",
framework_srcs = [
    srcs: [
    // java sources under this directory
    "core/java/**/*.java",
        "drm/java/**/*.java",
        "drm/java/**/*.java",
    ],
    path: "drm/java",
}

filegroup {
    name: "framework-graphics-sources",
    srcs: [
        "graphics/java/**/*.java",
        "graphics/java/**/*.java",
        "graphics/java/**/*.aidl",
    ],
    path: "graphics/java",
}

filegroup {
    name: "framework-keystore-sources",
    srcs: [
        "keystore/java/**/*.java",
        "keystore/java/**/*.java",
        "keystore/java/**/*.aidl",
    ],
    path: "keystore/java",
}

filegroup {
    name: "framework-location-sources",
    srcs: [
        "location/java/**/*.java",
        "location/java/**/*.java",
        "location/java/**/*.aidl",
    ],
    path: "location/java",
}

filegroup {
    name: "framework-lowpan-sources",
    srcs: [
        "lowpan/java/**/*.java",
        "lowpan/java/**/*.java",
        "lowpan/java/**/*.aidl",
    ],
    path: "lowpan/java",
}

filegroup {
    name: "framework-media-sources",
    srcs: [
        "media/java/**/*.java",
        "media/java/**/*.java",
        "media/java/**/*.aidl",
    ],
    path: "media/java",
}

filegroup {
    name: "framework-mca-effect-sources",
    srcs: [
        "media/mca/effect/java/**/*.java",
        "media/mca/effect/java/**/*.java",
    ],
    path: "media/mca/effect/java",
}

filegroup {
    name: "framework-mca-filterfw-sources",
    srcs: [
        "media/mca/filterfw/java/**/*.java",
        "media/mca/filterfw/java/**/*.java",
    ],
    path: "media/mca/filterfw/java",
}

filegroup {
    name: "framework-mca-filterpacks-sources",
    srcs: [
        "media/mca/filterpacks/java/**/*.java",
        "media/mca/filterpacks/java/**/*.java",
    ],
    path: "media/mca/filterpacks/java",
}

filegroup {
    name: "framework-opengl-sources",
    srcs: [
        "opengl/java/**/*.java",
        "opengl/java/**/*.java",
    ],
    path: "opengl/java",
}

filegroup {
    name: "framework-rs-sources",
    srcs: [
        "rs/java/**/*.java",
        "rs/java/**/*.java",
    ],
    path: "rs/java",
}

filegroup {
    name: "framework-sax-sources",
    srcs: [
        "sax/java/**/*.java",
        "sax/java/**/*.java",
    "telecomm/java/**/*.java",
    ],
    "telephony/java/**/*.java",
    path: "sax/java",
    "wifi/java/**/*.java",
}


    // aidl under this directory
filegroup {
    // b/70046217#comment15 These MUST come after all java srcs.
    name: "framework-telecomm-sources",
    // TODO(b/70046217) remove the above requirement
    srcs: [
    "core/java/**/*.aidl",
        "telecomm/java/**/*.java",
    "graphics/java/**/*.aidl",
    "keystore/java/**/*.aidl",
    "location/java/**/*.aidl",
    "lowpan/java/**/*.aidl",
    "media/java/**/*.aidl",
    "packages/services/PacProcessor/**/*.aidl",
    "packages/services/Proxy/**/*.aidl",
        "telecomm/java/**/*.aidl",
        "telecomm/java/**/*.aidl",
    ],
    path: "telecomm/java",
}

filegroup {
    name: "framework-telephony-sources",
    srcs: [
        "telephony/java/**/*.java",
        "telephony/java/**/*.aidl",
        "telephony/java/**/*.aidl",
    ],
    path: "telephony/java",
}

filegroup {
    name: "framework-wifi-sources",
    srcs: [
        "wifi/java/**/*.java",
        "wifi/java/**/*.aidl",
        "wifi/java/**/*.aidl",
    ],
    path: "wifi/java",
}


    // aidl from external directories
framework_srcs = [
    // Java/AIDL sources under frameworks/base
    ":framework-core-sources",
    ":framework-drm-sources",
    ":framework-graphics-sources",
    ":framework-keystore-sources",
    ":framework-location-sources",
    ":framework-lowpan-sources",
    ":framework-media-sources",
    ":framework-mca-effect-sources",
    ":framework-mca-filterfw-sources",
    ":framework-mca-filterpacks-sources",
    ":framework-opengl-sources",
    ":framework-rs-sources",
    ":framework-sax-sources",
    ":framework-telecomm-sources",
    ":framework-telephony-sources",
    ":framework-wifi-sources",
    ":PacProcessor-aidl-sources",
    ":ProxyHandler-aidl-sources",

    // AIDL sources from external directories
    ":dumpstate_aidl",
    ":dumpstate_aidl",
    ":gatekeeper_aidl",
    ":gatekeeper_aidl",
    ":gsiservice_aidl",
    ":gsiservice_aidl",
@@ -107,7 +206,10 @@ framework_srcs = [
    ":platform-properties",
    ":platform-properties",
]
]


framework_aidl_local_include_dirs = [
java_defaults {
    name: "framework-aidl-export-defaults",
    aidl: {
        export_include_dirs: [
            "core/java",
            "core/java",
            "drm/java",
            "drm/java",
            "graphics/java",
            "graphics/java",
@@ -124,29 +226,7 @@ framework_aidl_local_include_dirs = [
            "telecomm/java",
            "telecomm/java",
            "telephony/java",
            "telephony/java",
            "wifi/java",
            "wifi/java",
]
        ],

framework_aidl_external_include_dirs = [
    "frameworks/av/camera/aidl",
    "frameworks/av/media/libaudioclient/aidl",
    "frameworks/native/aidl/binder",
    "frameworks/native/aidl/gui",
    "frameworks/native/cmds/dumpstate/binder",
    "frameworks/native/libs/incidentcompanion/binder",
    "system/bt/binder",
    "system/core/gatekeeperd/binder",
    "system/core/storaged/binder",
    "system/gsid/aidl",
    "system/security/keystore/binder",
    "system/update_engine/binder_bindings",
    "system/vold/binder",
]

java_defaults {
    name: "framework-aidl-export-defaults",

    aidl: {
        export_include_dirs: framework_aidl_local_include_dirs,
    },
    },
}
}


@@ -158,8 +238,12 @@ java_defaults {
    srcs: framework_srcs,
    srcs: framework_srcs,


    aidl: {
    aidl: {
        local_include_dirs: framework_aidl_local_include_dirs,
        // TODO(b/70046217) remove this by moving the AIDL files into frameworks/base
        include_dirs: framework_aidl_external_include_dirs,
        // so that they are referenced via framework-core-sources
        include_dirs: [
            "frameworks/native/aidl/binder",
            "frameworks/native/aidl/gui",
        ],
        generate_get_transaction_name: true,
        generate_get_transaction_name: true,
    },
    },


@@ -717,7 +801,6 @@ stubs_defaults {
        "test-runner/src/**/*.java",
        "test-runner/src/**/*.java",
    ],
    ],
    srcs_lib: "framework",
    srcs_lib: "framework",
    srcs_lib_whitelist_dirs: frameworks_base_subdirs,
    srcs_lib_whitelist_pkgs: packages_to_document,
    srcs_lib_whitelist_pkgs: packages_to_document,
    libs: framework_docs_only_libs,
    libs: framework_docs_only_libs,
    local_sourcepaths: frameworks_base_subdirs,
    local_sourcepaths: frameworks_base_subdirs,
@@ -773,7 +856,6 @@ stubs_defaults {
        ":core_public_api_files",
        ":core_public_api_files",
    ],
    ],
    srcs_lib: "framework",
    srcs_lib: "framework",
    srcs_lib_whitelist_dirs: frameworks_base_subdirs,
    srcs_lib_whitelist_pkgs: packages_to_document,
    srcs_lib_whitelist_pkgs: packages_to_document,
    local_sourcepaths: frameworks_base_subdirs,
    local_sourcepaths: frameworks_base_subdirs,
    installable: false,
    installable: false,
@@ -1094,8 +1176,7 @@ droidstubs {
droidstubs {
droidstubs {
    name: "hiddenapi-mappings",
    name: "hiddenapi-mappings",
    defaults: ["metalava-api-stubs-default"],
    defaults: ["metalava-api-stubs-default"],
    srcs: [
    srcs: framework_srcs + [
        ":framework-defaults-java-srcs",
        ":non_openjdk_java_files",
        ":non_openjdk_java_files",
        ":openjdk_java_files",
        ":openjdk_java_files",
        ":opt-telephony-common-srcs",
        ":opt-telephony-common-srcs",
@@ -1215,8 +1296,6 @@ filegroup {
aidl_mapping {
aidl_mapping {
    name: "framework-aidl-mappings",
    name: "framework-aidl-mappings",
    srcs: framework_srcs,
    srcs: framework_srcs,
    local_include_dirs: framework_aidl_local_include_dirs,
    include_dirs: framework_aidl_external_include_dirs,
    output: "framework-aidl-mappings.txt",
    output: "framework-aidl-mappings.txt",
}
}


+0 −1
Original line number Original line Diff line number Diff line
@@ -21,6 +21,5 @@ java_sdk_library {
    srcs_lib: "framework",
    srcs_lib: "framework",
    // TODO(b/70046217): remove core/java and android below. It was added to provide definitions for
    // TODO(b/70046217): remove core/java and android below. It was added to provide definitions for
    // types like android.os.Bundle
    // types like android.os.Bundle
    srcs_lib_whitelist_dirs: ["core/java", "location/java"],
    srcs_lib_whitelist_pkgs: ["android", "com.android.internal.location"],
    srcs_lib_whitelist_pkgs: ["android", "com.android.internal.location"],
}
}
+0 −1
Original line number Original line Diff line number Diff line
@@ -19,6 +19,5 @@ java_sdk_library {
    srcs: ["java/**/*.java"],
    srcs: ["java/**/*.java"],
    api_packages: ["com.android.mediadrm.signer"],
    api_packages: ["com.android.mediadrm.signer"],
    srcs_lib: "framework",
    srcs_lib: "framework",
    srcs_lib_whitelist_dirs: ["media/java"],
    srcs_lib_whitelist_pkgs: ["android.media"],
    srcs_lib_whitelist_pkgs: ["android.media"],
}
}
+6 −0
Original line number Original line Diff line number Diff line
@@ -21,3 +21,9 @@ android_app {
    certificate: "platform",
    certificate: "platform",
    jni_libs: ["libjni_pacprocessor"],
    jni_libs: ["libjni_pacprocessor"],
}
}

filegroup {
    name: "PacProcessor-aidl-sources",
    srcs: ["src/**/*.aidl"],
    path: "src",
}
Loading