OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 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 a rule | 5 # This file is meant to be included into a target to provide a rule |
6 # to invoke protoc in a consistent manner. This is only to be included | 6 # to invoke protoc in a consistent manner. This is only to be included |
7 # for Java targets. When including this file, a .jar-file will be generated. | 7 # for Java targets. When including this file, a .jar-file will be generated. |
8 # For other targets, see protoc.gypi. | 8 # For other targets, see protoc.gypi. |
9 # | 9 # |
10 # To use this, create a gyp target with the following form: | 10 # To use this, create a gyp target with the following form: |
(...skipping 24 matching lines...) Expand all Loading... |
35 # | 35 # |
36 # How the .jar-file is created is different than how protoc is used for other | 36 # How the .jar-file is created is different than how protoc is used for other |
37 # targets, and as such, this lives in its own file. | 37 # targets, and as such, this lives in its own file. |
38 | 38 |
39 { | 39 { |
40 'variables': { | 40 'variables': { |
41 'protoc': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)protoc<(EXECUTABLE_SUFFIX)', | 41 'protoc': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)protoc<(EXECUTABLE_SUFFIX)', |
42 'java_out_dir': '<(PRODUCT_DIR)/java_proto/<(_target_name)/src', | 42 'java_out_dir': '<(PRODUCT_DIR)/java_proto/<(_target_name)/src', |
43 'proto_in_dir%': '.', | 43 'proto_in_dir%': '.', |
44 'stamp_file': '<(java_out_dir).stamp', | 44 'stamp_file': '<(java_out_dir).stamp', |
45 # Variables needed by java.gypi below. | 45 'script': '<(DEPTH)/build/protoc_java.py', |
| 46 |
| 47 # The rest of the variables here are for the java.gypi include. |
46 'package_name': '<(_target_name)', | 48 'package_name': '<(_target_name)', |
47 'java_in_dir': '<(DEPTH)/build/android/empty', | 49 'java_in_dir': '<(DEPTH)/build/android/empty', |
48 'script': '<(DEPTH)/build/protoc_java.py', | |
49 'generated_src_dirs': ['<(java_out_dir)'], | 50 'generated_src_dirs': ['<(java_out_dir)'], |
| 51 # Adding the |stamp_file| to |additional_input_paths| makes the actions in |
| 52 # the include of java.gypi depend on the genproto_java action. |
| 53 'additional_input_paths': ['<(stamp_file)'], |
50 }, | 54 }, |
51 'actions': [ | 55 'actions': [ |
52 { | 56 { |
53 'action_name': 'genproto_java', | 57 'action_name': 'genproto_java', |
54 'inputs': [ | 58 'inputs': [ |
55 '<(script)', | 59 '<(script)', |
56 '<(protoc)', | 60 '<(protoc)', |
57 '<@(_sources)', | 61 '<@(_sources)', |
58 ], | 62 ], |
59 # We do not know the names of the generated files, so we use a stamp. | 63 # We do not know the names of the generated files, so we use a stamp. |
(...skipping 10 matching lines...) Expand all Loading... |
70 ], | 74 ], |
71 'message': 'Generating Java code from <(proto_in_dir)', | 75 'message': 'Generating Java code from <(proto_in_dir)', |
72 }, | 76 }, |
73 ], | 77 ], |
74 'dependencies': [ | 78 'dependencies': [ |
75 '<(DEPTH)/third_party/protobuf/protobuf.gyp:protoc#host', | 79 '<(DEPTH)/third_party/protobuf/protobuf.gyp:protoc#host', |
76 '<(DEPTH)/third_party/protobuf/protobuf.gyp:protobuf_lite_javalib', | 80 '<(DEPTH)/third_party/protobuf/protobuf.gyp:protobuf_lite_javalib', |
77 ], | 81 ], |
78 'includes': [ 'java.gypi' ], | 82 'includes': [ 'java.gypi' ], |
79 } | 83 } |
OLD | NEW |