Merge changes I545be996,I2bef893e,I8c026cd2
* changes: gn2bp: create single java library from all sources gn2bp: collect java sources gn2bp: be explicit about dropping java_group dependencies
This commit is contained in:
commit
c362e4cdbb
3 changed files with 53 additions and 0 deletions
|
|
@ -1861,6 +1861,34 @@ filegroup {
|
|||
name: "cronet_aml_ipc_param_traits",
|
||||
}
|
||||
|
||||
// GN: //gn:java
|
||||
java_library {
|
||||
name: "cronet_aml_java",
|
||||
srcs: [
|
||||
"//base/android/java/src/org/chromium/base/JniException.java",
|
||||
"//base/android/java/src/org/chromium/base/JniStaticTestMocker.java",
|
||||
"//base/android/java/src/org/chromium/base/NativeLibraryLoadedStatus.java",
|
||||
"//base/android/java/src/org/chromium/base/annotations/AccessedByNative.java",
|
||||
"//base/android/java/src/org/chromium/base/annotations/CalledByNative.java",
|
||||
"//base/android/java/src/org/chromium/base/annotations/CalledByNativeForTesting.java",
|
||||
"//base/android/java/src/org/chromium/base/annotations/CalledByNativeUnchecked.java",
|
||||
"//base/android/java/src/org/chromium/base/annotations/JNIAdditionalImport.java",
|
||||
"//base/android/java/src/org/chromium/base/annotations/JNINamespace.java",
|
||||
"//base/android/java/src/org/chromium/base/annotations/JniIgnoreNatives.java",
|
||||
"//base/android/java/src/org/chromium/base/annotations/NativeClassQualifiedName.java",
|
||||
"//base/android/java/src/org/chromium/base/annotations/NativeMethods.java",
|
||||
"//build/android/java/src/org/chromium/build/annotations/AlwaysInline.java",
|
||||
"//build/android/java/src/org/chromium/build/annotations/CheckDiscard.java",
|
||||
"//build/android/java/src/org/chromium/build/annotations/DoNotClassMerge.java",
|
||||
"//build/android/java/src/org/chromium/build/annotations/DoNotInline.java",
|
||||
"//build/android/java/src/org/chromium/build/annotations/IdentifierNameString.java",
|
||||
"//build/android/java/src/org/chromium/build/annotations/MainDex.java",
|
||||
"//build/android/java/src/org/chromium/build/annotations/MockedInTests.java",
|
||||
"//build/android/java/src/org/chromium/build/annotations/UsedByReflection.java",
|
||||
"//url/android/java/src/org/chromium/url/IDNStringUtil.java",
|
||||
],
|
||||
}
|
||||
|
||||
// GN: //net/base/registry_controlled_domains:registry_controlled_domains
|
||||
genrule {
|
||||
name: "cronet_aml_net_base_registry_controlled_domains_registry_controlled_domains",
|
||||
|
|
|
|||
|
|
@ -1131,6 +1131,11 @@ def create_modules_from_target(blueprint, gn, gn_target_name):
|
|||
|
||||
return module
|
||||
|
||||
def create_java_module(blueprint, gn):
|
||||
bp_module_name = module_prefix + 'java'
|
||||
module = Module('java_library', bp_module_name, '//gn:java')
|
||||
module.srcs.update(gn.java_sources)
|
||||
blueprint.add_module(module)
|
||||
|
||||
def create_blueprint_for_targets(gn, desc, targets):
|
||||
"""Generate a blueprint for a list of GN targets."""
|
||||
|
|
@ -1153,6 +1158,8 @@ def create_blueprint_for_targets(gn, desc, targets):
|
|||
|
||||
for target in targets:
|
||||
create_modules_from_target(blueprint, gn, target)
|
||||
|
||||
create_java_module(blueprint, gn)
|
||||
return blueprint
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -170,6 +170,7 @@ class GnParser(object):
|
|||
self.source_sets = {}
|
||||
self.actions = {}
|
||||
self.proto_libs = {}
|
||||
self.java_sources = set()
|
||||
|
||||
def _get_response_file_contents(self, action_desc):
|
||||
# response_file_contents are formatted as:
|
||||
|
|
@ -291,6 +292,23 @@ class GnParser(object):
|
|||
target.deps.add(dep_name)
|
||||
elif dep.type in LINKER_UNIT_TYPES:
|
||||
target.deps.add(dep_name)
|
||||
elif dep.type == 'java_group':
|
||||
# Explicitly break dependency chain when a java_group is added.
|
||||
# Java sources are collected and eventually compiled as one large
|
||||
# java_library.
|
||||
pass
|
||||
|
||||
# Collect java sources. Java sources are kept inside the __compile_java target.
|
||||
# This target can be used for both host and target compilation; only add
|
||||
# the sources if they are destined for the target (i.e. they are a
|
||||
# dependency of the __dex target)
|
||||
# Note: this skips prebuilt java dependencies. These will have to be
|
||||
# added manually when building the jar.
|
||||
if re.match('.*__dex$', target.name):
|
||||
if re.match('.*__compile_java$', dep.name):
|
||||
log.debug('Adding java sources for %s', dep.name)
|
||||
java_srcs = [src for src in dep.inputs if os.path.splitext(src)[1] == '.java']
|
||||
self.java_sources.update(java_srcs)
|
||||
|
||||
return target
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue