| # Copyright 2020 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("//testing/libfuzzer/fuzzer_test.gni") |
| import("//third_party/closure_compiler/closure_args.gni") |
| import("//third_party/closure_compiler/compile_js.gni") |
| |
| # Some of the Windows builders do not support Java, which is a required |
| # dependency for this build target. The fuzzable_proto_library doesn't support |
| # building JS protos when use_libfuzzer is true.This target is only built |
| # manually, so it's fine to limit it to Linux non-fuzzer builds. |
| if (is_linux && !use_libfuzzer) { |
| # Build this target to generate a small, self-contained utility for parsing a |
| # serialized ClientVariations proto from the X-Client-Data header. |
| # |
| # Run components/variations/proto/devtools/update_client_variations_parser.py |
| # to rebuild the library that is synced into the Dev Tools repository. |
| group("devtools") { |
| deps = [ ":client_variations_uncompiled" ] |
| } |
| |
| # Note that the name passed to the `js_binary` rule implicitly defines a |
| # dependency on the file that matches the build rule's name. |
| js_binary("client_variations_uncompiled") { |
| outputs = [ "$target_gen_dir/client_variations_gen.js" ] |
| deps = [ "..:proto_js" ] |
| closure_flags = strict_error_checking_closure_args + [ |
| "compilation_level=ADVANCED_OPTIMIZATIONS", |
| "browser_featureset_year=2020", |
| "generate_exports", |
| "export_local_property_definitions", |
| "isolation_mode=IIFE", |
| "jscomp_warning=checkTypes", |
| "jscomp_warning=deprecatedAnnotations", |
| "jscomp_warning=deprecated", |
| ] |
| } |
| } |