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