//
// Copyright (C) 2008 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

package {
    default_applicable_licenses: ["Android-Apache-2.0"],
}

// Build the android.test.runner library
// =====================================
java_sdk_library {
    name: "android.test.runner",

    srcs: [
        ":android-test-runner-sources",
        ":frameworks-base-test-junit-runner",
    ],

    errorprone: {
        javacflags: ["-Xep:DepAnn:ERROR"],
    },

    impl_only_libs: [
        "android.test.base.impl",
        "android.test.mock.impl",
    ],
    public: {
        libs: [
            "android.test.base.stubs",
            "android.test.mock.stubs",
        ],
    },
    system: {
        libs: [
            "android.test.base.stubs.system",
            "android.test.mock.stubs.system",
        ],
    },
    test: {
        libs: [
            "android.test.base.stubs.test",
            "android.test.mock.stubs.test",
        ],
    },
    api_packages: [
        "android.test",
        "android.test.suitebuilder",
        "junit.runner",
        "junit.textui",
    ],

    compile_dex: true,
    default_to_stubs: true,
    dist_group: "android",
}

// Build the android.test.runner-minus-junit library
// =================================================
// This is only intended for inclusion in the android.test.legacy static
// library and must not be used elsewhere.
java_library {
    name: "android.test.runner-minus-junit",

    srcs: ["src/android/**/*.java"],

    sdk_version: "current",
    libs: [
        "android.test.base_static",
        "android.test.mock.stubs",
        "junit",
    ],
}

// Make the current.txt available for use by the cts/tests/signature and /vendor tests.
// ========================================================================
filegroup {
    name: "android-test-runner-current.txt",
    visibility: [
        "//cts/tests/signature/api",
        "//vendor:__subpackages__",
    ],
    srcs: [
        "api/current.txt",
    ],
}

filegroup {
    name: "android-test-runner-sources",
    srcs: ["src/**/*.java"],
    path: "src",
}
