| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 import("//build/config/android/config.gni") | 5 import("//build/config/android/config.gni") |
| 6 | 6 |
| 7 assert(is_android) | 7 assert(is_android) |
| 8 | 8 |
| 9 rebased_android_sdk = rebase_path(android_sdk, root_build_dir) | 9 rebased_android_sdk = rebase_path(android_sdk, root_build_dir) |
| 10 rebased_android_sdk_root = rebase_path(android_sdk_root, root_build_dir) | 10 rebased_android_sdk_root = rebase_path(android_sdk_root, root_build_dir) |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 "--enable", | 59 "--enable", |
| 60 ] | 60 ] |
| 61 } | 61 } |
| 62 } | 62 } |
| 63 | 63 |
| 64 template("dex") { | 64 template("dex") { |
| 65 if (defined(invoker.testonly)) { | 65 if (defined(invoker.testonly)) { |
| 66 testonly = invoker.testonly | 66 testonly = invoker.testonly |
| 67 } | 67 } |
| 68 | 68 |
| 69 assert(defined(invoker.sources)) | |
| 70 assert(defined(invoker.output)) | 69 assert(defined(invoker.output)) |
| 71 action(target_name) { | 70 action(target_name) { |
| 72 script = "//build/android/gyp/dex.py" | 71 script = "//build/android/gyp/dex.py" |
| 73 depfile = "$target_gen_dir/$target_name.d" | 72 depfile = "$target_gen_dir/$target_name.d" |
| 74 sources = invoker.sources | 73 if (defined(invoker.sources)) { |
| 74 sources = invoker.sources |
| 75 } |
| 75 outputs = [ | 76 outputs = [ |
| 76 depfile, | 77 depfile, |
| 77 invoker.output, | 78 invoker.output, |
| 78 ] | 79 ] |
| 79 if (defined(invoker.inputs)) { | 80 if (defined(invoker.inputs)) { |
| 80 inputs = invoker.inputs | 81 inputs = invoker.inputs |
| 81 } | 82 } |
| 82 | 83 |
| 83 if (defined(invoker.deps)) { | 84 if (defined(invoker.deps)) { |
| 84 deps = invoker.deps | 85 deps = invoker.deps |
| (...skipping 11 matching lines...) Expand all Loading... |
| 96 ] | 97 ] |
| 97 | 98 |
| 98 if (defined(invoker.no_locals) && invoker.no_locals) { | 99 if (defined(invoker.no_locals) && invoker.no_locals) { |
| 99 args += [ "--no-locals=1" ] | 100 args += [ "--no-locals=1" ] |
| 100 } | 101 } |
| 101 | 102 |
| 102 if (defined(invoker.args)) { | 103 if (defined(invoker.args)) { |
| 103 args += invoker.args | 104 args += invoker.args |
| 104 } | 105 } |
| 105 | 106 |
| 106 args += rebase_path(invoker.sources, root_build_dir) | 107 if (defined(invoker.sources)) { |
| 108 args += rebase_path(invoker.sources, root_build_dir) |
| 109 } |
| 107 } | 110 } |
| 108 } | 111 } |
| 109 | 112 |
| 110 # Creates a zip archive of the inputs. | 113 # Creates a zip archive of the inputs. |
| 111 # If base_dir is provided, the archive paths will be relative to it. | 114 # If base_dir is provided, the archive paths will be relative to it. |
| 112 template("zip") { | 115 template("zip") { |
| 113 if (defined(invoker.testonly)) { | 116 if (defined(invoker.testonly)) { |
| 114 testonly = invoker.testonly | 117 testonly = invoker.testonly |
| 115 } | 118 } |
| 116 | 119 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 testonly = invoker.testonly | 159 testonly = invoker.testonly |
| 157 } | 160 } |
| 158 | 161 |
| 159 assert(defined(invoker.type)) | 162 assert(defined(invoker.type)) |
| 160 assert(defined(invoker.build_config)) | 163 assert(defined(invoker.build_config)) |
| 161 | 164 |
| 162 type = invoker.type | 165 type = invoker.type |
| 163 build_config = invoker.build_config | 166 build_config = invoker.build_config |
| 164 | 167 |
| 165 assert(type == "android_apk" || type == "java_library" || | 168 assert(type == "android_apk" || type == "java_library" || |
| 166 type == "android_resources") | 169 type == "android_resources" || type == "deps_dex") |
| 167 | 170 |
| 168 action(target_name) { | 171 action(target_name) { |
| 169 script = "//build/android/gyp/write_build_config.py" | 172 script = "//build/android/gyp/write_build_config.py" |
| 170 depfile = "$target_gen_dir/$target_name.d" | 173 depfile = "$target_gen_dir/$target_name.d" |
| 171 inputs = [] | 174 inputs = [] |
| 172 | 175 |
| 173 deps = [] | 176 deps = [] |
| 174 if (defined(invoker.deps)) { | 177 if (defined(invoker.deps)) { |
| 175 deps += invoker.deps | 178 deps += invoker.deps |
| 176 } | 179 } |
| (...skipping 17 matching lines...) Expand all Loading... |
| 194 "--depfile", | 197 "--depfile", |
| 195 rebase_path(depfile, root_build_dir), | 198 rebase_path(depfile, root_build_dir), |
| 196 "--possible-deps-configs=$rebase_possible_deps_configs", | 199 "--possible-deps-configs=$rebase_possible_deps_configs", |
| 197 "--build-config", | 200 "--build-config", |
| 198 rebase_path(build_config, root_build_dir), | 201 rebase_path(build_config, root_build_dir), |
| 199 ] | 202 ] |
| 200 | 203 |
| 201 is_java_library = type == "java_library" | 204 is_java_library = type == "java_library" |
| 202 is_apk = type == "android_apk" | 205 is_apk = type == "android_apk" |
| 203 is_android_resources = type == "android_resources" | 206 is_android_resources = type == "android_resources" |
| 207 is_deps_dex = type == "deps_dex" |
| 204 | 208 |
| 205 supports_android = is_apk || is_android_resources || | 209 supports_android = is_apk || is_android_resources || is_deps_dex || |
| 206 (is_java_library && defined(invoker.supports_android) && | 210 (is_java_library && defined(invoker.supports_android) && |
| 207 invoker.supports_android) | 211 invoker.supports_android) |
| 208 requires_android = is_apk || is_android_resources || | 212 requires_android = is_apk || is_android_resources || is_deps_dex || |
| 209 (is_java_library && defined(invoker.requires_android) && | 213 (is_java_library && defined(invoker.requires_android) && |
| 210 invoker.requires_android) | 214 invoker.requires_android) |
| 211 | 215 |
| 212 assert(!requires_android || supports_android, | 216 assert(!requires_android || supports_android, |
| 213 "requires_android requires" + " supports_android") | 217 "requires_android requires" + " supports_android") |
| 214 | 218 |
| 215 # Mark these variables as used. | 219 # Mark these variables as used. |
| 216 assert(is_java_library || true) | 220 assert(is_java_library || true) |
| 217 assert(is_apk || true) | 221 assert(is_apk || true) |
| 218 assert(is_android_resources || true) | 222 assert(is_android_resources || true) |
| 223 assert(is_deps_dex || true) |
| 219 | 224 |
| 220 if (is_java_library || is_apk) { | 225 if (is_java_library || is_apk) { |
| 221 args += [ | 226 args += [ |
| 222 "--jar-path", | 227 "--jar-path", |
| 223 rebase_path(invoker.jar_path, root_build_dir), | 228 rebase_path(invoker.jar_path, root_build_dir), |
| 224 ] | 229 ] |
| 225 } | 230 } |
| 226 | 231 |
| 227 if (is_apk || (is_java_library && supports_android)) { | 232 if (is_apk || is_deps_dex || (is_java_library && supports_android)) { |
| 228 args += [ | 233 args += [ |
| 229 "--dex-path", | 234 "--dex-path", |
| 230 rebase_path(invoker.dex_path, root_build_dir), | 235 rebase_path(invoker.dex_path, root_build_dir), |
| 231 ] | 236 ] |
| 232 } | 237 } |
| 233 if (supports_android) { | 238 if (supports_android) { |
| 234 args += [ "--supports-android" ] | 239 args += [ "--supports-android" ] |
| 235 } | 240 } |
| 236 if (requires_android) { | 241 if (requires_android) { |
| 237 args += [ "--requires-android" ] | 242 args += [ "--requires-android" ] |
| (...skipping 653 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 891 } | 896 } |
| 892 } | 897 } |
| 893 | 898 |
| 894 _final_deps += [ ":${_template_name}__dex" ] | 899 _final_deps += [ ":${_template_name}__dex" ] |
| 895 dex("${_template_name}__dex") { | 900 dex("${_template_name}__dex") { |
| 896 sources = [ | 901 sources = [ |
| 897 _jar_path, | 902 _jar_path, |
| 898 ] | 903 ] |
| 899 output = _dex_path | 904 output = _dex_path |
| 900 } | 905 } |
| 901 | |
| 902 if (defined(invoker.standalone_dex_path)) { | |
| 903 _final_deps += [ ":${_template_name}__standalone_dex" ] | |
| 904 _rebased_build_config = rebase_path(_build_config, root_build_dir) | |
| 905 dex("${_template_name}__standalone_dex") { | |
| 906 sources = [ | |
| 907 _jar_path, | |
| 908 ] | |
| 909 inputs = [ | |
| 910 _build_config, | |
| 911 ] | |
| 912 output = invoker.standalone_dex_path | |
| 913 dex_arg_key = "${_rebased_build_config}:final_dex:dependency_dex_files" | |
| 914 args = [ "--inputs=@FileArg($dex_arg_key)" ] | |
| 915 } | |
| 916 } | |
| 917 } | 906 } |
| 918 | 907 |
| 919 group(target_name) { | 908 group(target_name) { |
| 920 if (defined(invoker.visibility)) { | 909 if (defined(invoker.visibility)) { |
| 921 visibility = invoker.visibility | 910 visibility = invoker.visibility |
| 922 } | 911 } |
| 923 deps = _final_deps | 912 deps = _final_deps |
| 924 datadeps = _final_datadeps | 913 datadeps = _final_datadeps |
| 925 } | 914 } |
| 926 } | 915 } |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1054 | 1043 |
| 1055 if (defined(invoker.clear_dir) && invoker.clear_dir) { | 1044 if (defined(invoker.clear_dir) && invoker.clear_dir) { |
| 1056 args += [ "--clear" ] | 1045 args += [ "--clear" ] |
| 1057 } | 1046 } |
| 1058 | 1047 |
| 1059 if (defined(invoker.args)) { | 1048 if (defined(invoker.args)) { |
| 1060 args += invoker.args | 1049 args += invoker.args |
| 1061 } | 1050 } |
| 1062 } | 1051 } |
| 1063 } | 1052 } |
| 1053 |
| 1054 # Produces a single .dex.jar out of a set of Java dependencies. |
| 1055 template("deps_dex") { |
| 1056 build_config = "$target_gen_dir/${target_name}.build_config" |
| 1057 write_build_config("${target_name}__build_config") { |
| 1058 type = "deps_dex" |
| 1059 deps = invoker.deps |
| 1060 |
| 1061 build_config = build_config |
| 1062 dex_path = invoker.dex_path |
| 1063 } |
| 1064 |
| 1065 rebased_build_config = rebase_path(build_config, root_build_dir) |
| 1066 dex(target_name) { |
| 1067 inputs = [ |
| 1068 build_config, |
| 1069 ] |
| 1070 output = invoker.dex_path |
| 1071 dex_arg_key = "${rebased_build_config}:final_dex:dependency_dex_files" |
| 1072 args = [ "--inputs=@FileArg($dex_arg_key)" ] |
| 1073 } |
| 1074 } |
| OLD | NEW |