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 # Do not add any imports to non-//build directories here. | 5 # Do not add any imports to non-//build directories here. |
6 # Some projects (e.g. V8) do not have non-build directories DEPS'ed in. | 6 # Some projects (e.g. V8) do not have non-build directories DEPS'ed in. |
7 import("//build/config/android/config.gni") | 7 import("//build/config/android/config.gni") |
8 import("//build/config/android/internal_rules.gni") | 8 import("//build/config/android/internal_rules.gni") |
9 import("//build/config/compiler/compiler.gni") | 9 import("//build/config/compiler/compiler.gni") |
10 import("//build/config/dcheck_always_on.gni") | 10 import("//build/config/dcheck_always_on.gni") |
(...skipping 1177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1188 # ":bar_java" | 1188 # ":bar_java" |
1189 # ] | 1189 # ] |
1190 # } | 1190 # } |
1191 template("java_prebuilt") { | 1191 template("java_prebuilt") { |
1192 set_sources_assignment_filter([]) | 1192 set_sources_assignment_filter([]) |
1193 java_prebuilt_impl(target_name) { | 1193 java_prebuilt_impl(target_name) { |
1194 forward_variables_from(invoker, "*") | 1194 forward_variables_from(invoker, "*") |
1195 } | 1195 } |
1196 } | 1196 } |
1197 | 1197 |
| 1198 # Combines all dependent .jar files into a single .jar file. |
| 1199 # |
| 1200 # Variables: |
| 1201 # output: Path to the output jar. |
| 1202 # override_build_config: Use a pre-existing .build_config. Must be of type |
| 1203 # "apk". |
| 1204 # use_interface_jars: Use all dependent interface .jars rather than |
| 1205 # implementation .jars. |
| 1206 # direct_deps_only: Do not recurse on deps. |
| 1207 # data, deps, testonly, visibility: Usual meaning. |
| 1208 # |
| 1209 # Example |
| 1210 # dist_jar("lib_fatjar") { |
| 1211 # deps = [ ":my_java_lib" ] |
| 1212 # } |
| 1213 template("dist_jar") { |
| 1214 if (defined(invoker.override_build_config)) { |
| 1215 _build_config = invoker.override_build_config |
| 1216 } else { |
| 1217 _build_config = "$target_gen_dir/$target_name.build_config" |
| 1218 _build_config_target_name = "${target_name}__build_config" |
| 1219 |
| 1220 write_build_config(_build_config_target_name) { |
| 1221 forward_variables_from(invoker, [ "testonly" ]) |
| 1222 type = "dist_jar" |
| 1223 if (defined(invoker.deps)) { |
| 1224 possible_config_deps = invoker.deps |
| 1225 } |
| 1226 build_config = _build_config |
| 1227 } |
| 1228 } |
| 1229 |
| 1230 action(target_name) { |
| 1231 forward_variables_from(invoker, |
| 1232 [ |
| 1233 "data", |
| 1234 "deps", |
| 1235 "testonly", |
| 1236 "visibility", |
| 1237 ]) |
| 1238 script = "//build/android/gyp/create_dist_jar.py" |
| 1239 depfile = "$target_gen_dir/$target_name.d" |
| 1240 |
| 1241 inputs = [ |
| 1242 _build_config, |
| 1243 ] |
| 1244 |
| 1245 outputs = [ |
| 1246 invoker.output, |
| 1247 ] |
| 1248 |
| 1249 if (defined(_build_config_target_name)) { |
| 1250 deps += [ ":$_build_config_target_name" ] |
| 1251 } |
| 1252 |
| 1253 args = [ |
| 1254 "--depfile", |
| 1255 rebase_path(depfile, root_build_dir), |
| 1256 "--output", |
| 1257 rebase_path(invoker.output, root_build_dir), |
| 1258 ] |
| 1259 |
| 1260 _rebased_build_config = rebase_path(_build_config, root_build_dir) |
| 1261 if (defined(invoker.direct_deps_only) && invoker.direct_deps_only) { |
| 1262 if (defined(invoker.use_interface_jars) && invoker.use_interface_jars) { |
| 1263 args += [ "--inputs=@FileArg($_rebased_build_config:javac:interface_cl
asspath)" ] |
| 1264 } else { |
| 1265 args += |
| 1266 [ "--inputs=@FileArg($_rebased_build_config:javac:classpath)" ] |
| 1267 } |
| 1268 } else { |
| 1269 if (defined(invoker.use_interface_jars) && invoker.use_interface_jars) { |
| 1270 args += [ "--inputs=@FileArg($_rebased_build_config:dist_jar:all_inter
face_jars)" ] |
| 1271 } else { |
| 1272 args += [ "--inputs=@FileArg($_rebased_build_config:dist_jar:dependenc
y_jars)" ] |
| 1273 } |
| 1274 } |
| 1275 } |
| 1276 } |
| 1277 |
1198 # Declare an Android library target | 1278 # Declare an Android library target |
1199 # | 1279 # |
1200 # This target creates an Android library containing java code and Android | 1280 # This target creates an Android library containing java code and Android |
1201 # resources. | 1281 # resources. |
1202 # | 1282 # |
1203 # Variables | 1283 # Variables |
1204 # deps: Specifies the dependencies of this target. Java targets in this list | 1284 # deps: Specifies the dependencies of this target. Java targets in this list |
1205 # will be added to the javac classpath. Android resources in dependencies | 1285 # will be added to the javac classpath. Android resources in dependencies |
1206 # will be used when building this library. | 1286 # will be used when building this library. |
1207 # | 1287 # |
(...skipping 617 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1825 if (emma_coverage && !_emma_never_instrument) { | 1905 if (emma_coverage && !_emma_never_instrument) { |
1826 deps += [ "//third_party/android_tools:emma_device_java" ] | 1906 deps += [ "//third_party/android_tools:emma_device_java" ] |
1827 } | 1907 } |
1828 } | 1908 } |
1829 | 1909 |
1830 # TODO(cjhopman): This is only ever needed to calculate the list of tests to | 1910 # TODO(cjhopman): This is only ever needed to calculate the list of tests to |
1831 # run. See build/android/pylib/instrumentation/test_jar.py. We should be | 1911 # run. See build/android/pylib/instrumentation/test_jar.py. We should be |
1832 # able to just do that calculation at build time instead. | 1912 # able to just do that calculation at build time instead. |
1833 if (defined(invoker.dist_ijar_path)) { | 1913 if (defined(invoker.dist_ijar_path)) { |
1834 _dist_ijar_path = invoker.dist_ijar_path | 1914 _dist_ijar_path = invoker.dist_ijar_path |
1835 action("${_template_name}_dist_ijar") { | 1915 dist_jar("${_template_name}_dist_ijar") { |
1836 script = "//build/android/gyp/create_dist_jar.py" | 1916 override_build_config = _build_config |
1837 depfile = "$target_gen_dir/$target_name.d" | 1917 output = _dist_ijar_path |
1838 inputs = [ | |
1839 _build_config, | |
1840 ] | |
1841 outputs = [ | |
1842 "${_dist_ijar_path}", | |
1843 ] | |
1844 data = [ | 1918 data = [ |
1845 _dist_ijar_path, | 1919 _dist_ijar_path, |
1846 ] | 1920 ] |
1847 args = [ | 1921 use_interface_jars = true |
1848 "--depfile", | |
1849 rebase_path(depfile, root_build_dir), | |
1850 "--output", | |
1851 rebase_path("${_dist_ijar_path}", root_build_dir), | |
1852 "--inputs=@FileArg($_rebased_build_config:dist_jar:all_interface_jars)
", | |
1853 ] | |
1854 deps = [ | 1922 deps = [ |
1855 ":$build_config_target", # Generates the build config file. | 1923 ":$build_config_target", |
1856 ":$java_target", # Generates the jar file. | 1924 ":$java_target", |
1857 ] | 1925 ] |
1858 } | 1926 } |
1859 } | 1927 } |
1860 | 1928 |
1861 if (_proguard_enabled) { | 1929 if (_proguard_enabled) { |
1862 _proguard_configs = [ _generated_proguard_config ] | 1930 _proguard_configs = [ _generated_proguard_config ] |
1863 if (defined(invoker.proguard_configs)) { | 1931 if (defined(invoker.proguard_configs)) { |
1864 _proguard_configs += invoker.proguard_configs | 1932 _proguard_configs += invoker.proguard_configs |
1865 } | 1933 } |
1866 assert(_proguard_configs != []) # Mark as used. | 1934 assert(_proguard_configs != []) # Mark as used. |
(...skipping 974 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2841 # because in practice they seem to contain classes required to be in the | 2909 # because in practice they seem to contain classes required to be in the |
2842 # classpath. | 2910 # classpath. |
2843 deps += _subjar_targets | 2911 deps += _subjar_targets |
2844 } | 2912 } |
2845 if (defined(_res_target_name)) { | 2913 if (defined(_res_target_name)) { |
2846 deps += [ ":$_res_target_name" ] | 2914 deps += [ ":$_res_target_name" ] |
2847 } | 2915 } |
2848 } | 2916 } |
2849 } | 2917 } |
2850 } | 2918 } |
OLD | NEW |