bazelbuild / bazelbuild/rules_apple

`apple_xcframework` doesn't work with `data` that has `glob` value for coredata model

Open
#2,523 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.