// Copyright (C) 2019 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: ["system_timezone_output_data_iana_license"],
}

// Added automatically by a large-scale-change that took the approach of
// 'apply every license found to every target'. While this makes sure we respect
// every license restriction, it may not be entirely correct.
//
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
//
// Please consider splitting the single license below into multiple licenses,
// taking care not to lose any license_kind information, and overriding the
// default license using the 'licenses: [...]' property on targets as needed.
//
// For unused files, consider creating a 'filegroup' with "//visibility:private"
// to attach the license to, and including a comment whether the files may be
// used in the current project.
// http://go/android-license-faq
license {
    name: "system_timezone_output_data_iana_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-BSD",
        "legacy_unencumbered",
    ],
    license_text: [
        "NOTICE",
    ],
}

// Build rules related to the tzdata file.
// tzdata is a binary file used by bionic functions like mktime / localtime and
// Android's implementation of java.util.TimeZone, ZoneInfoDb. Both these users
// look for the file in multiple locations. Also see the com.android.tzdata
// APEX definition.

// The on-device version of the tzdata file in /system/usr/share/zoneinfo/
// This is the ultimate fallback for bionic for situations where the
// tzdata APEX is not mounted. For example, bionic in initd. It is also
// referenced by old copies of bionic that may be statically linked
// via the NDK. It is no longer used by ZoneInfoDb.
prebuilt_usr_share {
    name: "tzdata",
    src: "tzdata",
    sub_dir: "zoneinfo",
}

// The host version of the tzdata file equivalent to the definition above.
// Used by bionic on host; bionic is being increasingly used on host for tooling.
prebuilt_usr_share_host {
    name: "tzdata_host",
    src: "tzdata",
    filename_from_src: true,
    sub_dir: "zoneinfo",
    target: {
        darwin: {
            enabled: false,
        },
    },
}

// Module definition producing a tzdata prebuilt file in
// /system/etc/tzdata_module/etc/tz for standalone ART testing purposes.
// This is a temporary change needed until the ART Buildbot and Golem both
// fully support the Runtime APEX (see b/121117762). This module should never
// be shipped by default (i.e. should never be part of `PRODUCT_PACKAGE`.)

// TODO(b/121117762, b/129332183): Remove this module definition when
// the ART Buildbot and Golem have full support for the Time Zone Data APEX.
prebuilt_etc {
    name: "tzdata-art-test-tzdata",
    src: "tzdata",
    filename_from_src: true,
    sub_dir: "tzdata_module/etc/tz",
}
