OLD | NEW |
| (Empty) |
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 # This file is meant to be included into a target to provide an action | |
6 # to generate Java source files from a C++ header file containing annotated | |
7 # enum definitions using a Python script. | |
8 # | |
9 # To use this, create a gyp target with the following form: | |
10 # { | |
11 # 'target_name': 'bitmap_format_java', | |
12 # 'type': 'none', | |
13 # 'variables': { | |
14 # 'source_file': 'ui/android/bitmap_format.h', | |
15 # }, | |
16 # 'includes': [ '../build/android/java_cpp_enum.gypi' ], | |
17 # }, | |
18 # | |
19 # Then have the gyp target which compiles the java code depend on the newly | |
20 # created target. | |
21 | |
22 { | |
23 'variables': { | |
24 # Location where all generated Java sources will be placed. | |
25 'output_dir': '<(SHARED_INTERMEDIATE_DIR)/enums/<(_target_name)', | |
26 'generator_path': '<(DEPTH)/build/android/gyp/java_cpp_enum.py', | |
27 'generator_args': '<(output_dir) <(source_file)', | |
28 }, | |
29 'direct_dependent_settings': { | |
30 'variables': { | |
31 # Ensure that the output directory is used in the class path | |
32 # when building targets that depend on this one. | |
33 'generated_src_dirs': [ | |
34 '<(output_dir)/', | |
35 ], | |
36 # Ensure that the targets depending on this one are rebuilt if the sources | |
37 # of this one are modified. | |
38 'additional_input_paths': [ | |
39 '<(source_file)', | |
40 ], | |
41 }, | |
42 }, | |
43 'actions': [ | |
44 { | |
45 'action_name': 'generate_java_constants', | |
46 'inputs': [ | |
47 '<(DEPTH)/build/android/gyp/util/build_utils.py', | |
48 '<(generator_path)', | |
49 '<(source_file)', | |
50 ], | |
51 'outputs': [ | |
52 # This is the main reason this is an action and not a rule. Gyp doesn't | |
53 # properly expand RULE_INPUT_PATH here and so it's impossible to | |
54 # calculate the list of outputs. | |
55 '<!@pymod_do_main(java_cpp_enum --print_output_only ' | |
56 '<@(generator_args))', | |
57 ], | |
58 'action': [ | |
59 'python', '<(generator_path)', '<@(generator_args)' | |
60 ], | |
61 'message': 'Generating Java from cpp header <(source_file)', | |
62 }, | |
63 ], | |
64 } | |
OLD | NEW |