Merge "Add implementations for firstword/lastword" am: 997cfaaceb
Original change: https://android-review.googlesource.com/c/platform/build/+/2078089 Change-Id: Iad404bfe49fcc1d7a96a286ff701ba1608a4dfc1 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -604,6 +604,21 @@ def _filter(pattern, text):
|
|||||||
break
|
break
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
def _first_word(input):
|
||||||
|
"""Equivalent to the GNU make function $(firstword)."""
|
||||||
|
input = __words(input)
|
||||||
|
if len(input) == 0:
|
||||||
|
return ""
|
||||||
|
return input[0]
|
||||||
|
|
||||||
|
def _last_word(input):
|
||||||
|
"""Equivalent to the GNU make function $(lastword)."""
|
||||||
|
input = __words(input)
|
||||||
|
l = len(input)
|
||||||
|
if l == 0:
|
||||||
|
return ""
|
||||||
|
return input[l-1]
|
||||||
|
|
||||||
def _dir(paths):
|
def _dir(paths):
|
||||||
"""Equivalent to the GNU make function $(dir).
|
"""Equivalent to the GNU make function $(dir).
|
||||||
|
|
||||||
@@ -862,6 +877,8 @@ rblf = struct(
|
|||||||
filter_out = _filter_out,
|
filter_out = _filter_out,
|
||||||
find_and_copy = _find_and_copy,
|
find_and_copy = _find_and_copy,
|
||||||
findstring = _findstring,
|
findstring = _findstring,
|
||||||
|
first_word = _first_word,
|
||||||
|
last_word = _last_word,
|
||||||
inherit = _inherit,
|
inherit = _inherit,
|
||||||
indirect = _indirect,
|
indirect = _indirect,
|
||||||
mk2rbc_error = _mk2rbc_error,
|
mk2rbc_error = _mk2rbc_error,
|
||||||
|
|||||||
@@ -81,6 +81,15 @@ assert_eq("/foo/baz", rblf.abspath("/foo/bar/../baz"))
|
|||||||
assert_eq(cwd+"/foo/bar "+cwd+"/foo/baz", rblf.abspath("foo/bar foo/baz"))
|
assert_eq(cwd+"/foo/bar "+cwd+"/foo/baz", rblf.abspath("foo/bar foo/baz"))
|
||||||
assert_eq("/baz", rblf.abspath("/../../../../../../../../../../../../../../../../baz"))
|
assert_eq("/baz", rblf.abspath("/../../../../../../../../../../../../../../../../baz"))
|
||||||
|
|
||||||
|
assert_eq("foo", rblf.first_word("foo bar"))
|
||||||
|
assert_eq("foo", rblf.first_word(["foo", "bar"]))
|
||||||
|
assert_eq("", rblf.first_word(""))
|
||||||
|
assert_eq("", rblf.first_word([]))
|
||||||
|
assert_eq("bar", rblf.last_word("foo bar"))
|
||||||
|
assert_eq("bar", rblf.last_word(["foo", "bar"]))
|
||||||
|
assert_eq("", rblf.last_word(""))
|
||||||
|
assert_eq("", rblf.last_word([]))
|
||||||
|
|
||||||
assert_eq(
|
assert_eq(
|
||||||
["build/make/tests/board.rbc", "build/make/tests/board_input_vars.rbc"],
|
["build/make/tests/board.rbc", "build/make/tests/board_input_vars.rbc"],
|
||||||
rblf.expand_wildcard("build/make/tests/board*.rbc")
|
rblf.expand_wildcard("build/make/tests/board*.rbc")
|
||||||
|
|||||||
Reference in New Issue
Block a user