# Copyright 2026 Google LLC
#
# 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
#
#    https://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.
#

load("@rules_cc//cc:cc_library.bzl", "cc_library")
load("@rules_cc//cc:cc_test.bzl", "cc_test")

package(default_visibility = ["//visibility:public"])

cc_library(
    name = "constants",
    hdrs = ["constants.h"],
    deps = [
        "@abseil-cpp//absl/strings:string_view",
    ],
)

cc_library(
    name = "reader",
    srcs = ["reader.cc"],
    hdrs = ["reader.h"],
    deps = [
        ":constants",
        "//formats:byte_range",
        "@abseil-cpp//absl/base:core_headers",
        "@abseil-cpp//absl/base:nullability",
        "@abseil-cpp//absl/memory",
        "@abseil-cpp//absl/status",
        "@abseil-cpp//absl/status:status_macros",
        "@abseil-cpp//absl/status:statusor",
        "@abseil-cpp//absl/strings",
        "@abseil-cpp//absl/types:span",
        "@riegeli//riegeli/base:types",
        "@riegeli//riegeli/bytes:reader",
        "@riegeli//riegeli/endian:endian_reading",
    ],
)

cc_test(
    name = "reader_test",
    srcs = ["reader_test.cc"],
    data = [
        "//formats/zip/testing:assets",
    ],
    deps = [
        ":reader",
        "//formats:byte_range",
        "@abseil-cpp//absl/status",
        "@abseil-cpp//absl/status:status_matchers",
        "@abseil-cpp//absl/strings",
        "@googletest//:gtest_main",
        "@riegeli//riegeli/base:types",
        "@riegeli//riegeli/bytes:cfile_reader",
        "@riegeli//riegeli/bytes:reader",
        "@riegeli//riegeli/bytes:string_reader",
    ],
)

cc_library(
    name = "extractor",
    srcs = ["extractor.cc"],
    hdrs = ["extractor.h"],
    deps = [
        ":constants",
        ":reader",
        "//constants:labels",
        "//formats:asset_box",
        "//formats:byte_range",
        "//formats:extractor",
        "//jumbf:utils",
        "@abseil-cpp//absl/status",
        "@abseil-cpp//absl/status:status_macros",
        "@abseil-cpp//absl/status:statusor",
        "@abseil-cpp//absl/strings:string_view",
        "@riegeli//riegeli/base:types",
        "@riegeli//riegeli/bytes:reader",
    ],
)

cc_test(
    name = "extractor_test",
    srcs = ["extractor_test.cc"],
    data = [
        "//formats/zip/testing:assets",
    ],
    deps = [
        ":constants",
        ":extractor",
        "//formats:byte_range",
        "//testing:jumbf_utils",
        "//testing:test_file_utils",
        "@abseil-cpp//absl/log:check",
        "@abseil-cpp//absl/status",
        "@abseil-cpp//absl/status:status_matchers",
        "@abseil-cpp//absl/status:statusor",
        "@abseil-cpp//absl/strings",
        "@abseil-cpp//absl/types:span",
        "@googletest//:gtest_main",
        "@riegeli//riegeli/bytes:reader",
        "@riegeli//riegeli/bytes:string_reader",
        "@riegeli//riegeli/bytes:string_writer",
        "@riegeli//riegeli/endian:endian_writing",
    ],
)

cc_library(
    name = "assessor",
    srcs = ["assessor.cc"],
    hdrs = ["assessor.h"],
    deps = [
        ":constants",
        "//formats:assessor",
        "@abseil-cpp//absl/status",
        "@abseil-cpp//absl/status:statusor",
        "@riegeli//riegeli/bytes:reader",
    ],
)

cc_test(
    name = "assessor_test",
    srcs = ["assessor_test.cc"],
    deps = [
        ":assessor",
        "@abseil-cpp//absl/status",
        "@abseil-cpp//absl/status:status_matchers",
        "@googletest//:gtest_main",
        "@riegeli//riegeli/bytes:string_reader",
    ],
)

