blob: b8d1918342c223d6cb16635ea4e875df82f071bf [file] [log] [blame]
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/python.gni")
import("//third_party/protobuf/proto_library.gni")
group("proto") {
public_deps = [ ":dom_distiller_proto" ]
deps = [ ":json_values_converter_tests" ]
}
protoc_plugin_files = [
"protoc_plugins/json_values_converter.bat",
"protoc_plugins/json_values_converter.py",
"protoc_plugins/util/__init__.py",
"protoc_plugins/util/plugin_protos.py",
"protoc_plugins/util/types.py",
"protoc_plugins/util/writer.py",
]
if (host_os == "win") {
json_converter_plugin_script = "protoc_plugins/json_values_converter.bat"
} else {
json_converter_plugin_script = "protoc_plugins/json_values_converter.py"
}
proto_library("dom_distiller_proto") {
visibility = [ ":*" ]
sources = [ "dist/proto/dom_distiller.proto" ]
deps = [ "//base" ]
proto_out_dir = "third_party/dom_distiller_js"
generator_plugin_script = json_converter_plugin_script
generator_plugin_script_deps = protoc_plugin_files
generator_plugin_suffixes = [ "_json_converter.h" ]
generator_plugin_options = "output_dir=:"
}
# The purpose of json_values_converter_test_proto is to test the
# protoc_plugins by generating the json_converter.h file.
proto_library("json_values_converter_test_proto") {
visibility = [ ":*" ]
sources = [ "test_sample.proto" ]
deps = [ "//base" ]
proto_out_dir = "third_party/dom_distiller_js"
generator_plugin_script = json_converter_plugin_script
generator_plugin_script_deps = protoc_plugin_files
generator_plugin_suffixes = [ "_json_converter.h" ]
generator_plugin_options = "output_dir=:"
}
# TODO(crbug.com/1112471): Get this to run cleanly under Python 3.
python2_action("json_values_converter_tests") {
_stamp = "$target_gen_dir/json_values_converter_tests.stamp"
deps = [ ":json_values_converter_test_proto" ]
inputs = [ "test_sample_json_converter.h.golden" ]
outputs = [ _stamp ]
script = "protoc_plugins/json_values_converter_tests.py"
args = [
"--stamp",
rebase_path(_stamp, root_build_dir),
rebase_path("$target_gen_dir/test_sample_json_converter.h", root_build_dir),
rebase_path("test_sample_json_converter.h.golden", root_build_dir),
]
}