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

Commit b360931b 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
Change-Id: I0705ddf76b3c628127f65d75e0a8b06c6c250fe2
parent 549b5bb2
Loading
Loading
Loading
Loading
+164 −69
Original line number Original line Diff line number Diff line
@@ -26,47 +26,164 @@
// READ ME: ########################################################
// READ ME: ########################################################


filegroup {
filegroup {
    name: "framework-defaults-java-srcs",
    name: "framework-core-sources",
    srcs: [
    srcs: [
        // java sources under this directory
        "core/java/**/*.java",
        "core/java/**/*.java",
        "core/java/**/*.aidl",
    ],
    path: "core/java",
}

filegroup {
    name: "framework-drm-sources",
    srcs: [
        "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",
        "wifi/java/**/*.java",
    ],
    ],
    path: "sax/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-telecomm-sources",
framework_srcs = [
    srcs: [
    // aidl under this directory
        "telecomm/java/**/*.java",
    // b/70046217#comment15 These MUST come after all java srcs.
    // TODO(b/70046217) remove the above requirement
    "core/java/**/*.aidl",
    "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",
@@ -88,7 +205,10 @@ framework_srcs = [
    ":framework-statslog-gen",
    ":framework-statslog-gen",
]
]


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",
@@ -106,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,
    },
    },
}
}


@@ -137,13 +235,15 @@ java_defaults {
    defaults: ["framework-aidl-export-defaults"],
    defaults: ["framework-aidl-export-defaults"],
    installable: true,
    installable: true,


    srcs: [
    srcs: framework_srcs,
        ":framework-defaults-java-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,
    },
    },


@@ -793,7 +893,6 @@ stubs_defaults {
        ":jobscheduler-framework-source",
        ":jobscheduler-framework-source",
    ],
    ],
    srcs_lib: "framework-minus-apex",
    srcs_lib: "framework-minus-apex",
    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,
@@ -851,7 +950,6 @@ stubs_defaults {
        ":jobscheduler-framework-source",
        ":jobscheduler-framework-source",
    ],
    ],
    srcs_lib: "framework-minus-apex",
    srcs_lib: "framework-minus-apex",
    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,
@@ -1172,8 +1270,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",
@@ -1313,8 +1410,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
@@ -24,6 +24,5 @@ java_sdk_library {
    srcs_lib: "framework-minus-apex",
    srcs_lib: "framework-minus-apex",
    // 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-minus-apex",
    srcs_lib: "framework-minus-apex",
    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