Open friedbunny opened 5 years ago
ios-v4.10.0
vs 9500430eeae5f07231872fc91f5b674defc66cbd (current release-mojito
).This required a small change to apidiff's sourcekitten invocation (-I platform/darwin/src/
), but otherwise it worked pretty well out of the box. If this output were integrated into our jazzy docs and the methods/properties/etc. linked-up, this could be quite nice.
Thanks @friedbunny - I love this idea. I believe we have some prior art coming from Nav SDK.
/cc: @Guardiola31337
Would this catch the nullable
problems we had with the recent static analysis fix (and reported in https://github.com/mapbox/mapbox-gl-native/issues/14595)? i.e. is the full signature captured?
Would this catch the
nullable
problems we had with the recent static analysis fix (and reported in https://github.com/mapbox/mapbox-gl-native/issues/14595)? i.e. is the full signature captured?
For Apple platforms, if we use a tool based on sourcekitten/SourceKit, yes, this is something we can choose to monitor.
Update:
view
parameter’s nullable
to nonnull
here generates notices for both ObjC and Swift declarations.cc @knov
Tools like apidiff exist to analyze frameworks and produce diffs of their APIs. We should apply this sort of tool in (at least) two ways:
1. Per pull request
Pull requests that change or add public API could have this information surfaced as a bot comment or GitHub check. This would help us identify subtle changes to public API that could be breaking.
2. Per release
We should generate and publish API diffs with our release documentation. It’s currently non-obvious in jazzy (and probably javadoc, too?) what code has changed in any given release, so a list of new/changed API would improve end-developers’ ability to upgrade confidently and quickly.
/cc @mapbox/maps-ios @mapbox/maps-android @1ec5