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

Commit 4c4da4fe authored by Makoto Onuki's avatar Makoto Onuki
Browse files

Remove direct dependency from FrameworksCoreTestsRavenwood

... to FrameworksCoreTests, so that the entire FrameworksCoreTests
doesn't have to be rebuilt when running
`atest FrameworksCoreTestsRavenwood` after touching the source files.

Bug: 292141694
Test: atest FrameworksCoreTestsRavenwood
Test: m manifest_check && out/host/linux-x86/bin/manifest_check --enforce-uses-libraries out/soong/.intermediates/frameworks/base/core/tests/coretests/FrameworksCoreTests-resonly/android_common/manifest_fixer/AndroidManifest.xml --enforce-uses-libraries-status out/soong/.intermediates/frameworks/base/core/tests/coretests/FrameworksCoreTests-resonly/android_common/enforce_uses_libraries.status --aapt out/host/linux-x86/bin/aapt2 -o out/soong/.intermediates/frameworks/base/core/tests/coretests/FrameworksCoreTests-resonly/android_common/manifest_check/AndroidManifest.xml
Change-Id: I98a85150a92818967896ea4a28b8f9b35afd3828
parent af9ab323
Loading
Loading
Loading
Loading
+34 −4
Original line number Diff line number Diff line
@@ -28,10 +28,19 @@ filegroup {
    visibility: ["//visibility:private"],
}

java_defaults {
    name: "FrameworksCoreTests-resources",
    aaptflags: [
        "-0 .dat",
        "-0 .gld",
        "-c fa",
    ],
    resource_dirs: ["res"],
}

android_test {
    name: "FrameworksCoreTests",
    // FrameworksCoreTestsRavenwood references the .aapt.srcjar
    use_resource_processor: false,
    defaults: ["FrameworksCoreTests-resources"],

    srcs: [
        "src/**/*.java",
@@ -117,7 +126,6 @@ android_test {

    certificate: "platform",

    resource_dirs: ["res"],
    resource_zips: [":FrameworksCoreTests_apks_as_resources"],
    java_resources: [":FrameworksCoreTests_unit_test_cert_der"],

@@ -128,6 +136,24 @@ android_test {
    ],
}

// FrameworksCoreTestsRavenwood pulls in the R.java class from this one.
// Note, "FrameworksCoreTests" and "FrameworksCoreTests-resonly" _might_ not have indentical
// R.java (not sure if there's a guarantee), but that doesn't matter as long as
// FrameworksCoreTestsRavenwood consistently uses the R definition in this module.
android_app {
    name: "FrameworksCoreTests-resonly",
    defaults: ["FrameworksCoreTests-resources"],

    // FrameworksCoreTestsRavenwood references the .aapt.srcjar
    use_resource_processor: false,
    libs: [
        "framework-res",
        "android.test.runner",
        "org.apache.http.legacy",
    ],
    sdk_version: "core_platform",
}

// Rules to copy all the test apks to the intermediate raw resource directory
java_genrule {
    name: "FrameworksCoreTests_apks_as_resources",
@@ -225,7 +251,11 @@ android_ravenwood_test {
        "src/com/android/internal/util/**/*.java",
        "src/com/android/internal/power/EnergyConsumerStatsTest.java",

        ":FrameworksCoreTests{.aapt.srcjar}",
        // Pull in R.java from FrameworksCoreTests-resonly, not from FrameworksCoreTests,
        // to avoid having a dependency to FrameworksCoreTests.
        // This way, when updating source files and running this test, we don't need to
        // rebuild the entire FrameworksCoreTests, which would be slow.
        ":FrameworksCoreTests-resonly{.aapt.srcjar}",
        ":FrameworksCoreTests-aidl",
        ":FrameworksCoreTests-helpers",
        ":FrameworksCoreTestDoubles-sources",