// 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. // Proto library package { // See: http://go/android-license-faq // A large-scale-change added 'default_applicable_licenses' to import // all of the 'license_kinds' from "packages_modules_GeoTZ_license" // to get the below license kinds: // SPDX-license-identifier-Apache-2.0 // legacy_restricted default_applicable_licenses: ["packages_modules_GeoTZ_license"], } java_library_host { name: "geotz_data_pipeline_protos", proto: { type: "full", include_dirs: ["external/protobuf/src"], }, srcs: ["src/main/proto/**/*.proto"], } // A library containing the code for the pipeline steps defined below. java_library_host { name: "geotz_data_pipeline", srcs: ["src/main/java/**/*.java"], static_libs: [ "geotz_data_pipeline_protos", "geotz_geojson", "geotz_host_common", "geotz_s2storage_tools_protos", "guava", "jcommander", "libprotobuf-java-full", "s2-geometry-library-java", "tzids", "tztools_common", ], } // Step 1 of the OSM time zone geolocation reference data pipeline. // // Converts geojson time zone boundaries (from timezone-boundary-builder) to TzS2Polygon proto // files, one per time zone ID. java_binary_host { name: "geotz_geojsontz_to_tzs2polygons", main_class: "com.android.timezone.location.data_pipeline.steps.GeoJsonTzToTzS2Polygons", static_libs: ["geotz_data_pipeline"], } // Step 2 of the OSM time zone geolocation reference data pipeline. // // Reads TzS2Polygon proto files and writes out TzS2Polygon proto files with canonical time zone // IDs, combining multiple input files into output files where necessary. java_binary_host { name: "geotz_canonicalize_tzs2polygons", main_class: "com.android.timezone.location.data_pipeline.steps.CanonicalizeTzS2Polygons", static_libs: ["geotz_data_pipeline"], } // Step 3 of the OSM time zone geolocation reference data pipeline. // // Converts TzS2Polygon proto files to TsS2CellUnion proto files at a maximum S2 level. java_binary_host { name: "geotz_tzs2polygons_to_tzs2cellunions", main_class: "com.android.timezone.location.data_pipeline.steps.TzS2PolygonsToTzS2CellUnions", static_libs: ["geotz_data_pipeline"], } // Step 4 of the OSM time zone geolocation reference data pipeline. // // Converts TsS2CellUnion proto files to (single time zone) TzS2Ranges proto files. java_binary_host { name: "geotz_tzs2cellunions_to_tzs2ranges", main_class: "com.android.timezone.location.data_pipeline.steps.TzS2CellUnionsToTzS2Ranges", static_libs: ["geotz_data_pipeline"], } // Step 5 of the OSM time zone geolocation reference data pipeline. // // Merges multiple, single time zone TzS2Ranges proto files into one, multiple time zone TzS2Ranges // proto file java_binary_host { name: "geotz_mergetzs2ranges", main_class: "com.android.timezone.location.data_pipeline.steps.MergeTzS2Ranges", static_libs: ["geotz_data_pipeline"], } // Step 6 of the OSM time zone geolocation reference data pipeline. // // Converts the one, multiple time zone TzS2Ranges proto file to the file format required by the // geotz_createtzs2file tool. java_binary_host { name: "geotz_createtzs2fileinput", main_class: "com.android.timezone.location.data_pipeline.steps.CreateTzS2ProtoDataFile", static_libs: ["geotz_data_pipeline"], } // A library containing debug tooling. See java_binary_host definitions below for details. java_library_host { name: "geotz_data_pipeline_debug", srcs: ["src/debug/java/**/*.java"], static_libs: [ "geotz_data_pipeline", ], } // Dev / debug tool: Prints basic stats about TzS2Range files. See the Java class for details. java_binary_host { name: "geotz_data_pipeline_debug_printtzs2rangesstats", main_class: "com.android.timezone.location.data_pipeline.tools.PrintTzS2RangeStats", static_libs: ["geotz_data_pipeline_debug"], } // Dev / debug tool: Prints basic stats about TzS2CellUnion files. See the Java class for details. java_binary_host { name: "geotz_data_pipeline_debug_printtzs2cellunionstats", main_class: "com.android.timezone.location.data_pipeline.tools.PrintTzS2CellUnionStats", static_libs: ["geotz_data_pipeline_debug"], } // Tests for the pipeline steps. java_test_host { name: "geotz_data_pipeline_tests", srcs: ["src/test/java/**/*.java"], java_resource_dirs: ["src/test/java/"], static_libs: [ "geotz_data_pipeline", "junit", ], } // A host library containing geojson-jackson and all its dependencies. java_library_host { name: "geotz_geojson", static_libs: [ "geojson-jackson", "jackson-annotations", "jackson-core", "jackson-databind", ], }