# Copyright 2020 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("//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 these build targets. These targets are only built manually, so # it's fine to limit them to Linux. if (is_linux || is_mac) { # 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", ] } }