cc_library(
    name = "format",
    srcs = ["format.cc"],
    hdrs = ["format.h"],
    deps = [
        ":assessor",
        ":extractor",
        "//formats:format",
        "@abseil-cpp//absl/status:statusor",
    ],
)

cc_library(
    name = "crc",
    srcs = ["crc.cc"],
    hdrs = ["crc.h"],
    deps = [
        "@abseil-cpp//absl/strings:string_view",
    ],
)

cc_test(
    name = "crc_test",
    srcs = ["crc_test.cc"],
    deps = [
        ":crc",
        "@abseil-cpp//absl/strings:string_view",
        "@googletest//:gtest_main",
    ],
)

cc_library(
    name = "hasher_data",
    srcs = ["hasher_data.cc"],
    hdrs = ["hasher_data.h"],
    deps = [
        ":constants",
        ":reader",
        "//bindings:input_hasher",
        "//crypto:algorithms",
        "//proto:collection_data_hash_assertion_cc_proto",
        "@abseil-cpp//absl/base:nullability",
        "@abseil-cpp//absl/status",
        "@abseil-cpp//absl/status:status_macros",
        "@abseil-cpp//absl/status:statusor",
        "@abseil-cpp//absl/strings",
        "@abseil-cpp//absl/types:span",
        "@riegeli//riegeli/bytes:reader",
    ],
)

cc_test(
    name = "hasher_data_test",
    srcs = ["hasher_data_test.cc"],
    data = [
        "//formats/zip/testing:assets",
    ],
    deps = [
        ":hasher_data",
        ":reader",
        "//bindings:collection_data_hash_hard_binding_validator",
        "//constants:status_codes",
        "//crypto:algorithms",
        "//proto:collection_data_hash_assertion_cc_proto",
        "//testing:proto_test_utils",
        "//testing:test_file_utils",
        "//testing:test_validation_tracker",
        "//utils:status_tracker",
        "//validator:tracker",
        "@abseil-cpp//absl/status",
        "@abseil-cpp//absl/status:status_matchers",
        "@abseil-cpp//absl/status:statusor",
        "@abseil-cpp//absl/strings:string_view",
        "@abseil-cpp//absl/types:span",
        "@googletest//:gtest_main",
        "@riegeli//riegeli/bytes:reader",
    ],
)

cc_library(
    name = "zlib_util",
    srcs = ["zlib_util.cc"],
    hdrs = ["zlib_util.h"],
    deps = [
        "@abseil-cpp//absl/status",
        "@abseil-cpp//absl/status:statusor",
        "@abseil-cpp//absl/strings:string_view",
        "@riegeli//riegeli/base:initializer",
        "@riegeli//riegeli/bytes:string_reader",
        "@riegeli//riegeli/bytes:string_writer",
        "@riegeli//riegeli/zlib:zlib_reader",
        "@riegeli//riegeli/zlib:zlib_writer",
    ],
)

cc_test(
    name = "zlib_util_test",
    srcs = ["zlib_util_test.cc"],
    deps = [
        ":zlib_util",
        "@abseil-cpp//absl/status",
        "@abseil-cpp//absl/status:status_matchers",
        "@googletest//:gtest_main",
    ],
)

cc_library(
    name = "content_type_stream_util",
    srcs = ["content_type_stream_util.cc"],
    hdrs = ["content_type_stream_util.h"],
    deps = [
        ":constants",
        ":crc",
        ":reader",
        ":zlib_util",
        "@abseil-cpp//absl/base:nullability",
        "@abseil-cpp//absl/status",
        "@abseil-cpp//absl/status:status_macros",
        "@abseil-cpp//absl/status:statusor",
        "@abseil-cpp//absl/strings",
        "@abseil-cpp//absl/strings:string_view",
        "@riegeli//riegeli/base:types",
        "@riegeli//riegeli/bytes:reader",
        "@riegeli//riegeli/bytes:writer",
        "@riegeli//riegeli/endian:endian_reading",
        "@riegeli//riegeli/endian:endian_writing",
    ],
)

