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 package prebuilt Java JARs in a consistent manner. | 6 # to package prebuilt Java JARs in a consistent manner. |
7 # | 7 # |
8 # To use this, create a gyp target with the following form: | 8 # To use this, create a gyp target with the following form: |
9 # { | 9 # { |
10 # 'target_name': 'my-package_java', | 10 # 'target_name': 'my-package_java', |
11 # 'type': 'none', | 11 # 'type': 'none', |
12 # 'variables': { | 12 # 'variables': { |
13 # 'jar_path': 'path/to/your.jar', | 13 # 'jar_path': 'path/to/your.jar', |
14 # }, | 14 # }, |
15 # 'includes': ['path/to/this/gypi/file'], | 15 # 'includes': ['path/to/this/gypi/file'], |
16 # } | 16 # } |
17 # | 17 # |
18 # Required variables: | 18 # Required variables: |
19 # jar_path - The path to the prebuilt Java JAR file. | 19 # jar_path - The path to the prebuilt Java JAR file. |
20 | 20 |
21 { | 21 { |
22 'dependencies': [ | 22 'dependencies': [ |
23 '<(DEPTH)/build/android/setup.gyp:build_output_dirs' | 23 '<(DEPTH)/build/android/setup.gyp:build_output_dirs' |
24 ], | 24 ], |
25 'variables': { | 25 'variables': { |
26 'dex_path': '<(PRODUCT_DIR)/lib.java/<(_target_name).dex.jar', | 26 'dex_path': '<(PRODUCT_DIR)/lib.java/<(_target_name).dex.jar', |
27 'intermediate_dir': '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)', | 27 'intermediate_dir': '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)', |
28 'android_jar': '<(android_sdk)/android.jar', | 28 'android_jar': '<(android_sdk)/android.jar', |
29 'input_jars_paths': [ '<(android_jar)' ], | 29 'input_jars_paths': [ '<(android_jar)' ], |
| 30 'neverlink%': 0, |
30 'proguard_config%': '', | 31 'proguard_config%': '', |
31 'proguard_preprocess%': '0', | 32 'proguard_preprocess%': '0', |
32 'variables': { | 33 'variables': { |
33 'variables': { | 34 'variables': { |
34 'proguard_preprocess%': 0, | 35 'proguard_preprocess%': 0, |
35 }, | 36 }, |
36 'conditions': [ | 37 'conditions': [ |
37 ['proguard_preprocess == 1', { | 38 ['proguard_preprocess == 1', { |
38 'dex_input_jar_path': '<(intermediate_dir)/<(_target_name).pre.jar' | 39 'dex_input_jar_path': '<(intermediate_dir)/<(_target_name).pre.jar' |
39 }, { | 40 }, { |
40 'dex_input_jar_path': '<(jar_path)' | 41 'dex_input_jar_path': '<(jar_path)' |
41 }], | 42 }], |
42 ], | 43 ], |
43 }, | 44 }, |
44 'dex_input_jar_path': '<(dex_input_jar_path)', | 45 'dex_input_jar_path': '<(dex_input_jar_path)', |
45 }, | 46 }, |
46 'all_dependent_settings': { | 47 'all_dependent_settings': { |
47 'variables': { | 48 'variables': { |
48 'input_jars_paths': ['<(dex_input_jar_path)'], | 49 'input_jars_paths': ['<(dex_input_jar_path)'], |
49 'library_dexed_jars_paths': ['<(dex_path)'], | 50 'conditions': [ |
| 51 ['neverlink == 1', { |
| 52 'library_dexed_jars_paths': [], |
| 53 }, { |
| 54 'library_dexed_jars_paths': ['<(dex_path)'], |
| 55 }], |
| 56 ], |
50 }, | 57 }, |
51 }, | 58 }, |
52 'conditions' : [ | 59 'conditions' : [ |
53 ['proguard_preprocess == 1', { | 60 ['proguard_preprocess == 1', { |
54 'actions': [ | 61 'actions': [ |
55 { | 62 { |
56 'action_name': 'proguard_<(_target_name)', | 63 'action_name': 'proguard_<(_target_name)', |
57 'message': 'Proguard preprocessing <(_target_name) jar', | 64 'message': 'Proguard preprocessing <(_target_name) jar', |
58 'inputs': [ | 65 'inputs': [ |
59 '<(android_sdk_root)/tools/proguard/lib/proguard.jar', | 66 '<(android_sdk_root)/tools/proguard/lib/proguard.jar', |
60 '<(DEPTH)/build/android/gyp/util/build_utils.py', | 67 '<(DEPTH)/build/android/gyp/util/build_utils.py', |
61 '<(DEPTH)/build/android/gyp/proguard.py', | 68 '<(DEPTH)/build/android/gyp/proguard.py', |
62 '<(jar_path)', | 69 '<(jar_path)', |
63 '<(proguard_config)', | 70 '<(proguard_config)', |
64 ], | 71 ], |
65 'outputs': [ | 72 'outputs': [ |
66 '<(dex_input_jar_path)', | 73 '<(dex_input_jar_path)', |
67 ], | 74 ], |
68 'action': [ | 75 'action': [ |
69 'python', '<(DEPTH)/build/android/gyp/proguard.py', | 76 'python', '<(DEPTH)/build/android/gyp/proguard.py', |
70 '--proguard-path=<(android_sdk_root)/tools/proguard/lib/proguard.jar
', | 77 '--proguard-path=<(android_sdk_root)/tools/proguard/lib/proguard.jar
', |
71 '--input-path=<(jar_path)', | 78 '--input-path=<(jar_path)', |
72 '--output-path=<(dex_input_jar_path)', | 79 '--output-path=<(dex_input_jar_path)', |
73 '--proguard-config=<(proguard_config)', | 80 '--proguard-config=<(proguard_config)', |
74 '--classpath=>(input_jars_paths)', | 81 '--classpath=>(input_jars_paths)', |
75 ] | 82 ] |
76 }, | 83 }, |
77 ], | 84 ], |
78 }], | 85 }], |
| 86 ['neverlink == 0', { |
| 87 'actions': [ |
| 88 { |
| 89 'action_name': 'dex_<(_target_name)', |
| 90 'message': 'Dexing <(_target_name) jar', |
| 91 'variables': { |
| 92 'dex_input_paths': [ |
| 93 '<(dex_input_jar_path)', |
| 94 ], |
| 95 'output_path': '<(dex_path)', |
| 96 }, |
| 97 'includes': [ 'android/dex_action.gypi' ], |
| 98 }, |
| 99 ], |
| 100 }], |
79 ], | 101 ], |
80 'actions': [ | |
81 { | |
82 'action_name': 'dex_<(_target_name)', | |
83 'message': 'Dexing <(_target_name) jar', | |
84 'variables': { | |
85 'dex_input_paths': [ | |
86 '<(dex_input_jar_path)', | |
87 ], | |
88 'output_path': '<(dex_path)', | |
89 }, | |
90 'includes': [ 'android/dex_action.gypi' ], | |
91 }, | |
92 ], | |
93 } | 102 } |
OLD | NEW |