Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / remoting / resources / BUILD.gn
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.
4
5 import("//tools/grit/grit_rule.gni")
6
7 # See also remoting_locales_with_underscores below.
8 remoting_locales = [
9   "ar",
10   "bg",
11   "ca",
12   "cs",
13   "da",
14   "de",
15   "el",
16   "en",
17   "en-GB",
18   "es",
19   "es-419",
20   "et",
21   "fi",
22   "fil",
23   "fr",
24   "he",
25   "hi",
26   "hr",
27   "hu",
28   "id",
29   "it",
30   "ja",
31   "ko",
32   "lt",
33   "lv",
34   "nb",
35   "nl",
36   "pl",
37   "pt-BR",
38   "pt-PT",
39   "ro",
40   "ru",
41   "sk",
42   "sl",
43   "sr",
44   "sv",
45   "th",
46   "tr",
47   "uk",
48   "vi",
49   "zh-CN",
50   "zh-TW",
51 ]
52
53 # Some locales have hyphens in the names but for some uses underscores are
54 # needed.
55 remoting_locales_with_underscores = remoting_locales
56 remoting_locales_with_underscores -= [
57   "en-GB",
58   "es-419",
59   "pt-BR",
60   "pt-PT",
61   "zh-CN",
62   "zh-TW",
63 ]
64 remoting_locales_with_underscores += [
65   "en_GB",
66   "es_419",
67   "pt_BR",
68   "pt_PT",
69   "zh_CN",
70   "zh_TW",
71 ]
72
73 group("resources") {
74   deps = [
75     ":copy_locales",
76     ":strings",
77     #":verify_resources",  TODO(GYP) enable this.
78   ]
79 }
80
81 # TODO(GYP) enable verify_resources. The bots are complaining about
82 # gen/main.html not being found but this doesn't seems to reproduce locally.
83 if (false) {
84
85 action("verify_resources") {
86   script = "//remoting/tools/verify_resources.py"
87
88   sources_to_verify = [
89     "$root_gen_dir/main.html",
90     "../base/resources_unittest.cc",
91     "../host/continue_window_mac.mm",
92     "../host/disconnect_window_mac.mm",
93     "../host/installer/mac/uninstaller/remoting_uninstaller-InfoPlist.strings.jinja2",
94     "../host/mac/me2me_preference_pane-InfoPlist.strings.jinja2",
95     "../host/win/core.rc.jinja2",
96     "../host/win/host_messages.mc.jinja2",
97     "../host/win/version.rc.jinja2",
98     "../resources/play_store_resources.cc",
99     "../webapp/background/background.js",
100     "../webapp/butter_bar.js",
101     "../webapp/client_screen.js",
102     "../webapp/error.js",
103     "../webapp/host_list.js",
104     "../webapp/host_setup_dialog.js",
105     "../webapp/host_table_entry.js",
106     "../webapp/manifest.json.jinja2",
107     "../webapp/paired_client_manager.js",
108     "../webapp/remoting.js",
109     "../webapp/window_frame.js",
110   ]
111
112   inputs = [
113     "remoting_strings.grd",
114   ] + sources_to_verify
115
116   stampfile = "$root_build_dir/remoting_resources_verified_stamp"
117   outputs = [ stampfile ]
118
119   args = [
120     "-t", rebase_path(stampfile, root_build_dir),
121     "-r", rebase_path("remoting_strings.grd", root_build_dir),
122   ] + rebase_path(sources_to_verify, root_build_dir)
123
124   deps = [ "//remoting/webapp:html" ]  # Generates main.html.
125 }
126
127 }  # if false
128
129 grit("strings") {
130   source = "remoting_strings.grd"
131   output_name = "remoting_strings"
132
133   # The grd file encodes "remoting/..." in the name, so root everything in the
134   # generated file root.
135   output_dir = root_gen_dir
136
137   resource_ids = "resource_ids"
138
139   outputs = [
140     "remoting/base/string_resources.h",
141   ]
142
143   # The grd produces a *.pak file and a messages.json file (this one uses
144   # underscores instead of hyphens) for each locale.
145   outputs += process_file_template(
146       remoting_locales,
147       [ "remoting/resources/{{source_name_part}}.pak" ])
148   outputs += process_file_template(
149       remoting_locales_with_underscores,
150       [ "remoting/webapp/_locales/{{source_name_part}}/messages.json" ])
151 }
152
153 action("copy_locales") {
154   script = "../tools/build/remoting_copy_locales.py"
155
156   # The gyp build calls out to Python, but the Python just computes a simple
157   # replacement over the locales. Here, we can do this in GN script by
158   # pretending the locale list is a list of files. The {{source_name_part}}
159   # will just expand to the locale name.
160   inputs = process_file_template(
161       remoting_locales,
162       [ "$target_gen_dir/{{source_name_part}}.pak" ])
163
164   # Likewise, process the outputs in the same way as the inputs.
165   if (is_mac || is_ios) {
166     # On mac, use underscores instead of hyphens and put the files in a
167     # different place.
168     outputs = process_file_template(
169         remoting_locales_with_underscores,
170         [ "$root_build_dir/remoting/resources/{{source_name_part}}.lproj/locale.pak" ])
171   } else {
172     outputs = process_file_template(
173         remoting_locales,
174         [ "$root_build_dir/remoting_locales/{{source_name_part}}.pak" ])
175   }
176
177   args = [
178     "-p", os,
179     "-g", rebase_path(root_gen_dir, root_build_dir),
180     "-x", rebase_path(root_out_dir, root_build_dir),
181   ] + remoting_locales
182
183   deps = [ ":strings" ]
184 }