blob: bcf2ed61de9e003022afd8ba9b7bc690f16de4a6 [file]
def basename_of(path):
"""Extract basename from a path string."""
return path.split("/")[-1]
def values_for_flag_of(action_subject, flag):
return action_subject.argv().transform(desc = "parsed()", loop = _curry_denormalise_flags_with(flag))
def _curry_denormalise_flags_with(flag):
def _denormalise_flags(argv):
parsed_flags = []
# argv might be none for e.g. builtin actions
if argv == None:
return parsed_flags
last_flag = None
for arg in argv:
value = None
if arg == "--":
# skip the rest of the arguments, this is standard end of the flags.
break
if arg.startswith("-"):
if "=" in arg:
last_flag, value = arg.split("=", 1)
else:
last_flag = arg
elif last_flag:
# have a flag, therefore this is probably an associated argument
value = arg
else:
# skip non-flag arguments
continue
# only set the value if it exists
if value:
if last_flag == flag:
parsed_flags.append(value)
return parsed_flags
return _denormalise_flags
def abi_jar_of(jar):
if jar.endswith(".abi.jar"):
return jar
else:
return jar.replace(".jar", ".abi.jar")