| # Copyright 2018 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/compiled_action.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:util", |
| "//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 (!is_ios) { |
| 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", |
| "//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", |
| ] |
| |
| inputs = [ |
| # Make sure the inputs are system-absolute, as base::File cannot open files with ".." components. |
| rebase_path( |
| "//components/subresource_filter/core/common/perftests/data/UnindexedRules_7.54", |
| "", |
| "/"), |
| ] |
| deps = [ |
| ":subresource_indexing_tool", |
| ] |
| |
| args = [ |
| inputs[0], |
| rebase_path("$target_gen_dir/GeneratedRulesetData", root_build_dir), |
| ] |
| } |
| } |