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

Unified 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/BUILD.gn ('k') | components/cronet/tools/jar_src.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/cronet/android/BUILD.gn
diff --git a/components/cronet/android/BUILD.gn b/components/cronet/android/BUILD.gn
index b9ff617d5dc00928f9d3119a9ac052617e3c2228..0c885ea207d21af96ceb3245111ecb612843f3ca 100644
--- a/components/cronet/android/BUILD.gn
+++ b/components/cronet/android/BUILD.gn
@@ -17,6 +17,9 @@ declare_args() {
cronet_enable_data_reduction_proxy_support = false
}
+_package_dir = "$root_out_dir/cronet"
+_extract_cronet_jars_dir = "$target_gen_dir/cronet_jar_extract"
+
generate_jni("cronet_jni_headers") {
sources = [
"java/src/org/chromium/net/impl/ChromiumUrlRequest.java",
@@ -280,48 +283,21 @@ shared_library("cronet") {
# cronet_api.jar defines Cronet API and provides implementation of
# legacy api using HttpUrlConnection (not the Chromium stack).
android_library("cronet_api") {
- java_files = [
- "api/src/org/chromium/net/BidirectionalStream.java",
- "api/src/org/chromium/net/ChunkedWritableByteChannel.java",
- "api/src/org/chromium/net/CronetEngine.java",
- "api/src/org/chromium/net/CronetException.java",
- "api/src/org/chromium/net/HttpUrlConnectionUrlRequest.java",
- "api/src/org/chromium/net/HttpUrlConnectionUrlRequestFactory.java",
- "api/src/org/chromium/net/HttpUrlRequest.java",
- "api/src/org/chromium/net/HttpUrlRequestFactory.java",
- "api/src/org/chromium/net/HttpUrlRequestListener.java",
- "api/src/org/chromium/net/InlineExecutionProhibitedException.java",
- "api/src/org/chromium/net/InputStreamChannel.java",
- "api/src/org/chromium/net/JavaCronetEngine.java",
- "api/src/org/chromium/net/JavaUrlRequest.java",
- "api/src/org/chromium/net/NetworkQualityRttListener.java",
- "api/src/org/chromium/net/NetworkQualityThroughputListener.java",
- "api/src/org/chromium/net/Preconditions.java",
- "api/src/org/chromium/net/QuicException.java",
- "api/src/org/chromium/net/RequestFinishedInfo.java",
- "api/src/org/chromium/net/ResponseTooLargeException.java",
- "api/src/org/chromium/net/UploadDataProvider.java",
- "api/src/org/chromium/net/UploadDataProviders.java",
- "api/src/org/chromium/net/UploadDataSink.java",
- "api/src/org/chromium/net/UrlRequest.java",
- "api/src/org/chromium/net/UrlRequestException.java",
- "api/src/org/chromium/net/UrlResponseInfo.java",
- "api/src/org/chromium/net/UserAgent.java",
- ]
-
deps = [
+ ":jar_cronet_api_source",
"//third_party/android_tools:android_support_annotations_java",
]
srcjar_deps = [
":cronet_api_version_srcjar",
- ":effective_connection_type_java",
":http_cache_type_java",
":url_request_error_java",
":load_states_list",
":network_quality_observation_source_java",
]
+ srcjars = [ "$_package_dir/cronet_api-src.jar" ]
+
run_findbugs_override = true
}
@@ -749,9 +725,6 @@ test("cronet_unittests") {
}
}
-_package_dir = "$root_out_dir/cronet"
-_extract_cronet_jars_dir = "$target_gen_dir/cronet_jar_extract"
-
action("extract_cronet_jars") {
# extract_from_jars.py deletes the target directory before extracting.
script = "//components/cronet/tools/extract_from_jars.py"
@@ -811,7 +784,8 @@ action("repackage_extracted_jars") {
template("jar_src") {
action(target_name) {
- _rebased_src_dirs = rebase_path(invoker.src_dirs, root_build_dir)
+ _rebased_src_search_dirs =
+ rebase_path(invoker.src_search_dirs, root_build_dir)
script = "//components/cronet/tools/jar_src.py"
depfile = "$target_gen_dir/$target_name.d"
@@ -819,45 +793,131 @@ template("jar_src") {
invoker.jar_path,
]
args = [
- "--src-dir=${_rebased_src_dirs}",
+ "--src-search-dirs=${_rebased_src_search_dirs}",
+ "--src-files=${invoker.src_files}",
"--jar-path",
rebase_path(invoker.jar_path, root_build_dir),
"--depfile",
rebase_path(depfile, root_build_dir),
]
+ deps = []
+ if (defined(invoker.deps)) {
+ deps += invoker.deps
+ }
+
+ _src_jars = []
+
+ # Add src jar files that explicitly listed in "src_jars" attribute.
if (defined(invoker.src_jars)) {
inputs = invoker.src_jars
_rebased_src_jars = rebase_path(invoker.src_jars, root_build_dir)
- args += [ "--src-jar=${_rebased_src_jars}" ]
+ _src_jars += _rebased_src_jars
}
- deps = [
- ":effective_connection_type_java",
- ]
+
+ # Add src jars that are implicitly listed through "srcjar_deps" attribute.
+ if (defined(invoker.srcjar_deps)) {
+ foreach(srcjar_dep, invoker.srcjar_deps) {
+ _dep_gen_dir = get_label_info(srcjar_dep, "target_gen_dir")
+ _dep_name = get_label_info(srcjar_dep, "name")
+ _src_jars += rebase_path([ "$_dep_gen_dir/$_dep_name.srcjar" ])
+ deps += [ srcjar_dep ]
+ }
+ }
+
+ args += [ "--src-jar=${_src_jars}" ]
}
}
jar_src("jar_cronet_api_source") {
- src_dirs = [ "api/src" ]
+ src_search_dirs = [ "api/src" ]
+ src_files = [
+ "org/chromium/net/BidirectionalStream.java",
+ "org/chromium/net/ChunkedWritableByteChannel.java",
+ "org/chromium/net/CronetEngine.java",
+ "org/chromium/net/CronetException.java",
+ "org/chromium/net/HttpUrlConnectionUrlRequestFactory.java",
+ "org/chromium/net/HttpUrlConnectionUrlRequest.java",
+ "org/chromium/net/HttpUrlRequestFactory.java",
+ "org/chromium/net/HttpUrlRequest.java",
+ "org/chromium/net/HttpUrlRequestListener.java",
+ "org/chromium/net/InlineExecutionProhibitedException.java",
+ "org/chromium/net/InputStreamChannel.java",
+ "org/chromium/net/JavaCronetEngine.java",
+ "org/chromium/net/JavaUrlRequest.java",
+ "org/chromium/net/NetworkQualityRttListener.java",
+ "org/chromium/net/NetworkQualityThroughputListener.java",
+ "org/chromium/net/Preconditions.java",
+ "org/chromium/net/QuicException.java",
+ "org/chromium/net/RequestFinishedInfo.java",
+ "org/chromium/net/ResponseTooLargeException.java",
+ "org/chromium/net/UploadDataProvider.java",
+ "org/chromium/net/UploadDataProviders.java",
+ "org/chromium/net/UploadDataSink.java",
+ "org/chromium/net/UrlRequestException.java",
+ "org/chromium/net/UrlRequest.java",
+ "org/chromium/net/UrlResponseInfo.java",
+ "org/chromium/net/UserAgent.java",
+ ]
# Include generated Java files which should be a part of the API.
src_jars = [ "$root_gen_dir/components/cronet/android/effective_connection_type_java.srcjar" ]
jar_path = "$_package_dir/cronet_api-src.jar"
+ deps = [
+ ":effective_connection_type_java",
+ ]
}
jar_src("jar_cronet_sample_source") {
- src_dirs = [ "sample" ]
+ src_search_dirs = [ "sample" ]
+ src_files = [
+ "AndroidManifest.xml",
+ "javatests/AndroidManifest.xml",
+ "javatests/proguard.cfg",
+ "javatests/src/org/chromium/cronet_sample_apk/Criteria.java",
+ "javatests/src/org/chromium/cronet_sample_apk/CronetSampleTest.java",
+ "README",
+ "res/layout/activity_main.xml",
+ "res/layout/dialog_url.xml",
+ "res/values/dimens.xml",
+ "res/values/strings.xml",
+ "src/org/chromium/cronet_sample_apk/CronetSampleActivity.java",
+ "src/org/chromium/cronet_sample_apk/CronetSampleApplication.java",
+ ]
jar_path = "$_package_dir/cronet-sample-src.jar"
}
jar_src("jar_cronet_other_source") {
- src_dirs = [
- "//base/android/java/src",
+ src_search_dirs = [
"//components/cronet/android/java/src",
- "//net/android/java/src",
"//url/android/java/src",
xunjieli 2016/09/19 19:43:53 no longer needed?
kapishnikov 2016/09/19 19:54:23 Good catch. Removed.
]
+ src_files = [
+ "org/chromium/net/impl/ChromiumUrlRequestContext.java",
+ "org/chromium/net/impl/ChromiumUrlRequestFactory.java",
+ "org/chromium/net/impl/ChromiumUrlRequest.java",
+ "org/chromium/net/impl/CronetBidirectionalStream.java",
+ "org/chromium/net/impl/CronetLibraryLoader.java",
+ "org/chromium/net/impl/CronetUploadDataStream.java",
+ "org/chromium/net/impl/CronetUrlRequestContext.java",
+ "org/chromium/net/impl/CronetUrlRequest.java",
+ "org/chromium/net/urlconnection/CronetBufferedOutputStream.java",
+ "org/chromium/net/urlconnection/CronetChunkedOutputStream.java",
+ "org/chromium/net/urlconnection/CronetFixedModeOutputStream.java",
+ "org/chromium/net/urlconnection/CronetHttpURLConnection.java",
+ "org/chromium/net/urlconnection/CronetHttpURLStreamHandler.java",
+ "org/chromium/net/urlconnection/CronetInputStream.java",
+ "org/chromium/net/urlconnection/CronetOutputStream.java",
+ "org/chromium/net/urlconnection/CronetURLStreamHandlerFactory.java",
+ "org/chromium/net/urlconnection/MessageLoop.java",
+ "org/chromium/url/IDNStringUtil.java",
xunjieli 2016/09/19 19:43:53 no longer needed?
kapishnikov 2016/09/19 19:54:23 Removed.
+ ]
jar_path = "$_package_dir/cronet-src.jar"
+ srcjar_deps = [
+ "//base:base_java_srcjar",
+ "//net/android:net_java_srcjar",
+ "//url:url_java_srcjar",
+ ]
}
action("generate_licenses") {
« 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