API diff
An API diff tool for Objective-C, Swift, and Android code that outputs markdown.
Requirements
Objective-C and Swift engines both require:
- Xcode 8
- SourceKitten
Usage
Run apidiff
from within a git repository like so:
apidiff <old git ref> <new git ref> objc <umbrella header>
apidiff <old git ref> <new git ref> swift <workspace path> <scheme name>
apidiff <old git ref> <new git ref> android <library>
Note that all paths must be relative to the root of the git repository. For example:
apidiff v1.0.0 v2.0.0 objc src/MaterialMotionRuntime.h
Example output
Auto-generated by running:
apidiff 734d43e406f53143c2cf8440f43d858d125f0a11 6f7a52744751e511d0daf119642446c46bed1f5c objc src/MaterialMotionRuntime.h
NewClass
new class: NewClass
new constructor: NewClass()
new field: text
new method: getText()
MDMPlanPerforming
removed method: -addPlan:
in MDMPlanPerforming
modified protocol: MDMPlanPerforming
Type | swift declaration |
---|---|
From | protocol MDMPlanPerforming : MDMPerforming |
To | protocol PlanPerforming : Performing |
MDMScheduler
modified property: delegate
in MDMScheduler
Type | swift declaration |
---|---|
From | weak var delegate: MDMSchedulerDelegate? { get set } |
To | weak var delegate: SchedulerDelegate? { get set } |
modified class: MDMScheduler
Type | swift declaration |
---|---|
From | class MDMScheduler : NSObject |
To | class Scheduler : NSObject |
License
Licensed under the Apache 2.0 license. See LICENSE for details.