blob: a90a0012bafe22fbb40483dcc52896cf715dc220 [file] [log] [blame]
"""Utility methods for interacting with the java rules"""
def _tokenize_javacopts(ctx, opts):
"""Tokenizes a list or depset of options to a list.
Iff opts is a depset, we reverse the flattened list to ensure right-most
duplicates are preserved in their correct position.
Args:
ctx: (RuleContext) the rule context
opts: (depset[str]|[str]) the javac options to tokenize
Returns:
[str] list of tokenized options
"""
if hasattr(opts, "to_list"):
opts = reversed(opts.to_list())
return [
token
for opt in opts
for token in ctx.tokenize(opt)
]
utils = struct(
tokenize_javacopts = _tokenize_javacopts,
)