-
Notifications
You must be signed in to change notification settings - Fork 130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support swift package manager #729
Conversation
These were moved to 'include/Bugsnag' but were still referenced in the Xcode project in their old locations too
The |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
3A837DD324AA4A0E00A54700 /* XCRemoteSwiftPackageReference "bugsnag-cocoa" */ = { | ||
isa = XCRemoteSwiftPackageReference; | ||
repositoryURL = "https://github.com/bugsnag/bugsnag-cocoa.git"; | ||
requirement = { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we change this to "Version Up to next major 6.1.0 < 7" or similar before merging - so that it's correct after release.
Goal
This PR adds support for Swift Package Manager
This involved moving the header files to a new
include
directory to match the expected convention for C projects in SPM. This isn't absolutely necessary, for example we could use symlinks instead, but this felt like the cleanest solutionResolves #407
Changeset
Most of the changes are moving header files into
include/Bugsnag
. Thepodspec
and Xcode project file have been updated with these new paths tooI've removed some unnecessary imports in
BugsnagConfiguration.m
. This was part of an effort to split up the package into sup-dependencies which was ultimately abandoned, but I figured this was a useful cleanup anyway. Similarly,BugsnagPlugin
was missing an import which causes issues if it's built before the header it relies on is included, so I added that tooTests
I've tested this in our Swift example app and new Swift projects
Carthage and Cocoapods are tested on CI and I've manually tested them in the example projects & static build. I've also tested that our manual install instructions still work