1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 import("//tools/grit/grit_rule.gni")
7 # See also remoting_locales_with_underscores below.
65 # Some locales have hyphens in the names but for some uses underscores are
67 remoting_locales_with_underscores = remoting_locales
68 remoting_locales_with_underscores -= [
77 remoting_locales_with_underscores += [
88 remoting_locales += ["en-US"]
89 remoting_locales_with_underscores += ["en_US"]
96 #":verify_resources", TODO(GYP) enable this.
100 # TODO(GYP) enable verify_resources. The bots are complaining about
101 # gen/main.html not being found but this doesn't seems to reproduce locally.
104 action("verify_resources") {
105 script = "//remoting/tools/verify_resources.py"
107 sources_to_verify = [
108 "$root_gen_dir/main.html",
109 "../base/resources_unittest.cc",
110 "../host/continue_window_mac.mm",
111 "../host/disconnect_window_mac.mm",
112 "../host/installer/mac/uninstaller/remoting_uninstaller-InfoPlist.strings.jinja2",
113 "../host/mac/me2me_preference_pane-InfoPlist.strings.jinja2",
114 "../host/win/core.rc.jinja2",
115 "../host/win/host_messages.mc.jinja2",
116 "../host/win/version.rc.jinja2",
117 "../resources/play_store_resources.cc",
118 "../webapp/background/background.js",
119 "../webapp/butter_bar.js",
120 "../webapp/client_screen.js",
121 "../webapp/error.js",
122 "../webapp/host_list.js",
123 "../webapp/host_setup_dialog.js",
124 "../webapp/host_table_entry.js",
125 "../webapp/manifest.json.jinja2",
126 "../webapp/paired_client_manager.js",
127 "../webapp/remoting.js",
128 "../webapp/window_frame.js",
132 "remoting_strings.grd",
133 ] + sources_to_verify
135 stampfile = "$root_build_dir/remoting_resources_verified_stamp"
136 outputs = [ stampfile ]
139 "-t", rebase_path(stampfile, root_build_dir),
140 "-r", rebase_path("remoting_strings.grd", root_build_dir),
141 ] + rebase_path(sources_to_verify, root_build_dir)
143 deps = [ "//remoting/webapp:html" ] # Generates main.html.
149 source = "remoting_strings.grd"
150 output_name = "remoting_strings"
152 # The grd file encodes "remoting/..." in the name, so root everything in the
153 # generated file root.
154 output_dir = root_gen_dir
157 "remoting/base/string_resources.h",
160 # The grd produces a *.pak file and a messages.json file (this one uses
161 # underscores instead of hyphens) for each locale.
162 outputs += process_file_template(
164 [ "remoting/resources/{{source_name_part}}.pak" ])
166 messages_locales = remoting_locales_with_underscores
168 # The messages output includes a separate one for en-US that the pak ones
169 # don't have. We don't need to do this on ChromeOS since en_US is in the
170 # locales list be default there.
171 messages_locales += [ "en_US" ]
173 outputs += process_file_template(
175 [ "remoting/webapp/_locales/{{source_name_part}}/messages.json" ])
178 action("copy_locales") {
179 script = "../tools/build/remoting_copy_locales.py"
181 # The gyp build calls out to Python, but the Python just computes a simple
182 # replacement over the locales. Here, we can do this in GN script by
183 # pretending the locale list is a list of files. The {{source_name_part}}
184 # will just expand to the locale name.
185 inputs = process_file_template(
187 [ "$target_gen_dir/{{source_name_part}}.pak" ])
189 # Likewise, process the outputs in the same way as the inputs.
190 if (is_mac || is_ios) {
191 # On mac, use underscores instead of hyphens and put the files in a
193 outputs = process_file_template(
194 remoting_locales_with_underscores,
195 [ "$root_build_dir/remoting/resources/{{source_name_part}}.lproj/locale.pak" ])
197 outputs = process_file_template(
199 [ "$root_build_dir/remoting_locales/{{source_name_part}}.pak" ])
204 "-g", rebase_path(root_gen_dir, root_build_dir),
205 "-x", rebase_path(root_out_dir, root_build_dir),
208 deps = [ ":strings" ]