| """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, |
| ) |