| # Copyright 2024 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/chromeos/ui_mode.gni") |
| import("//third_party/protobuf/proto_library.gni") |
| |
| assert(is_chromeos) |
| |
| device_policy_remover_path = "$target_gen_dir/device_policy_remover.cc" |
| |
| action("device_policy_remover_generate") { |
| script = "generate_device_policy_remover.py" |
| descriptor_pool_path = "//third_party/protobuf/python" |
| |
| # This is provided by //components/policy/proto listed in public_deps. |
| # The containing directory is in a separate variable because that's what |
| # the script expects as an argument. |
| chrome_device_policy_pb2_dir = "$root_out_dir/pyproto/components/policy/proto" |
| chrome_device_policy_pb2_path = |
| "$chrome_device_policy_pb2_dir/chrome_device_policy_pb2.py" |
| |
| sources = [ |
| # It's important to explicitly list which files provided by this action's |
| # dependencies are actually used by this action, because the action is not |
| # automatically re-run on changes in one of the public_deps. See |
| # https://crbug.com/933359 for more information. |
| chrome_device_policy_pb2_path, |
| ] |
| |
| outputs = [ device_policy_remover_path ] |
| |
| args = [ |
| # generated file name |
| rebase_path(device_policy_remover_path, root_build_dir), |
| |
| # directories for PATH variable to compile generated file |
| rebase_path(descriptor_pool_path, root_build_dir), |
| rebase_path(proto_python_root, root_build_dir), |
| rebase_path(chrome_device_policy_pb2_dir, root_build_dir), |
| ] |
| |
| deps = [ |
| "//components/policy/proto:proto_internal_gen", |
| "//third_party/protobuf:py_proto", |
| ] |
| } |
| |
| static_library("device_policy_remover_generated") { |
| sources = [ device_policy_remover_path ] |
| deps = [ |
| ":device_policy_remover_generate", |
| "//third_party/protobuf:protobuf_lite", |
| ] |
| } |