# Copyright 2018 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/compiled_action.gni")
import("//build/config/features.gni")
static_library("tools_lib") {
sources = [
"filter_tool.cc",
"filter_tool.h",
"indexing_tool.cc",
"indexing_tool.h",
]
deps = [
"../core/browser",
"../core/common",
"//base",
"//components/url_pattern_index",
"//url",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"filter_tool_unittest.cc",
"indexing_tool_unittest.cc",
]
deps = [
":tools_lib",
"../core/common",
"../core/common:test_support",
"rule_parser:unit_tests",
"ruleset_converter:unit_tests",
"//base",
"//base/test:test_support",
"//components/url_pattern_index:test_support",
"//testing/gtest",
"//third_party/protobuf:protobuf_lite",
"//url",
]
}
if (use_blink) {
executable("subresource_filter_tool") {
# Production code should not depend on this.
testonly = true
sources = [ "filter_tool_main.cc" ]
deps = [
":tools_lib",
"//base",
]
}
executable("subresource_indexing_tool") {
# Production code should not depend on this.
testonly = true
sources = [ "indexing_tool_main.cc" ]
deps = [
":tools_lib",
"../core/common",
"//base",
]
}
executable("ruleset_converter") {
sources = [ "ruleset_converter/main.cc" ]
deps = [
"ruleset_converter:support",
"//base",
"//third_party/protobuf:protobuf_lite",
]
}
group("subresource_filter_tools") {
# Production code should not depend on this.
testonly = true
deps = [
":ruleset_converter",
":subresource_filter_tool",
":subresource_indexing_tool",
]
}
# This action compiles the indexing tool using the host's toolchain, and
# generates an indexed ruleset using the existing unindexed ruleset in the
# source tree.
compiled_action("index_ruleset") {
testonly = true
tool = ":subresource_indexing_tool"
outputs = [
"$target_gen_dir/GeneratedRulesetData",
"$target_gen_dir/default_local_state.json",
]
inputs = [ "//third_party/subresource-filter-ruleset/data/UnindexedRules" ]
deps = [ ":subresource_indexing_tool" ]
args = [
rebase_path(inputs[0], root_build_dir),
rebase_path(outputs[0], root_build_dir),
"--version_output=" + rebase_path(outputs[1], root_build_dir),
"--content_version=1000",
]
}
}