Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(218)

Side by Side Diff: components/cronet/android/BUILD.gn

Issue 2347233002: Add src_files to src_jar GN template (Closed)
Patch Set: Build base_java, net_java, url_java from srcjar. Add support for srsjar_deps to jar_src template. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « base/BUILD.gn ('k') | components/cronet/tools/jar_src.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2015 The Chromium Authors. All rights reserved. 1 # Copyright 2015 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/buildflag_header.gni") 5 import("//build/buildflag_header.gni")
6 import("//build/config/android/config.gni") 6 import("//build/config/android/config.gni")
7 import("//build/config/android/rules.gni") 7 import("//build/config/android/rules.gni")
8 import("//build/util/version.gni") 8 import("//build/util/version.gni")
9 import("//chrome/version.gni") 9 import("//chrome/version.gni")
10 import("//testing/test.gni") 10 import("//testing/test.gni")
11 import("//third_party/protobuf/proto_library.gni") 11 import("//third_party/protobuf/proto_library.gni")
12 import("//url/features.gni") 12 import("//url/features.gni")
13 13
14 assert(!is_component_build, "Cronet requires static library build.") 14 assert(!is_component_build, "Cronet requires static library build.")
15 15
16 declare_args() { 16 declare_args() {
17 cronet_enable_data_reduction_proxy_support = false 17 cronet_enable_data_reduction_proxy_support = false
18 } 18 }
19 19
20 _package_dir = "$root_out_dir/cronet"
21 _extract_cronet_jars_dir = "$target_gen_dir/cronet_jar_extract"
22
20 generate_jni("cronet_jni_headers") { 23 generate_jni("cronet_jni_headers") {
21 sources = [ 24 sources = [
22 "java/src/org/chromium/net/impl/ChromiumUrlRequest.java", 25 "java/src/org/chromium/net/impl/ChromiumUrlRequest.java",
23 "java/src/org/chromium/net/impl/ChromiumUrlRequestContext.java", 26 "java/src/org/chromium/net/impl/ChromiumUrlRequestContext.java",
24 "java/src/org/chromium/net/impl/CronetBidirectionalStream.java", 27 "java/src/org/chromium/net/impl/CronetBidirectionalStream.java",
25 "java/src/org/chromium/net/impl/CronetLibraryLoader.java", 28 "java/src/org/chromium/net/impl/CronetLibraryLoader.java",
26 "java/src/org/chromium/net/impl/CronetUploadDataStream.java", 29 "java/src/org/chromium/net/impl/CronetUploadDataStream.java",
27 "java/src/org/chromium/net/impl/CronetUrlRequest.java", 30 "java/src/org/chromium/net/impl/CronetUrlRequest.java",
28 "java/src/org/chromium/net/impl/CronetUrlRequestContext.java", 31 "java/src/org/chromium/net/impl/CronetUrlRequestContext.java",
29 ] 32 ]
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 276
274 # Avoid hide_native_jni_exports as it adds another version script, and the 277 # Avoid hide_native_jni_exports as it adds another version script, and the
275 # ARM64 linker throws an error for multiple version scripts with anonymous 278 # ARM64 linker throws an error for multiple version scripts with anonymous
276 # version tags. 279 # version tags.
277 configs -= [ "//build/config/android:hide_native_jni_exports" ] 280 configs -= [ "//build/config/android:hide_native_jni_exports" ]
278 } 281 }
279 282
280 # cronet_api.jar defines Cronet API and provides implementation of 283 # cronet_api.jar defines Cronet API and provides implementation of
281 # legacy api using HttpUrlConnection (not the Chromium stack). 284 # legacy api using HttpUrlConnection (not the Chromium stack).
282 android_library("cronet_api") { 285 android_library("cronet_api") {
283 java_files = [
284 "api/src/org/chromium/net/BidirectionalStream.java",
285 "api/src/org/chromium/net/ChunkedWritableByteChannel.java",
286 "api/src/org/chromium/net/CronetEngine.java",
287 "api/src/org/chromium/net/CronetException.java",
288 "api/src/org/chromium/net/HttpUrlConnectionUrlRequest.java",
289 "api/src/org/chromium/net/HttpUrlConnectionUrlRequestFactory.java",
290 "api/src/org/chromium/net/HttpUrlRequest.java",
291 "api/src/org/chromium/net/HttpUrlRequestFactory.java",
292 "api/src/org/chromium/net/HttpUrlRequestListener.java",
293 "api/src/org/chromium/net/InlineExecutionProhibitedException.java",
294 "api/src/org/chromium/net/InputStreamChannel.java",
295 "api/src/org/chromium/net/JavaCronetEngine.java",
296 "api/src/org/chromium/net/JavaUrlRequest.java",
297 "api/src/org/chromium/net/NetworkQualityRttListener.java",
298 "api/src/org/chromium/net/NetworkQualityThroughputListener.java",
299 "api/src/org/chromium/net/Preconditions.java",
300 "api/src/org/chromium/net/QuicException.java",
301 "api/src/org/chromium/net/RequestFinishedInfo.java",
302 "api/src/org/chromium/net/ResponseTooLargeException.java",
303 "api/src/org/chromium/net/UploadDataProvider.java",
304 "api/src/org/chromium/net/UploadDataProviders.java",
305 "api/src/org/chromium/net/UploadDataSink.java",
306 "api/src/org/chromium/net/UrlRequest.java",
307 "api/src/org/chromium/net/UrlRequestException.java",
308 "api/src/org/chromium/net/UrlResponseInfo.java",
309 "api/src/org/chromium/net/UserAgent.java",
310 ]
311
312 deps = [ 286 deps = [
287 ":jar_cronet_api_source",
313 "//third_party/android_tools:android_support_annotations_java", 288 "//third_party/android_tools:android_support_annotations_java",
314 ] 289 ]
315 290
316 srcjar_deps = [ 291 srcjar_deps = [
317 ":cronet_api_version_srcjar", 292 ":cronet_api_version_srcjar",
318 ":effective_connection_type_java",
319 ":http_cache_type_java", 293 ":http_cache_type_java",
320 ":url_request_error_java", 294 ":url_request_error_java",
321 ":load_states_list", 295 ":load_states_list",
322 ":network_quality_observation_source_java", 296 ":network_quality_observation_source_java",
323 ] 297 ]
324 298
299 srcjars = [ "$_package_dir/cronet_api-src.jar" ]
300
325 run_findbugs_override = true 301 run_findbugs_override = true
326 } 302 }
327 303
328 android_library("cronet_java") { 304 android_library("cronet_java") {
329 java_files = [ 305 java_files = [
330 "java/src/org/chromium/net/impl/ChromiumUrlRequest.java", 306 "java/src/org/chromium/net/impl/ChromiumUrlRequest.java",
331 "java/src/org/chromium/net/impl/ChromiumUrlRequestContext.java", 307 "java/src/org/chromium/net/impl/ChromiumUrlRequestContext.java",
332 "java/src/org/chromium/net/impl/ChromiumUrlRequestFactory.java", 308 "java/src/org/chromium/net/impl/ChromiumUrlRequestFactory.java",
333 "java/src/org/chromium/net/impl/CronetBidirectionalStream.java", 309 "java/src/org/chromium/net/impl/CronetBidirectionalStream.java",
334 "java/src/org/chromium/net/impl/CronetLibraryLoader.java", 310 "java/src/org/chromium/net/impl/CronetLibraryLoader.java",
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after
742 "//net", 718 "//net",
743 "//net:test_support", 719 "//net:test_support",
744 "//testing/gtest", 720 "//testing/gtest",
745 ] 721 ]
746 722
747 if (is_android) { 723 if (is_android) {
748 shard_timeout = 180 724 shard_timeout = 180
749 } 725 }
750 } 726 }
751 727
752 _package_dir = "$root_out_dir/cronet"
753 _extract_cronet_jars_dir = "$target_gen_dir/cronet_jar_extract"
754
755 action("extract_cronet_jars") { 728 action("extract_cronet_jars") {
756 # extract_from_jars.py deletes the target directory before extracting. 729 # extract_from_jars.py deletes the target directory before extracting.
757 script = "//components/cronet/tools/extract_from_jars.py" 730 script = "//components/cronet/tools/extract_from_jars.py"
758 depfile = "$target_gen_dir/$target_name.d" 731 depfile = "$target_gen_dir/$target_name.d"
759 732
760 sources = [ 733 sources = [
761 "$root_out_dir/lib.java/base/base_java.jar", 734 "$root_out_dir/lib.java/base/base_java.jar",
762 "$root_out_dir/lib.java/components/cronet/android/cronet_java.jar", 735 "$root_out_dir/lib.java/components/cronet/android/cronet_java.jar",
763 "$root_out_dir/lib.java/net/android/net_java.jar", 736 "$root_out_dir/lib.java/net/android/net_java.jar",
764 "$root_out_dir/lib.java/url/url_java.jar", 737 "$root_out_dir/lib.java/url/url_java.jar",
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 rebase_path(_output_jar, root_build_dir), 777 rebase_path(_output_jar, root_build_dir),
805 ] 778 ]
806 779
807 deps = [ 780 deps = [
808 ":extract_cronet_jars", 781 ":extract_cronet_jars",
809 ] 782 ]
810 } 783 }
811 784
812 template("jar_src") { 785 template("jar_src") {
813 action(target_name) { 786 action(target_name) {
814 _rebased_src_dirs = rebase_path(invoker.src_dirs, root_build_dir) 787 _rebased_src_search_dirs =
788 rebase_path(invoker.src_search_dirs, root_build_dir)
815 789
816 script = "//components/cronet/tools/jar_src.py" 790 script = "//components/cronet/tools/jar_src.py"
817 depfile = "$target_gen_dir/$target_name.d" 791 depfile = "$target_gen_dir/$target_name.d"
818 outputs = [ 792 outputs = [
819 invoker.jar_path, 793 invoker.jar_path,
820 ] 794 ]
821 args = [ 795 args = [
822 "--src-dir=${_rebased_src_dirs}", 796 "--src-search-dirs=${_rebased_src_search_dirs}",
797 "--src-files=${invoker.src_files}",
823 "--jar-path", 798 "--jar-path",
824 rebase_path(invoker.jar_path, root_build_dir), 799 rebase_path(invoker.jar_path, root_build_dir),
825 "--depfile", 800 "--depfile",
826 rebase_path(depfile, root_build_dir), 801 rebase_path(depfile, root_build_dir),
827 ] 802 ]
828 803
804 deps = []
805 if (defined(invoker.deps)) {
806 deps += invoker.deps
807 }
808
809 _src_jars = []
810
811 # Add src jar files that explicitly listed in "src_jars" attribute.
829 if (defined(invoker.src_jars)) { 812 if (defined(invoker.src_jars)) {
830 inputs = invoker.src_jars 813 inputs = invoker.src_jars
831 _rebased_src_jars = rebase_path(invoker.src_jars, root_build_dir) 814 _rebased_src_jars = rebase_path(invoker.src_jars, root_build_dir)
832 args += [ "--src-jar=${_rebased_src_jars}" ] 815 _src_jars += _rebased_src_jars
833 } 816 }
834 deps = [ 817
835 ":effective_connection_type_java", 818 # Add src jars that are implicitly listed through "srcjar_deps" attribute.
836 ] 819 if (defined(invoker.srcjar_deps)) {
820 foreach(srcjar_dep, invoker.srcjar_deps) {
821 _dep_gen_dir = get_label_info(srcjar_dep, "target_gen_dir")
822 _dep_name = get_label_info(srcjar_dep, "name")
823 _src_jars += rebase_path([ "$_dep_gen_dir/$_dep_name.srcjar" ])
824 deps += [ srcjar_dep ]
825 }
826 }
827
828 args += [ "--src-jar=${_src_jars}" ]
837 } 829 }
838 } 830 }
839 831
840 jar_src("jar_cronet_api_source") { 832 jar_src("jar_cronet_api_source") {
841 src_dirs = [ "api/src" ] 833 src_search_dirs = [ "api/src" ]
834 src_files = [
835 "org/chromium/net/BidirectionalStream.java",
836 "org/chromium/net/ChunkedWritableByteChannel.java",
837 "org/chromium/net/CronetEngine.java",
838 "org/chromium/net/CronetException.java",
839 "org/chromium/net/HttpUrlConnectionUrlRequestFactory.java",
840 "org/chromium/net/HttpUrlConnectionUrlRequest.java",
841 "org/chromium/net/HttpUrlRequestFactory.java",
842 "org/chromium/net/HttpUrlRequest.java",
843 "org/chromium/net/HttpUrlRequestListener.java",
844 "org/chromium/net/InlineExecutionProhibitedException.java",
845 "org/chromium/net/InputStreamChannel.java",
846 "org/chromium/net/JavaCronetEngine.java",
847 "org/chromium/net/JavaUrlRequest.java",
848 "org/chromium/net/NetworkQualityRttListener.java",
849 "org/chromium/net/NetworkQualityThroughputListener.java",
850 "org/chromium/net/Preconditions.java",
851 "org/chromium/net/QuicException.java",
852 "org/chromium/net/RequestFinishedInfo.java",
853 "org/chromium/net/ResponseTooLargeException.java",
854 "org/chromium/net/UploadDataProvider.java",
855 "org/chromium/net/UploadDataProviders.java",
856 "org/chromium/net/UploadDataSink.java",
857 "org/chromium/net/UrlRequestException.java",
858 "org/chromium/net/UrlRequest.java",
859 "org/chromium/net/UrlResponseInfo.java",
860 "org/chromium/net/UserAgent.java",
861 ]
842 862
843 # Include generated Java files which should be a part of the API. 863 # Include generated Java files which should be a part of the API.
844 src_jars = [ "$root_gen_dir/components/cronet/android/effective_connection_typ e_java.srcjar" ] 864 src_jars = [ "$root_gen_dir/components/cronet/android/effective_connection_typ e_java.srcjar" ]
845 jar_path = "$_package_dir/cronet_api-src.jar" 865 jar_path = "$_package_dir/cronet_api-src.jar"
866 deps = [
867 ":effective_connection_type_java",
868 ]
846 } 869 }
847 870
848 jar_src("jar_cronet_sample_source") { 871 jar_src("jar_cronet_sample_source") {
849 src_dirs = [ "sample" ] 872 src_search_dirs = [ "sample" ]
873 src_files = [
874 "AndroidManifest.xml",
875 "javatests/AndroidManifest.xml",
876 "javatests/proguard.cfg",
877 "javatests/src/org/chromium/cronet_sample_apk/Criteria.java",
878 "javatests/src/org/chromium/cronet_sample_apk/CronetSampleTest.java",
879 "README",
880 "res/layout/activity_main.xml",
881 "res/layout/dialog_url.xml",
882 "res/values/dimens.xml",
883 "res/values/strings.xml",
884 "src/org/chromium/cronet_sample_apk/CronetSampleActivity.java",
885 "src/org/chromium/cronet_sample_apk/CronetSampleApplication.java",
886 ]
850 jar_path = "$_package_dir/cronet-sample-src.jar" 887 jar_path = "$_package_dir/cronet-sample-src.jar"
851 } 888 }
852 889
853 jar_src("jar_cronet_other_source") { 890 jar_src("jar_cronet_other_source") {
854 src_dirs = [ 891 src_search_dirs = [
855 "//base/android/java/src",
856 "//components/cronet/android/java/src", 892 "//components/cronet/android/java/src",
857 "//net/android/java/src",
858 "//url/android/java/src", 893 "//url/android/java/src",
xunjieli 2016/09/19 19:43:53 no longer needed?
kapishnikov 2016/09/19 19:54:23 Good catch. Removed.
859 ] 894 ]
895 src_files = [
896 "org/chromium/net/impl/ChromiumUrlRequestContext.java",
897 "org/chromium/net/impl/ChromiumUrlRequestFactory.java",
898 "org/chromium/net/impl/ChromiumUrlRequest.java",
899 "org/chromium/net/impl/CronetBidirectionalStream.java",
900 "org/chromium/net/impl/CronetLibraryLoader.java",
901 "org/chromium/net/impl/CronetUploadDataStream.java",
902 "org/chromium/net/impl/CronetUrlRequestContext.java",
903 "org/chromium/net/impl/CronetUrlRequest.java",
904 "org/chromium/net/urlconnection/CronetBufferedOutputStream.java",
905 "org/chromium/net/urlconnection/CronetChunkedOutputStream.java",
906 "org/chromium/net/urlconnection/CronetFixedModeOutputStream.java",
907 "org/chromium/net/urlconnection/CronetHttpURLConnection.java",
908 "org/chromium/net/urlconnection/CronetHttpURLStreamHandler.java",
909 "org/chromium/net/urlconnection/CronetInputStream.java",
910 "org/chromium/net/urlconnection/CronetOutputStream.java",
911 "org/chromium/net/urlconnection/CronetURLStreamHandlerFactory.java",
912 "org/chromium/net/urlconnection/MessageLoop.java",
913 "org/chromium/url/IDNStringUtil.java",
xunjieli 2016/09/19 19:43:53 no longer needed?
kapishnikov 2016/09/19 19:54:23 Removed.
914 ]
860 jar_path = "$_package_dir/cronet-src.jar" 915 jar_path = "$_package_dir/cronet-src.jar"
916 srcjar_deps = [
917 "//base:base_java_srcjar",
918 "//net/android:net_java_srcjar",
919 "//url:url_java_srcjar",
920 ]
861 } 921 }
862 922
863 action("generate_licenses") { 923 action("generate_licenses") {
864 _license_path = "$_package_dir/LICENSE" 924 _license_path = "$_package_dir/LICENSE"
865 925
866 script = "//components/cronet/tools/cronet_licenses.py" 926 script = "//components/cronet/tools/cronet_licenses.py"
867 outputs = [ 927 outputs = [
868 _license_path, 928 _license_path,
869 ] 929 ]
870 args = [ 930 args = [
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
998 ":jar_cronet_api_source", 1058 ":jar_cronet_api_source",
999 ":jar_cronet_other_source", 1059 ":jar_cronet_other_source",
1000 ":jar_cronet_sample_source", 1060 ":jar_cronet_sample_source",
1001 ":repackage_extracted_jars", 1061 ":repackage_extracted_jars",
1002 ] 1062 ]
1003 if (current_cpu == "arm" && arm_version == 7) { 1063 if (current_cpu == "arm" && arm_version == 7) {
1004 deps += [ ":enforce_no_neon" ] 1064 deps += [ ":enforce_no_neon" ]
1005 } 1065 }
1006 } 1066 }
1007 } 1067 }
OLDNEW
« no previous file with comments | « base/BUILD.gn ('k') | components/cronet/tools/jar_src.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698