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 # This file is meant to be included into an action to invoke grit in a | |
6 # consistent manner. To use this the following variables need to be | |
7 # defined: | |
8 # grit_grd_file: string: grd file path | |
9 # grit_out_dir: string: the output directory path | |
10 | |
11 # It would be really nice to do this with a rule instead of actions, but it | |
12 # would need to determine inputs and outputs via grit_info on a per-file | |
13 # basis. GYP rules don't currently support that. They could be extended to | |
14 # do this, but then every generator would need to be updated to handle this. | |
15 | |
16 { | |
17 'variables': { | |
18 'grit_cmd': ['python', '<(DEPTH)/tools/grit/grit.py'], | |
19 'grit_resource_ids%': '<(DEPTH)/tools/gritsettings/resource_ids', | |
20 # This makes it possible to add more defines in specific targets, | |
21 # instead of build/common.gypi . | |
22 'grit_additional_defines%': [], | |
23 'grit_rc_header_format%': [], | |
24 'grit_whitelist%': '', | |
25 | |
26 'conditions': [ | |
27 # These scripts can skip writing generated files if they are identical | |
28 # to the already existing files, which avoids further build steps, like | |
29 # recompilation. However, a dependency (earlier build step) having a | |
30 # newer timestamp than an output (later build step) confuses some build | |
31 # systems, so only use this on ninja, which explicitly supports this use | |
32 # case (gyp turns all actions into ninja restat rules). | |
33 ['"<(GENERATOR)"=="ninja"', { | |
34 'write_only_new': '1', | |
35 }, { | |
36 'write_only_new': '0', | |
37 }], | |
38 ], | |
39 }, | |
40 'conditions': [ | |
41 ['"<(grit_whitelist)"==""', { | |
42 'variables': { | |
43 'grit_whitelist_flag': [], | |
44 } | |
45 }, { | |
46 'variables': { | |
47 'grit_whitelist_flag': ['-w', '<(grit_whitelist)'], | |
48 } | |
49 }] | |
50 ], | |
51 'inputs': [ | |
52 '<!@pymod_do_main(grit_info <@(grit_defines) <@(grit_additional_defines) ' | |
53 '<@(grit_whitelist_flag) --inputs <(grit_grd_file) ' | |
54 '-f "<(grit_resource_ids)")', | |
55 ], | |
56 'outputs': [ | |
57 '<!@pymod_do_main(grit_info <@(grit_defines) <@(grit_additional_defines) ' | |
58 '<@(grit_whitelist_flag) --outputs \'<(grit_out_dir)\' ' | |
59 '<(grit_grd_file) -f "<(grit_resource_ids)")', | |
60 ], | |
61 'action': ['<@(grit_cmd)', | |
62 '-i', '<(grit_grd_file)', 'build', | |
63 '-f', '<(grit_resource_ids)', | |
64 '-o', '<(grit_out_dir)', | |
65 '--write-only-new=<(write_only_new)', | |
66 '<@(grit_defines)', | |
67 '<@(grit_whitelist_flag)', | |
68 '<@(grit_additional_defines)', | |
69 '<@(grit_rc_header_format)'], | |
70 'message': 'Generating resources from <(grit_grd_file)', | |
71 } | |
OLD | NEW |