cc_test(
    name = "content_type_stream_util_test",
    srcs = ["content_type_stream_util_test.cc"],
    deps = [
        ":constants",
        ":content_type_stream_util",
        ":reader",
        "@abseil-cpp//absl/status",
        "@abseil-cpp//absl/status:status_matchers",
        "@abseil-cpp//absl/strings:string_view",
        "@googletest//:gtest_main",
        "@riegeli//riegeli/bytes:string_reader",
        "@riegeli//riegeli/bytes:string_writer",
    ],
)

cc_library(
    name = "embedder",
    srcs = ["embedder.cc"],
    hdrs = ["embedder.h"],
    deps = [
        ":constants",
        ":content_type_stream_util",
        ":crc",
        ":reader",
        "@abseil-cpp//absl/base:nullability",
        "@abseil-cpp//absl/status",
        "@abseil-cpp//absl/status:status_macros",
        "@abseil-cpp//absl/status:statusor",
        "@abseil-cpp//absl/strings:string_view",
        "@abseil-cpp//absl/types:span",
        "@riegeli//riegeli/base:byte_fill",
        "@riegeli//riegeli/base:types",
        "@riegeli//riegeli/bytes:reader",
        "@riegeli//riegeli/bytes:writer",
        "@riegeli//riegeli/endian:endian_writing",
    ],
)

cc_test(
    name = "embedder_test",
    srcs = ["embedder_test.cc"],
    data = [
        "//formats/zip/testing:assets",
    ],
    deps = [
        ":constants",
        ":embedder",
        ":extractor",
        ":reader",
        ":zlib_util",
        "//formats:byte_range",
        "//testing:test_file_utils",
        "@abseil-cpp//absl/status",
        "@abseil-cpp//absl/status:status_macros",
        "@abseil-cpp//absl/status:status_matchers",
        "@abseil-cpp//absl/status:statusor",
        "@abseil-cpp//absl/strings:string_view",
        "@googletest//:gtest_main",
        "@riegeli//riegeli/bytes:reader",
        "@riegeli//riegeli/bytes:string_reader",
        "@riegeli//riegeli/bytes:string_writer",
    ],
)

cc_library(
    name = "writer",
    srcs = ["writer.cc"],
    hdrs = ["writer.h"],
    deps = [
        ":embedder",
        ":hasher_data",
        ":reader",
        "//crypto:algorithms",
        "//generator",
        "//proto:generator_cc_proto",
        "@abseil-cpp//absl/base:core_headers",
        "@abseil-cpp//absl/base:nullability",
        "@abseil-cpp//absl/log:die_if_null",
        "@abseil-cpp//absl/status",
        "@abseil-cpp//absl/status:status_macros",
        "@abseil-cpp//absl/strings",
        "@abseil-cpp//absl/strings:string_view",
        "@riegeli//riegeli/bytes:reader",
        "@riegeli//riegeli/bytes:writer",
    ],
)

cc_test(
    name = "writer_test",
    srcs = ["writer_test.cc"],
    data = [
        "//formats/zip/testing:assets",
    ],
    deps = [
        ":extractor",
        ":writer",
        "//formats:byte_range",
        "//generator",
        "//proto:generator_cc_proto",
        "//proto:manifest_cc_proto",
        "//proto:validation_status_cc_proto",
        "//testing:nonprod_generator",
        "//testing:nonprod_validator",
        "//testing:test_file_utils",
        "//validator:asset_validator",
        "//validator:result",
        "@abseil-cpp//absl/status",
        "@abseil-cpp//absl/status:status_matchers",
        "@abseil-cpp//absl/status:statusor",
        "@abseil-cpp//absl/strings",
        "@googletest//:gtest_main",
        "@riegeli//riegeli/bytes:cfile_reader",
        "@riegeli//riegeli/bytes:cfile_writer",
        "@riegeli//riegeli/bytes:string_reader",
        "@riegeli//riegeli/bytes:string_writer",
    ],
)
