mirror of
https://github.com/NoRedInk/noredink-ui.git
synced 2024-12-02 11:02:56 +03:00
32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
#
|
|
# This source code is licensed under both the MIT license found in the
|
|
# LICENSE-MIT file in the root directory of this source tree and the Apache
|
|
# License, Version 2.0 found in the LICENSE-APACHE file in the root directory
|
|
# of this source tree.
|
|
|
|
XCODE_DATA_SUB_TARGET = "xcode-data"
|
|
_XCODE_DATA_FILE_NAME = "xcode_data.json"
|
|
|
|
XcodeDataInfo = provider(fields = [
|
|
"data", # {str.type: _a}
|
|
])
|
|
|
|
def generate_xcode_data(
|
|
ctx: "context",
|
|
rule_type: str.type,
|
|
output: ["artifact", None],
|
|
populate_rule_specific_attributes_func: ["function", None] = None,
|
|
**kwargs) -> (["DefaultInfo"], XcodeDataInfo.type):
|
|
data = {
|
|
"rule_type": rule_type,
|
|
"target": ctx.label,
|
|
}
|
|
if output:
|
|
data["output"] = output
|
|
if populate_rule_specific_attributes_func:
|
|
data.update(populate_rule_specific_attributes_func(ctx, **kwargs))
|
|
|
|
json_file = ctx.actions.write_json(_XCODE_DATA_FILE_NAME, data)
|
|
return [DefaultInfo(default_output = json_file)], XcodeDataInfo(data = data)
|