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

Commit b44a8c74 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Extract api_versions_defaults from api_versions_* modules" into main am: e343d44c

parents 6731d73d e343d44c
Loading
Loading
Loading
Loading
+52 −35
Original line number Original line Diff line number Diff line
@@ -1135,31 +1135,47 @@ java_library {
    ],
    ],
}
}


droidstubs {
// Defaults for `droidstubs` modules that generate `api-versions.xml` files for
    name: "api_versions_public",
// the various API surfaces.
    srcs: [":android_stubs_current_with_test_libs{.jar}"],
stubs_defaults {
    name: "api_versions_base_defaults",
    defaults_visibility: ["//visibility:private"],
    generate_stubs: false,
    generate_stubs: false,
    api_levels_annotations_enabled: true,
    api_levels_annotations_enabled: true,
    api_levels_annotations_dirs: [
    api_levels_annotations_dirs: [
        "sdk-dir",
        "sdk-dir",
        "api-versions-jars-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",
    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"],
    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 {
droidstubs {
    name: "api_versions_system",
    name: "api_versions_system",
    defaults: ["api_versions_complete_defaults"],
    srcs: [":android_system_stubs_current_with_test_libs{.jar}"],
    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",
    api_levels_sdk_type: "system",
    extensions_info_file: ":sdk-extensions-info",
    dists: [
    dists: [
        // Make the api-versions.xml file for the system API available in the
        // Make the api-versions.xml file for the system API available in the
        // sdk build target.
        // sdk build target.
@@ -1171,42 +1187,43 @@ droidstubs {
    ],
    ],
}
}


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


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