Android: Apply jar_included_patterns to .jar.info files
It already had jar_excluded_patterns, but not jar_included_patterns. This should fix SuperSize attributing size to JNI Zero placeholder srcjars. Bug: 399437822 Change-Id: I4af5fe1d45bc74ac61d3d142cf235506aa80543a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6333301 Auto-Submit: Andrew Grieve <agrieve@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Andrew Grieve <agrieve@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Cr-Commit-Position: refs/heads/main@{#1429629}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
a2b7de5749
commit
67d3698897
build
@ -155,9 +155,10 @@ def ParseJavaSource(data, services_map, path=None):
|
||||
|
||||
class _MetadataParser:
|
||||
|
||||
def __init__(self, chromium_code, excluded_globs):
|
||||
def __init__(self, chromium_code, exclude_globs, include_globs):
|
||||
self._chromium_code = chromium_code
|
||||
self._excluded_globs = excluded_globs
|
||||
self._exclude_globs = exclude_globs
|
||||
self._include_globs = include_globs
|
||||
# Map of .java path -> .srcjar/nested/path.java.
|
||||
self._srcjar_files = {}
|
||||
# Map of @ServiceImpl class -> impl class
|
||||
@ -196,7 +197,10 @@ class _MetadataParser:
|
||||
|
||||
def _ShouldIncludeInJarInfo(self, fully_qualified_name):
|
||||
name_as_class_glob = fully_qualified_name.replace('.', '/') + '.class'
|
||||
return not build_utils.MatchesGlob(name_as_class_glob, self._excluded_globs)
|
||||
if self._include_globs and not build_utils.MatchesGlob(
|
||||
name_as_class_glob, self._include_globs):
|
||||
return False
|
||||
return not build_utils.MatchesGlob(name_as_class_glob, self._exclude_globs)
|
||||
|
||||
def ParseAndWriteInfoFile(self, output_path, java_files, kt_files=None):
|
||||
"""Writes a .jar.info file.
|
||||
@ -340,7 +344,8 @@ def _RunCompiler(changes,
|
||||
build_utils.DeleteDirectory(temp_dir)
|
||||
os.makedirs(temp_dir)
|
||||
metadata_parser = _MetadataParser(options.chromium_code,
|
||||
options.jar_info_exclude_globs)
|
||||
options.jar_info_exclude_globs,
|
||||
options.jar_info_include_globs)
|
||||
try:
|
||||
classes_dir = os.path.join(temp_dir, 'classes')
|
||||
|
||||
@ -494,6 +499,9 @@ def _ParseOptions(argv):
|
||||
parser.add_argument(
|
||||
'--jar-info-exclude-globs',
|
||||
help='GN list of exclude globs to filter from generated .info files.')
|
||||
parser.add_argument(
|
||||
'--jar-info-include-globs',
|
||||
help='GN list of inlclude globs to filter from generated .info files.')
|
||||
parser.add_argument(
|
||||
'--chromium-code',
|
||||
action='store_true',
|
||||
@ -532,6 +540,8 @@ def _ParseOptions(argv):
|
||||
options.java_srcjars = action_helpers.parse_gn_list(options.java_srcjars)
|
||||
options.jar_info_exclude_globs = action_helpers.parse_gn_list(
|
||||
options.jar_info_exclude_globs)
|
||||
options.jar_info_include_globs = action_helpers.parse_gn_list(
|
||||
options.jar_info_include_globs)
|
||||
|
||||
additional_jar_files = []
|
||||
for arg in options.additional_jar_files or []:
|
||||
@ -644,8 +654,10 @@ def main(argv,
|
||||
input_paths += [x[0] for x in options.additional_jar_files]
|
||||
|
||||
input_strings = (
|
||||
javac_cmd + javac_args + options.classpath + java_files + kt_files +
|
||||
[options.warnings_as_errors, options.jar_info_exclude_globs])
|
||||
javac_cmd + javac_args + options.classpath + java_files + kt_files + [
|
||||
options.warnings_as_errors, options.jar_info_exclude_globs,
|
||||
options.jar_info_include_globs
|
||||
])
|
||||
|
||||
# Use md5_check for |pass_changes| feature.
|
||||
md5_check.CallAndWriteDepfileIfStale(do_it,
|
||||
|
@ -3254,6 +3254,9 @@ if (enable_java_templates) {
|
||||
if (defined(invoker.jar_excluded_patterns)) {
|
||||
args += [ "--jar-info-exclude-globs=${invoker.jar_excluded_patterns}" ]
|
||||
}
|
||||
if (defined(invoker.jar_included_patterns)) {
|
||||
args += [ "--jar-info-include-globs=${invoker.jar_included_patterns}" ]
|
||||
}
|
||||
|
||||
if (invoker.enable_errorprone) {
|
||||
# Our custom plugin pulls in the main errorprone dep transitively.
|
||||
|
Reference in New Issue
Block a user