gn2bp: Add getSanitizer factory method
* This will return a sanitizer according to the script which the target uses. Test: update_results.sh Change-Id: I0b519ff39c3983c94a804766355b7051320d8961
This commit is contained in:
@@ -618,6 +618,12 @@ def create_proto_group_modules(blueprint, gn, module_name, target_names):
|
|||||||
|
|
||||||
blueprint.add_module(module)
|
blueprint.add_module(module)
|
||||||
|
|
||||||
|
def getSanitizer(target):
|
||||||
|
if target.script == "//build/write_buildflag_header.py":
|
||||||
|
return WriteBuildFlagHeaderSanitizer(target)
|
||||||
|
else:
|
||||||
|
return BaseActionSanitizer(target)
|
||||||
|
|
||||||
|
|
||||||
class BaseActionSanitizer():
|
class BaseActionSanitizer():
|
||||||
def __init__(self, target):
|
def __init__(self, target):
|
||||||
@@ -667,14 +673,13 @@ class BaseActionSanitizer():
|
|||||||
filename = re.sub('^\.\./\.\./', '', filename)
|
filename = re.sub('^\.\./\.\./', '', filename)
|
||||||
|
|
||||||
def get_args(self):
|
def get_args(self):
|
||||||
if self.target.script == "//build/write_buildflag_header.py":
|
|
||||||
# write_buildflag_header.py writes result to args.genDir/args.output
|
|
||||||
# So, override args.genDir by '.' so that args.output=$(out) works
|
|
||||||
self._set_arg_value('--gen-dir', '.')
|
|
||||||
self._set_arg_value('--output', '$(out)')
|
|
||||||
|
|
||||||
return self.target.args
|
return self.target.args
|
||||||
|
|
||||||
|
class WriteBuildFlagHeaderSanitizer(BaseActionSanitizer):
|
||||||
|
def get_args(self):
|
||||||
|
self._set_arg_value('--gen-dir', '.')
|
||||||
|
self._set_arg_value('--output', '$(out)')
|
||||||
|
return super().get_args()
|
||||||
|
|
||||||
def create_action_foreach_modules(blueprint, target):
|
def create_action_foreach_modules(blueprint, target):
|
||||||
""" The following assumes that rebase_path exists in the args.
|
""" The following assumes that rebase_path exists in the args.
|
||||||
@@ -713,7 +718,7 @@ def create_action_module(blueprint, target):
|
|||||||
bp_module_name = label_to_module_name(target.name)
|
bp_module_name = label_to_module_name(target.name)
|
||||||
module = Module('cc_genrule', bp_module_name, target.name)
|
module = Module('cc_genrule', bp_module_name, target.name)
|
||||||
|
|
||||||
sanitizer = BaseActionSanitizer(target)
|
sanitizer = getSanitizer(target)
|
||||||
target.args = sanitizer.get_args()
|
target.args = sanitizer.get_args()
|
||||||
|
|
||||||
if target.script == '//build/write_build_date_header.py':
|
if target.script == '//build/write_build_date_header.py':
|
||||||
|
|||||||
Reference in New Issue
Block a user