[Android] Remove v14 resource verification entirely.
BUG=487391 Review URL: https://codereview.chromium.org/1136273003 Cr-Original-Commit-Position: refs/heads/master@{#330439} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 6edecc8ca40abd2a82edc78f8d51a1b59543cbca
This commit is contained in:
Родитель
f1be04b8eb
Коммит
2e6f299df8
|
@ -231,36 +231,6 @@ def GenerateV14StyleResourcesInDir(input_dir, output_v14_dir):
|
|||
GenerateV14StyleResource(input_filename, output_v14_filename)
|
||||
|
||||
|
||||
def VerifyV14ResourcesInDir(input_dir, resource_type):
|
||||
"""Verify that the resources in input_dir is compatible with v14, i.e., they
|
||||
don't use attributes that cause crashes on certain devices. Print an error if
|
||||
they have."""
|
||||
for input_filename in build_utils.FindInDirectory(input_dir, '*.xml'):
|
||||
exception_message = ('error : ' + input_filename + ' has an RTL attribute, '
|
||||
'i.e., attribute that has "start" or "end" in its name.'
|
||||
' Pre-v17 resources should not include it because it '
|
||||
'can cause crashes on certain devices. Please refer to '
|
||||
'http://crbug.com/243952 for the details.')
|
||||
dom = ParseAndReportErrors(input_filename)
|
||||
if resource_type in ('layout', 'xml'):
|
||||
if GenerateV14LayoutResourceDom(dom, input_filename, False):
|
||||
raise Exception(exception_message)
|
||||
elif resource_type == 'values':
|
||||
if GenerateV14StyleResourceDom(dom, input_filename, False):
|
||||
raise Exception(exception_message)
|
||||
|
||||
|
||||
def AssertNoDeprecatedAttributesInDir(input_dir, resource_type):
|
||||
"""Raises an exception if resources in input_dir have deprecated attributes,
|
||||
e.g., paddingLeft, paddingRight"""
|
||||
for input_filename in build_utils.FindInDirectory(input_dir, '*.xml'):
|
||||
dom = ParseAndReportErrors(input_filename)
|
||||
if resource_type in ('layout', 'xml'):
|
||||
GenerateV14LayoutResourceDom(dom, input_filename)
|
||||
elif resource_type == 'values':
|
||||
GenerateV14StyleResourceDom(dom, input_filename)
|
||||
|
||||
|
||||
def ParseArgs():
|
||||
"""Parses command line options.
|
||||
|
||||
|
@ -275,10 +245,6 @@ def ParseArgs():
|
|||
help='output directory into which '
|
||||
'v14 compatible resources will be generated')
|
||||
parser.add_option('--stamp', help='File to touch on success')
|
||||
parser.add_option('--verify-only', action="store_true", help='Do not generate'
|
||||
' v14 resources. Instead, just verify that the resources are already '
|
||||
"compatible with v14, i.e. they don't use attributes that cause crashes "
|
||||
'on certain devices.')
|
||||
|
||||
options, args = parser.parse_args()
|
||||
|
||||
|
@ -290,7 +256,7 @@ def ParseArgs():
|
|||
build_utils.CheckOptions(options, parser, required=required_options)
|
||||
return options
|
||||
|
||||
def GenerateV14Resources(res_dir, res_v14_dir, verify_only):
|
||||
def GenerateV14Resources(res_dir, res_v14_dir):
|
||||
for name in os.listdir(res_dir):
|
||||
if not os.path.isdir(os.path.join(res_dir, name)):
|
||||
continue
|
||||
|
@ -313,33 +279,27 @@ def GenerateV14Resources(res_dir, res_v14_dir, verify_only):
|
|||
|
||||
input_dir = os.path.abspath(os.path.join(res_dir, name))
|
||||
|
||||
if verify_only:
|
||||
if not api_level_qualifier or int(api_level_qualifier[1:]) < 17:
|
||||
VerifyV14ResourcesInDir(input_dir, resource_type)
|
||||
else:
|
||||
AssertNoDeprecatedAttributesInDir(input_dir, resource_type)
|
||||
else:
|
||||
# We also need to copy the original v17 resource to *-v17 directory
|
||||
# because the generated v14 resource will hide the original resource.
|
||||
output_v14_dir = os.path.join(res_v14_dir, name)
|
||||
output_v17_dir = os.path.join(res_v14_dir, name + '-v17')
|
||||
# We also need to copy the original v17 resource to *-v17 directory
|
||||
# because the generated v14 resource will hide the original resource.
|
||||
output_v14_dir = os.path.join(res_v14_dir, name)
|
||||
output_v17_dir = os.path.join(res_v14_dir, name + '-v17')
|
||||
|
||||
# We only convert layout resources under layout*/, xml*/,
|
||||
# and style resources under values*/.
|
||||
if resource_type in ('layout', 'xml'):
|
||||
if not api_level_qualifier:
|
||||
GenerateV14LayoutResourcesInDir(input_dir, output_v14_dir,
|
||||
output_v17_dir)
|
||||
elif resource_type == 'values':
|
||||
if api_level_qualifier == 'v17':
|
||||
output_qualifiers = qualifiers[:]
|
||||
del output_qualifiers[api_level_qualifier_index]
|
||||
output_v14_dir = os.path.join(res_v14_dir,
|
||||
'-'.join([resource_type] +
|
||||
output_qualifiers))
|
||||
GenerateV14StyleResourcesInDir(input_dir, output_v14_dir)
|
||||
elif not api_level_qualifier:
|
||||
ErrorIfStyleResourceExistsInDir(input_dir)
|
||||
# We only convert layout resources under layout*/, xml*/,
|
||||
# and style resources under values*/.
|
||||
if resource_type in ('layout', 'xml'):
|
||||
if not api_level_qualifier:
|
||||
GenerateV14LayoutResourcesInDir(input_dir, output_v14_dir,
|
||||
output_v17_dir)
|
||||
elif resource_type == 'values':
|
||||
if api_level_qualifier == 'v17':
|
||||
output_qualifiers = qualifiers[:]
|
||||
del output_qualifiers[api_level_qualifier_index]
|
||||
output_v14_dir = os.path.join(res_v14_dir,
|
||||
'-'.join([resource_type] +
|
||||
output_qualifiers))
|
||||
GenerateV14StyleResourcesInDir(input_dir, output_v14_dir)
|
||||
elif not api_level_qualifier:
|
||||
ErrorIfStyleResourceExistsInDir(input_dir)
|
||||
|
||||
def main():
|
||||
options = ParseArgs()
|
||||
|
@ -349,7 +309,7 @@ def main():
|
|||
build_utils.DeleteDirectory(res_v14_dir)
|
||||
build_utils.MakeDirectory(res_v14_dir)
|
||||
|
||||
GenerateV14Resources(options.res_dir, res_v14_dir, options.verify_only)
|
||||
GenerateV14Resources(options.res_dir, res_v14_dir)
|
||||
|
||||
if options.stamp:
|
||||
build_utils.Touch(options.stamp)
|
||||
|
|
|
@ -68,12 +68,6 @@ def ParseArgs(args):
|
|||
parser.add_option('--proguard-file',
|
||||
help='Path to proguard.txt generated file')
|
||||
|
||||
parser.add_option(
|
||||
'--v14-verify-only',
|
||||
action='store_true',
|
||||
help='Do not generate v14 resources. Instead, just verify that the '
|
||||
'resources are already compatible with v14, i.e. they don\'t use '
|
||||
'attributes that cause crashes on certain devices.')
|
||||
parser.add_option(
|
||||
'--v14-skip',
|
||||
action="store_true",
|
||||
|
@ -328,8 +322,7 @@ def main():
|
|||
for resource_dir in input_resource_dirs:
|
||||
generate_v14_compatible_resources.GenerateV14Resources(
|
||||
resource_dir,
|
||||
v14_dir,
|
||||
options.v14_verify_only)
|
||||
v14_dir)
|
||||
|
||||
dep_zips = build_utils.ParseGypList(options.dependencies_res_zips)
|
||||
input_files += dep_zips
|
||||
|
|
|
@ -1100,10 +1100,6 @@ template("process_resources") {
|
|||
]
|
||||
}
|
||||
|
||||
if (defined(invoker.v14_verify_only) && invoker.v14_verify_only) {
|
||||
args += [ "--v14-verify-only" ]
|
||||
}
|
||||
|
||||
if (defined(invoker.v14_skip) && invoker.v14_skip) {
|
||||
args += [ "--v14-skip" ]
|
||||
}
|
||||
|
|
|
@ -523,10 +523,9 @@ template("jinja_template_resources") {
|
|||
# android_manifest: AndroidManifest.xml for this target. Defaults to
|
||||
# //build/android/AndroidManifest.xml.
|
||||
# custom_package: java package for generated .java files.
|
||||
# v14_verify_only: If true, don't generate v14/v17 resources and just verify
|
||||
# that the resources are v14-compliant (see
|
||||
# build/android/gyp/generate_v14_compatible_resources.py). Defaults to
|
||||
# false.
|
||||
# v14_skip: If true, don't run v14 resource generator on this. Defaults to
|
||||
# false. (see build/android/gyp/generate_v14_compatible_resources.py)
|
||||
#
|
||||
# shared_resources: If true make a resource package that can be loaded by a
|
||||
# different application at runtime to access the package's resources.
|
||||
#
|
||||
|
@ -579,10 +578,6 @@ template("android_resources") {
|
|||
custom_package = invoker.custom_package
|
||||
}
|
||||
|
||||
if (defined(invoker.v14_verify_only)) {
|
||||
v14_verify_only = invoker.v14_verify_only
|
||||
}
|
||||
|
||||
if (defined(invoker.v14_skip)) {
|
||||
v14_skip = invoker.v14_skip
|
||||
}
|
||||
|
|
|
@ -70,7 +70,6 @@
|
|||
'res_extra_dirs': [],
|
||||
'res_extra_files': [],
|
||||
'res_v14_skip%': 0,
|
||||
'res_v14_verify_only%': 0,
|
||||
'resource_input_paths': ['>@(res_extra_files)'],
|
||||
'intermediate_dir': '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)',
|
||||
'compile_stamp': '<(intermediate_dir)/compile.stamp',
|
||||
|
@ -161,9 +160,6 @@
|
|||
['res_v14_skip == 1', {
|
||||
'process_resources_options': ['--v14-skip']
|
||||
}],
|
||||
['res_v14_verify_only == 1', {
|
||||
'process_resources_options': ['--v14-verify-only']
|
||||
}],
|
||||
],
|
||||
},
|
||||
'inputs': [
|
||||
|
|
|
@ -139,7 +139,6 @@
|
|||
'symlink_script_device_path': '<(device_intermediate_dir)/create_symlinks.sh',
|
||||
'create_standalone_apk%': 1,
|
||||
'res_v14_skip%': 0,
|
||||
'res_v14_verify_only%': 0,
|
||||
'variables': {
|
||||
'variables': {
|
||||
'native_lib_target%': '',
|
||||
|
@ -608,9 +607,6 @@
|
|||
['res_v14_skip == 1', {
|
||||
'process_resources_options+': ['--v14-skip']
|
||||
}],
|
||||
['res_v14_verify_only == 1', {
|
||||
'process_resources_options+': ['--v14-verify-only']
|
||||
}],
|
||||
['shared_resources == 1', {
|
||||
'process_resources_options+': ['--shared-resources']
|
||||
}],
|
||||
|
|
Загрузка…
Ссылка в новой задаче