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