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

Commit 0d6eae6f authored by Anton Hansson's avatar Anton Hansson
Browse files

Add compat checking of the merged APIs

Compare the current merged txt to the last one checked into
prebuilts/sdk. For the system and module-lib APIs, also feed
the current public API in as the "base" API.

Bug: 174847574
Test: m frameworks-base-api-{,system-,module-lib-}current-compat
Change-Id: I7d4274ec1561be131c4f0298b49c05b24f03cb06
parent a36c8d2b
Loading
Loading
Loading
Loading
+55 −0
Original line number Diff line number Diff line
@@ -59,6 +59,22 @@ genrule {
    visibility: ["//visibility:public"],
}

genrule {
    name: "frameworks-base-api-current-compat",
    srcs: [
        ":android.api.public.latest",
        ":android-incompatibilities.api.public.latest",
        ":frameworks-base-api-current.txt",
    ],
    out: ["stdout.txt"],
    tools: ["metalava"],
    cmd: "$(location metalava) --no-banner --format=v2 " +
        "--check-compatibility:api:released $(location :android.api.public.latest) " +
        "--baseline:compatibility:released $(location :android-incompatibilities.api.public.latest) " +
        "$(location :frameworks-base-api-current.txt) " +
        "> $(genDir)/stdout.txt",
}

genrule {
    name: "frameworks-base-api-current.srcjar",
    srcs: [
@@ -145,6 +161,24 @@ genrule {
    visibility: ["//visibility:public"],
}

genrule {
    name: "frameworks-base-api-system-current-compat",
    srcs: [
        ":android.api.system.latest",
        ":android-incompatibilities.api.system.latest",
        ":frameworks-base-api-current.txt",
        ":frameworks-base-api-system-current.txt",
    ],
    out: ["stdout.txt"],
    tools: ["metalava"],
    cmd: "$(location metalava) --no-banner --format=v2 " +
        "--check-compatibility:api:released $(location :android.api.system.latest) " +
        "--check-compatibility:base $(location :frameworks-base-api-current.txt) " +
        "--baseline:compatibility:released $(location :android-incompatibilities.api.system.latest) " +
        "$(location :frameworks-base-api-system-current.txt) " +
        "> $(genDir)/stdout.txt",
}

genrule {
    name: "frameworks-base-api-system-removed.txt",
    srcs: [
@@ -206,6 +240,27 @@ genrule {
    ],
}

genrule {
    name: "frameworks-base-api-module-lib-current-compat",
    srcs: [
        ":android.api.module-lib.latest",
        ":android-incompatibilities.api.module-lib.latest",
        ":frameworks-base-api-current.txt",
        ":frameworks-base-api-module-lib-current.txt",
    ],
    out: ["stdout.txt"],
    tools: ["metalava"],
    cmd: "$(location metalava) --no-banner --format=v2 " +
        "--check-compatibility:api:released $(location :android.api.module-lib.latest) " +
        // Note: having "public" be the base of module-lib is not perfect -- it should
        // ideally be a merged public+system), but this will  help when migrating from
        // MODULE_LIBS -> public.
        "--check-compatibility:base $(location :frameworks-base-api-current.txt) " +
        "--baseline:compatibility:released $(location :android-incompatibilities.api.module-lib.latest) " +
        "$(location :frameworks-base-api-module-lib-current.txt) " +
        "> $(genDir)/stdout.txt",
}

genrule {
    name: "frameworks-base-api-module-lib-removed.txt",
    srcs: [