[CDRIVER-2092] Updated packaging for CocoaPods Created: 17/Mar/17 Updated: 17/Aug/17 Resolved: 20/Mar/17 |
|
| Status: | Closed |
| Project: | C Driver |
| Component/s: | libbson, packaging |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Minor - P4 |
| Reporter: | Paul Melnikow | Assignee: | A. Jesse Jiryu Davis |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
OS X, iOS |
||
| Description |
|
This was discussed a while ago in I've finally had a chance to try to integrate libbson into a Swift project. Using a fork of libbson@1.6.1 with the module map checked in, I was able to publish a prerelease pod and integrate it into an Objective-C project. In CocoaPods, all Swift builds, as well as framework-based Objective-C builds, use a module map to collect the interface exposed by a package. This was discussed in
By default CocoaPods generates an umbrella header with all of the package's public header files and a module map around that. That doesn't work for libbson, since directly including e.g. bson-compat.h will result in a preprocessor error, "Only <bson.h> can be included directly." The solution is to ship our own module map, referencing the library's umbrella header, and point CocoaPods to that. It needs to be checked in. Though it doesn't matter where it is in the repo. I opened this PR: https://github.com/mongodb/libbson/pull/185 |
| Comments |
| Comment by A. Jesse Jiryu Davis [ 20/Mar/17 ] |
|
I'm closing this issue - if there's anything we can do to help that does not require us to maintain CocoaPods files in our repository, please let us know. |
| Comment by A. Jesse Jiryu Davis [ 17/Mar/17 ] |
|
Hi Paul. Sorry, I really don't think it's a good idea to add something to the libbson repository that none of us understands or is committed to maintaining. Isn't it possible to maintain a CocoaPod for libbson and libmongoc without adding something to our repo? I think it's better if you maintain the files you need to maintain to make a CocoaPod for libbson and libmongoc work correctly, in your repository where you can change it whenever it's necessary to change. |