bazelbuild / bazelbuild/rules_apple
`apple_xcframework` doesn't work with `data` that has `glob` value for coredata model
- Dominant language
- Starlark
- Stars
- 593
- Forks
- 334
- Avg merge
- 16h 48m
- Merged PRs (30d)
- 9
Description
When I try to bundle my coredata model into my xcframework with the following spec:
```
apple_xcframework(
name = "MyXcFramework",
bundle_id = "com.my.MyXcFramework",
bundle_name = "MyXcFramework",
deps = [":lib"],
minimum_os_versions = { "ios": "13.0", "tvos": "15.0", },
ios = { "device": ["arm64"], "simulator": ["x86_64", "arm64"] },
infoplists = [":info_plist"],
data = glob(["path/to/*.xcdatamodeld/*.xcdatamodel"])
)
```
I can't get a xcframework with `*.mond` inside it.
Even if I use a specific path for the `data`: `glob(["path/to/model.xcdatamodeld/model.xcdatamodel"])`
But it works without `glob` function:
```
apple_xcframework(
name = "MyXcFramework",
bundle_id = "com.my.MyXcFramework",
bundle_name = "MyXcFramework",
deps = [":lib"],
minimum_os_versions = { "ios": "13.0", "tvos": "15.0", },
ios = { "device": ["arm64"], "simulator": ["x86_64", "arm64"] },
infoplists = [":info_plist"],
data =["path/to/model.xcdatamodeld/model.xcdatamodel"]
)
```
Contributor guide
Research direction
Reproduce the issue with the shown apple_xcframework specifications, comparing a literal data path with the equivalent glob expression. Start at the apple_xcframework rule implementation and trace how data is packaged; done means the generated xcframework contains the Core Data model when data is supplied through glob.
Written by the indexing model from the issue text.
Assessment
- Domain
- build-system, mobile
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100