OLD | NEW |
| (Empty) |
1 # Copyright (c) 2011 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 { | |
6 'conditions': [ | |
7 ['OS=="win" or OS=="mac" or OS=="linux"', { | |
8 'targets': [ | |
9 { | |
10 # policy_templates has different inputs and outputs, so it can't use | |
11 # the rules of chrome_strings | |
12 'target_name': 'policy_templates', | |
13 'type': 'none', | |
14 'variables': { | |
15 'grit_grd_file': 'policy_templates.grd', | |
16 'grit_info_cmd': ['python', '<(DEPTH)/tools/grit/grit_info.py', | |
17 '<@(grit_defines)'], | |
18 }, | |
19 'includes': [ '../../../build/grit_target.gypi' ], | |
20 'actions': [ | |
21 { | |
22 'action_name': 'policy_templates', | |
23 'includes': [ '../../../build/grit_action.gypi' ], | |
24 }, | |
25 ], | |
26 'conditions': [ | |
27 ['OS=="win"', { | |
28 'variables': { | |
29 'version_path': '<(grit_out_dir)/app/policy/VERSION', | |
30 'template_files': [ | |
31 '<!@(<(grit_info_cmd) --outputs \'<(grit_out_dir)\' <(grit_grd
_file))' | |
32 ], | |
33 }, | |
34 'actions': [ | |
35 { | |
36 'action_name': 'add_version', | |
37 'inputs': ['../../VERSION'], | |
38 'outputs': ['<(version_path)'], | |
39 'action': ['cp', '<@(_inputs)', '<@(_outputs)'], | |
40 'msvs_cygwin_shell': 1, | |
41 }, | |
42 { | |
43 # Add all the templates generated at the previous step into | |
44 # a zip archive. | |
45 'action_name': 'pack_templates', | |
46 'variables': { | |
47 'zip_script': | |
48 'tools/build/win/make_policy_zip.py' | |
49 }, | |
50 'inputs': [ | |
51 '<(version_path)', | |
52 '<@(template_files)', | |
53 '<(zip_script)' | |
54 ], | |
55 'outputs': [ | |
56 '<(PRODUCT_DIR)/policy_templates.zip' | |
57 ], | |
58 'action': [ | |
59 'python', | |
60 '<(zip_script)', | |
61 '--output', | |
62 '<@(_outputs)', | |
63 '--basedir', '<(grit_out_dir)/app/policy', | |
64 # The list of files in the destination zip is derived from | |
65 # the list of output nodes in the following grd file. | |
66 # This whole trickery is necessary because we cannot pass | |
67 # the entire list of file names as command line arguments, | |
68 # because they would exceed the length limit on Windows. | |
69 '--grd_input', | |
70 '<(grit_grd_file)', | |
71 '--grd_strip_path_prefix', | |
72 'app/policy', | |
73 '--extra_input', | |
74 'VERSION', | |
75 # Module to be used to process grd_input'. | |
76 '--grit_info', | |
77 '<(DEPTH)/tools/grit/grit_info.py', | |
78 '<@(grit_defines)', | |
79 ], | |
80 'message': 'Packing generated templates into <(_outputs)', | |
81 'msvs_cygwin_shell': 1, | |
82 } | |
83 ] | |
84 }], | |
85 ], # conditions | |
86 }, | |
87 ], # 'targets' | |
88 }], # OS=="win" or OS=="mac" or OS=="linux" | |
89 ['OS=="mac"', { | |
90 'targets': [ | |
91 { | |
92 # This is the bundle of the manifest file of Chrome. | |
93 # It contains the manifest file and its string tables. | |
94 'target_name': 'chrome_manifest_bundle', | |
95 'type': 'loadable_module', | |
96 'mac_bundle': 1, | |
97 'product_extension': 'manifest', | |
98 'product_name': '<(mac_bundle_id)', | |
99 'variables': { | |
100 # This avoids stripping debugging symbols from the target, which | |
101 # would fail because there is no binary code here. | |
102 'mac_strip': 0, | |
103 }, | |
104 'dependencies': [ | |
105 # Provides app-Manifest.plist and its string tables: | |
106 'policy_templates', | |
107 ], | |
108 'actions': [ | |
109 { | |
110 'action_name': 'Copy MCX manifest file to manifest bundle', | |
111 'inputs': [ | |
112 '<(grit_out_dir)/app/policy/mac/app-Manifest.plist', | |
113 ], | |
114 'outputs': [ | |
115 '<(INTERMEDIATE_DIR)/app_manifest/<(mac_bundle_id).manifest', | |
116 ], | |
117 'action': [ | |
118 # Use plutil -convert xml1 to put the plist into Apple's | |
119 # canonical format. As a side effect, this ensures that the | |
120 # plist is well-formed. | |
121 'plutil', | |
122 '-convert', | |
123 'xml1', | |
124 '<@(_inputs)', | |
125 '-o', | |
126 '<@(_outputs)', | |
127 ], | |
128 'message': | |
129 'Copying the MCX policy manifest file to the manifest bundle', | |
130 'process_outputs_as_mac_bundle_resources': 1, | |
131 }, | |
132 { | |
133 'action_name': | |
134 'Copy Localizable.strings files to manifest bundle', | |
135 'variables': { | |
136 'input_path': '<(grit_out_dir)/app/policy/mac/strings', | |
137 # Directory to collect the Localizable.strings files before | |
138 # they are copied to the bundle. | |
139 'output_path': '<(INTERMEDIATE_DIR)/app_manifest', | |
140 # The reason we are not enumerating all the locales is that | |
141 # the translations would eat up 3.5MB disk space in the | |
142 # application bundle: | |
143 'available_locales': 'en', | |
144 }, | |
145 'inputs': [ | |
146 # TODO: remove this helper when we have loops in GYP | |
147 '>!@(<(apply_locales_cmd) -d \'<(input_path)/ZZLOCALE.lproj/Loca
lizable.strings\' <(available_locales))', | |
148 ], | |
149 'outputs': [ | |
150 # TODO: remove this helper when we have loops in GYP | |
151 '>!@(<(apply_locales_cmd) -d \'<(output_path)/ZZLOCALE.lproj/Loc
alizable.strings\' <(available_locales))', | |
152 ], | |
153 'action': [ | |
154 'cp', '-R', | |
155 '<(input_path)/', | |
156 '<(output_path)', | |
157 ], | |
158 'message': | |
159 'Copy the Localizable.strings files to the manifest bundle', | |
160 'process_outputs_as_mac_bundle_resources': 1, | |
161 'msvs_cygwin_shell': 1, | |
162 }, | |
163 ], | |
164 }, | |
165 ] | |
166 }] | |
167 ], # 'conditions' | |
168 } | |
OLD | NEW |