//
// Copyright (C) 2020 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.
//

// The Java S2 geometry lib.
package {
    default_applicable_licenses: ["external_s2-geometry-library-java_license"],
}

// Added automatically by a large-scale-change
// See: http://go/android-license-faq
license {
    name: "external_s2-geometry-library-java_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
    ],
    license_text: [
        "LICENSE",
    ],
}

java_library {
    name: "s2-geometry-library-java",
    host_supported: true,
    sdk_version: "30",
    srcs: ["src/**/*.java"],
    static_libs: [
        "guava",
    ],
    apex_available: [
        "com.android.geotz",
    ],
}

// A bundle of the S2 geometry lib and its tests.
//
// atest --host s2-geometry-library-java-tests
java_test {
    name: "s2-geometry-library-java-tests",
    host_supported: true,
    sdk_version: "current",
    srcs: ["tests/**/*.java"],
    static_libs: [
        "s2-geometry-library-java",
    ],
    libs: [
        "junit",
    ],
    test_suites: ["general-tests"],
}

// Device tests: atest S2GeometryLibraryJavaTests
android_test {
    name: "S2GeometryLibraryJavaTests",
    sdk_version: "current",
    manifest: "AndroidManifest.xml",
    static_libs: [
        "s2-geometry-library-java-tests",
        "androidx.test.rules",
        "junit",
    ],
}
