// 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.

// This static library defines parameterized tests that enforce additional restrictions when
// using Protobuf as schema for JSON files. The reason is that the JSON parser that
// libprotobuf-cpp-full provides is relatively relaxed.
cc_library_static {
    name: "libjsonpbverify",
    host_supported: true,
    srcs: [
        "verify.cpp",
    ],
    shared_libs: [
        "libbase",
        "libprotobuf-cpp-full",
        "libjsoncpp",
    ],
    static_libs: [
        "libjsonpbparse",
    ],
    export_static_lib_headers: [
        "libjsonpbparse",
    ],
    export_include_dirs: [
        "include",
    ],
    cflags: [
        "-Wall",
        "-Werror",
        "-Wno-unused-parameter",
    ],
}

cc_test_host {
    name: "libjsonpbverify_test",
    srcs: [
        "test.cpp",
        "test.proto",
    ],
    static_libs: [
        "libbase",
        "liblog",
        "libgmock",
        "libjsoncpp",
        "libjsonpbparse",
        "libjsonpbverify",
    ],
    shared_libs: [
        "libprotobuf-cpp-full",
    ],
    cflags: [
        "-Wall",
        "-Werror",
        "-Wno-unused-parameter",
    ],
    test_suites: [
        "general-tests",
    ],
}