mapbox / mapbox-navigation-ios

Turn-by-turn navigation logic and UI in Swift on iOS
https://docs.mapbox.com/ios/navigation/
Other
861 stars 310 forks source link

Migrate breaking changes detector to swift-api-digester #3830

Open S2Ler opened 2 years ago

S2Ler commented 2 years ago

Now

We detect breaking changes by building an abstract syntax tree from the source code using "SourceKit" and then building the diff and then analysing what is considered a breaking change.

Proposed

Use swift-api-digester tool that ships with Xcode to detect breaking API changes.

Why

Instead of maintaining the own tool, we will use a tool that is maintained by compiler engineers that will have less false positives that we currently have.

MaximAlien commented 2 years ago

@S2Ler, can you please provide more details on this one? Is it for internal application usage?

S2Ler commented 1 year ago

This is for SDK similar to what Maps SDK team built. https://github.com/mapbox/mapbox-maps-ios/blob/main/scripts/api-compatibility-check/breaking-api-check.py