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

Commit e343d44c authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Extract api_versions_defaults from api_versions_* modules" into main

parents 29bf0cb6 0834ea7a
Loading
Loading
Loading
Loading
+52 −35
Original line number Diff line number Diff line
@@ -1135,31 +1135,47 @@ java_library {
    ],
}

droidstubs {
    name: "api_versions_public",
    srcs: [":android_stubs_current_with_test_libs{.jar}"],
// Defaults for `droidstubs` modules that generate `api-versions.xml` files for
// the various API surfaces.
stubs_defaults {
    name: "api_versions_base_defaults",
    defaults_visibility: ["//visibility:private"],
    generate_stubs: false,
    api_levels_annotations_enabled: true,
    api_levels_annotations_dirs: [
        "sdk-dir",
        "api-versions-jars-dir",
    ],
    api_levels_sdk_type: "public",
}

// Defaults for `droidstubs` modules that generate complete `api-versions.xml`
// files, i.e. include SDK extensions.
stubs_defaults {
    name: "api_versions_complete_defaults",
    defaults_visibility: ["//visibility:private"],
    defaults: ["api_versions_base_defaults"],
    extensions_info_file: ":sdk-extensions-info",
}

// Produces an `api-versions.xml` file that includes up-to-date information
// about all the public APIs, both updatable and non-updatable and historic
// information about all previous dessert and SDK extension releases.
droidstubs {
    name: "api_versions_public",
    defaults: ["api_versions_complete_defaults"],
    srcs: [":android_stubs_current_with_test_libs{.jar}"],
    api_levels_sdk_type: "public",
    visibility: ["//frameworks/base"],
}

// Produces an `api-versions.xml` file that includes up-to-date information
// about all the system APIs, both updatable and non-updatable and historic
// information about all previous dessert and SDK extension releases.
droidstubs {
    name: "api_versions_system",
    defaults: ["api_versions_complete_defaults"],
    srcs: [":android_system_stubs_current_with_test_libs{.jar}"],
    generate_stubs: false,
    api_levels_annotations_enabled: true,
    api_levels_annotations_dirs: [
        "sdk-dir",
        "api-versions-jars-dir",
    ],
    api_levels_sdk_type: "system",
    extensions_info_file: ":sdk-extensions-info",
    dists: [
        // Make the api-versions.xml file for the system API available in the
        // sdk build target.
@@ -1171,42 +1187,43 @@ droidstubs {
    ],
}

// This module can be built with:
// m out/soong/.intermediates/frameworks/base/api/api_versions_module_lib/android_common/metalava/api-versions.xml
droidstubs {
    name: "api_versions_module_lib",
    srcs: [":android_module_stubs_current_with_test_libs{.jar}"],
    generate_stubs: false,
    api_levels_annotations_enabled: true,
// Defaults for `droidstubs` modules that generate `api-versions.xml` files that
// only include non-updatable code, i.e. for platform API only, not SDK
// extensions.
stubs_defaults {
    name: "api_versions_non_updatable_defaults",
    defaults_visibility: ["//visibility:private"],
    defaults: ["api_versions_base_defaults"],
    // this only has the non-updatable portions of the module lib sdk,
    // which can reference classes from updatable apexes, so remove references to them
    // from this api_versions file.
    flags: ["--remove-missing-class-references-in-api-levels"],
    api_levels_annotations_dirs: [
        "sdk-dir",
        "api-versions-jars-dir",
    ],
    api_levels_sdk_type: "module-lib",
    // extensions_info_file is purposefully omitted, because this module should just be
    // the non-updatable portions of the sdk, and extension sdks are updatable.
}

// Produces an `api-versions.xml` file that includes up-to-date information
// about only the non-updatable module-lib APIs and historic information about
// all previous dessert and SDK extension releases. That historic information
// may include information about APIs that were previously not-updatable which
// have since become updatable.
droidstubs {
    name: "api_versions_module_lib",
    defaults: ["api_versions_non_updatable_defaults"],
    srcs: [":android_module_stubs_current_with_test_libs{.jar}"],
    api_levels_sdk_type: "module-lib",
}

// Produces an `api-versions.xml` file that includes up-to-date information
// about only the non-updatable system-server APIs and historic information
// about all previous dessert and SDK extension releases. That historic
// information may include information about APIs that were previously
// not-updatable which have since become updatable.
droidstubs {
    name: "api_versions_system_server",
    defaults: ["api_versions_non_updatable_defaults"],
    srcs: [":android_system_server_stubs_current_with_test_libs{.jar}"],
    generate_stubs: false,
    api_levels_annotations_enabled: true,
    // this only has the non-updatable portions of the system server sdk,
    // which can reference classes from updatable apexes, so remove references to them
    // from this api_versions file.
    flags: ["--remove-missing-class-references-in-api-levels"],
    api_levels_annotations_dirs: [
        "sdk-dir",
        "api-versions-jars-dir",
    ],
    api_levels_sdk_type: "system-server",
    // extensions_info_file is purposefully omitted, because this module should just be
    // the non-updatable portions of the sdk, and extension sdks are updatable.
}

/////////////////////////////////////////////////////////////////////