[Chromoting] Enable the Chromoting webapp build in GN
[chromium-blink-merge.git] / remoting / webapp / build_template.gni
blobd1e2265a206ca6c62f8b0252eecf9f66a1b60528
1 # Copyright 2015 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 # Keep in sync with 'remoting_webapp' target in remoting/remoting_client.gypi.
7 import("//remoting/remoting_locales.gni")
8 import("//remoting/remoting_options.gni")
9 import("//remoting/remoting_version.gni")
10 import("//remoting/webapp/files.gni")
12 # The base remoting directory that is used as the root directory for file
13 # references. Many of the scripts rely on the files being specified relative
14 # to this directory.
15 remoting_dir = "//remoting"
17 template("remoting_webapp") {
18   locales_listfile = target_name + "_locales"
19   listfile = "$target_gen_dir/${target_name}_locales.txt"
20   listfile_rel = rebase_path(listfile, root_build_dir)
22   action(locales_listfile) {
23     script = "../tools/build/remoting_localize.py"
25     inputs = []
26     outputs = [
27       listfile,
28     ]
30     args = [
31       "--locale_output",
32       rebase_path(webapp_locale_dir, root_build_dir) +
33           "/@{json_suffix}/messages.json",
34       "--locales_listfile",
35       listfile_rel,
36     ]
37     args += remoting_locales
38   }
40   action(target_name) {
41     script = "build-webapp.py"
43     webapp_type = invoker.webapp_type
44     output_dir = invoker.output_dir
45     zip_path = invoker.zip_path
46     extra_files = invoker.extra_files
48     inputs = []
49     outputs = [
50       "$target_gen_dir/$zip_path",
51     ]
53     deps = [
54       ":html",
55       ":$locales_listfile",
56       "//remoting/resources",
57     ]
59     buildtype = "Dev"
60     if (!is_debug) {
61       if (is_official_build) {
62         buildtype = "Official"
63       } else {
64         buildtype = "Release"
65       }
66     }
68     generated_html_files = [
69       "$target_gen_dir/background.html",
70       "$target_gen_dir/main.html",
71       "$target_gen_dir/message_window.html",
72       "$target_gen_dir/wcs_sandbox.html",
73     ]
75     args = [
76       buildtype,
77       version_full,
78       output_dir,
79       zip_path,
80       rebase_path("crd/manifest.json.jinja2", root_build_dir),
81       webapp_type,
82     ]
83     args += rebase_path(generated_html_files, root_build_dir)
84     args += rebase_path(remoting_webapp_crd_files, root_build_dir)
85     args += rebase_path(extra_files, root_build_dir)
86     args += [
87       "--locales_listfile",
88       listfile_rel,
89     ]
90     args += [
91       "--use_gcd",
92       "$remoting_use_gcd",
93     ]
94   }