gn2bp: add throw_if_absent parameter to some helper functions
This is much more explicit and should hopefully help us catch errors / upstream changes early. Test: none Change-Id: I4379bbf35d64c5f922a34cdd2f24c6bf03983a94
This commit is contained in:
@@ -651,26 +651,28 @@ class BaseActionSanitizer():
|
|||||||
i = self.target.args.index(arg)
|
i = self.target.args.index(arg)
|
||||||
return self.target.args[i + 1]
|
return self.target.args[i + 1]
|
||||||
|
|
||||||
def _set_value_arg(self, arg, value):
|
# used to check whether a function call should cause an error when an arg is
|
||||||
# Fail silently
|
# missing.
|
||||||
if not self._has_arg(arg):
|
def _should_fail_silently(self, arg, throw_if_absent):
|
||||||
|
return not throw_if_absent and not self._has_arg(arg)
|
||||||
|
|
||||||
|
def _set_value_arg(self, arg, value, throw_if_absent = True):
|
||||||
|
if self._should_fail_silently(arg, throw_if_absent):
|
||||||
return
|
return
|
||||||
assert(self._is_value_arg(arg))
|
assert(self._is_value_arg(arg))
|
||||||
i = self.target.args.index(arg)
|
i = self.target.args.index(arg)
|
||||||
self.target.args[i + 1] = value
|
self.target.args[i + 1] = value
|
||||||
|
|
||||||
def _update_value_arg(self, arg, func):
|
def _update_value_arg(self, arg, func, throw_if_absent = True):
|
||||||
# Fail silently
|
if self._should_fail_silently(arg, throw_if_absent):
|
||||||
if not self._has_arg(arg):
|
|
||||||
return
|
return
|
||||||
self._set_value_arg(arg, func(self._get_value_arg(arg)))
|
self._set_value_arg(arg, func(self._get_value_arg(arg)))
|
||||||
|
|
||||||
def _set_arg_at(self, position, value):
|
def _set_arg_at(self, position, value):
|
||||||
self.target.args[position] = value
|
self.target.args[position] = value
|
||||||
|
|
||||||
def _delete_arg(self, arg):
|
def _delete_arg(self, arg, throw_if_absent = True):
|
||||||
# Fail silently
|
if self._should_fail_silently(arg, throw_if_absent):
|
||||||
if not self._has_arg(arg):
|
|
||||||
return
|
return
|
||||||
assert(not self._is_list_arg(arg))
|
assert(not self._is_list_arg(arg))
|
||||||
hasValue = self._is_value_arg(arg)
|
hasValue = self._is_value_arg(arg)
|
||||||
@@ -712,13 +714,13 @@ class WriteBuildFlagHeaderSanitizer(BaseActionSanitizer):
|
|||||||
|
|
||||||
class JniGeneratorSanitizer(BaseActionSanitizer):
|
class JniGeneratorSanitizer(BaseActionSanitizer):
|
||||||
def get_args(self):
|
def get_args(self):
|
||||||
self._update_value_arg('--jar_file', self._sanitize_filepath)
|
self._update_value_arg('--jar_file', self._sanitize_filepath, False)
|
||||||
self._update_value_arg('--jar_file', self._add_location_tag)
|
self._update_value_arg('--jar_file', self._add_location_tag, False)
|
||||||
if self._has_arg('--jar_file'):
|
if self._has_arg('--jar_file'):
|
||||||
self._append_arg('--javap', '$$(find out/.path -name javap)')
|
self._append_arg('--javap', '$$(find out/.path -name javap)')
|
||||||
self._update_value_arg('--output_dir', self._sanitize_filepath)
|
self._update_value_arg('--output_dir', self._sanitize_filepath)
|
||||||
self._update_value_arg('--includes', self._sanitize_filepath)
|
self._update_value_arg('--includes', self._sanitize_filepath, False)
|
||||||
self._delete_arg('--prev_output_dir')
|
self._delete_arg('--prev_output_dir', False)
|
||||||
return super().get_args()
|
return super().get_args()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user