Fix _ImportParser() error if property is imported from oem partition.

The oem partition allows system build.prop to import properties from it
by "import /oem/oem.prop xxxx". An _ImportParser() error was raised on
this case.

BUG: 154171021
Test: 1) "atest --host releasetools_test releasetools_py3_test -c"
      2) On a device who has oem partition, "make dist" and sign its
      target zip file.
Change-Id: I47875bf7a698390e11690150e6516a3064550ca0
Merged-In: I47875bf7a698390e11690150e6516a3064550ca0
This commit is contained in:
Hongguang Chen 2020-05-13 18:05:20 -07:00
parent c599a2708f
commit 96c88287a7
1 changed files with 6 additions and 1 deletions

View File

@ -807,8 +807,13 @@ class PartitionBuildProps(object):
"""Parses the build prop in a given import statement."""
tokens = line.split()
if len(tokens) != 2 or tokens[0] != 'import':
if tokens[0] != 'import' or (len(tokens) != 2 and len(tokens) != 3) :
raise ValueError('Unrecognized import statement {}'.format(line))
if len(tokens) == 3:
logger.info("Import %s from %s, skip", tokens[2], tokens[1])
return {}
import_path = tokens[1]
if not re.match(r'^/{}/.*\.prop$'.format(self.partition), import_path):
raise ValueError('Unrecognized import path {}'.format(line))