chromium/components/policy/proto/fuzzer/BUILD.gn

# Copyright 2021 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Build rules for fuzzable (full-runtime) versions of the policy protobufs.

import("//third_party/libprotobuf-mutator/fuzzable_proto_library.gni")

assert(use_fuzzing_engine_with_lpm)

group("fuzzer") {
  deps = [
    ":chrome_device_policy_full_runtime_proto",
    ":cloud_policy_full_runtime_proto",
    ":policy_common_definitions_full_runtime_proto",
  ]
}

fuzzable_proto_library("policy_common_definitions_full_runtime_proto") {
  proto_out_dir = "components/policy/proto/fuzzer"

  sources = [ "../policy_common_definitions.proto" ]
}

fuzzable_proto_library("cloud_policy_full_runtime_proto") {
  proto_out_dir = "components/policy/proto/fuzzer"

  sources = [ "$root_gen_dir/components/policy/proto/cloud_policy.proto" ]

  import_dirs = [ "//components/policy/proto" ]

  proto_deps = [ "//components/policy:policy_code_generate" ]
  link_deps = [ ":policy_common_definitions_full_runtime_proto" ]
}

fuzzable_proto_library("chrome_device_policy_full_runtime_proto") {
  proto_out_dir = "components/policy/proto/fuzzer"

  sources = [ "../chrome_device_policy.proto" ]

  link_deps = [ ":policy_common_definitions_full_runtime_proto" ]
}