trivago / Heimdallr.swift

Easy to use OAuth 2 library for iOS, written in Swift.
Apache License 2.0
639 stars 86 forks source link

Project refactor #130

Closed donnywdavis closed 8 months ago

donnywdavis commented 3 years ago

The long overdue PR to update the project.

There were several places in the project that were outdated, such as using the Result dependency, outdated scripts, broken CI config, etc. Due to this it was a bit easier to just completely refactor the project setup and start from a clean slate. A big piece of this update was that I wanted to add proper SPM support, so I configured the project from the beginning as a Swift Package. Once that was setup then I added back support for Carthage and Cocoapods. I also wanted to move the CI setup from CircleCI to GitHub Actions.

To reduce dependencies, I converted all of the tests to XCTest and removed the need for Quick and Nimble. The only dependency that remains is for OHHTTPStubs, but this is only needed for the tests.

There were no changes to the actual code of the framework, this was strictly a cosmetic and structural change to the project. I hope that this helps in keeping the project up to date more often going forward.

NOTE The Xcode project is only needed for Carthage support and does not include references for the tests. Open the root of the project in Xcode and it will open it as a Swift Package. You only need to open the Xcode project itself to verify that it builds for each scheme. You can also run carthage build --no-skip-current from the command line to verify the Carthage setup.

rwgrier commented 2 years ago

@donnywdavis checking to see if there's been (or going to be) any progress on this. Looks like some nice improvements here. I also wouldn't mind moving to a Swift package for Heimdallr.swift. Thanks!