6 Commits

Author SHA1 Message Date
Jeff Verkoeyen
2b0359e1c5 Use rev-list to retrieve a ref's sha in scripts/api_diff.
Summary:
`git rev-list -n 1 <ref>` returns the nearest commit's sha for a given ref.
`git rev-parse <ref>` returns the sha for the ref itself. E.g. tags have their own sha distinct from the commit to which they're associated.

GitHub doesn't reconcile shas for tags, so `git rev-list` ensures that our api_diff output will always be linkable on GitHub.

Reviewers: #mdc_ios_owners, iangordon

Reviewed By: #mdc_ios_owners, iangordon

Projects: #material_components_ios

Differential Revision: http://codereview.cc/D787
2016-04-27 16:08:27 -04:00
Jeff Verkoeyen
5b3a6cf2ee Add temporary_clone_at_ref script and use it in api_diff.
Summary: This script is a general-purpose tool for creating a clone of the repo at a specific ref. It will be helpful for use in other API diffing tools.

Reviewers: ajsecord, #mdc_ios_owners

Reviewed By: ajsecord, #mdc_ios_owners

Subscribers: ajsecord

Projects: #material_components_ios

Differential Revision: http://codereview.cc/D784
2016-04-27 15:43:13 -04:00
Jeff Verkoeyen
0454b94f51 Pull objc-diff installation out to its own script.
Summary:
This will allow us to more easily use objc-diff in other tools.

New script has two "modes":

- No arguments: clones and builds objc-diff
- -p: Echos path to the objc-diff binary and exits (produces no other output)

Reviewers: ajsecord, #mdc_ios_owners

Reviewed By: ajsecord, #mdc_ios_owners

Subscribers: ajsecord

Projects: #material_components_ios

Differential Revision: http://codereview.cc/D783
2016-04-27 15:40:15 -04:00
Jeff Verkoeyen
6e84a88c47 [api_diff] Minor fixes.
Summary:
- Removes the copy-pasted names and outputs the proper shas.
- Use the new url for deprecated APIs.

Reviewers: #mdc_ios_owners, ajsecord

Reviewed By: #mdc_ios_owners, ajsecord

Subscribers: ajsecord

Projects: #material_components_ios

Differential Revision: http://codereview.cc/D500
2016-04-07 11:38:31 -04:00
Jeff Verkoeyen
93eefa8efd api_diff now respects the verbose flag.
Reviewers: #mdc_ios_owners, ajsecord

Reviewed By: #mdc_ios_owners, ajsecord

Subscribers: ajsecord

Projects: #material_components_ios

Differential Revision: http://codereview.cc/D498
2016-04-06 17:03:54 -04:00
Jeff Verkoeyen
237ca26443 Add api_diff script for generating api diffs.
Summary:
This tool can be used to generate API diffs for releases.

Example output from `scripts/api_diff.sh -o v2.1.0 -n develop`:

```

---------------- FlexibleHeader -----------------------

MDCFlexibleHeaderViewController.h
---------------------------------
  MDCFlexibleHeaderViewController

          Protocols
    From: UIScrollViewDelegate
      To: UIScrollViewDelegate, UITableViewDelegate

---------------- FontDiskLoader -----------------------
New component

---------------- RobotoFontLoader -----------------------
New component

---------------- Typography -----------------------

MDCFontResource.h
-----------------
- MDCFontResource
- -[MDCFontResource initWithName:URL:]
- -[MDCFontResource initWithFontName:filename:bundleFileName:baseBundle:]
- MDCFontResource.fontName
- MDCFontResource.fontURL
- -[MDCFontResource registerFont]
- MDCFontResource.isRegistered
- MDCFontResource.hasFailedRegistration
- -[MDCFontResource fontOfSize:]

MDCRobotoFontLoader.h
---------------------
- MDCRobotoFontLoader
- +[MDCRobotoFontLoader sharedInstance]
- -[MDCRobotoFontLoader lightFontOfSize:]
- -[MDCRobotoFontLoader regularFontOfSize:]
- -[MDCRobotoFontLoader mediumFontOfSize:]
- -[MDCRobotoFontLoader boldFontOfSize:]
- -[MDCRobotoFontLoader lightItalicFontOfSize:]
- -[MDCRobotoFontLoader italicFontOfSize:]
- -[MDCRobotoFontLoader mediumItalicFontOfSize:]
- -[MDCRobotoFontLoader boldItalicFontOfSize:]

MDCTypography.h
---------------
- -[MDCTypographyFontLoader lightFontOfSize:]
- -[MDCTypographyFontLoader regularFontOfSize:]
- -[MDCTypographyFontLoader mediumFontOfSize:]
+ MDCTypographyFontLoading
+ -[MDCTypographyFontLoading lightFontOfSize:]
+ -[MDCTypographyFontLoading regularFontOfSize:]
+ -[MDCTypographyFontLoading mediumFontOfSize:]
  +[MDCTypography setFontLoader:]

          Declaration
    From: + (void)setFontLoader:(nonnull id<MDCTypographyFontLoader>)fontLoader
      To: + (void)setFontLoader:(nonnull id<MDCTypographyFontLoading>)fontLoader

  MDCSystemFontLoader

          Protocols
    From: MDCTypographyFontLoader
      To: MDCTypographyFontLoading

  MDCTypographyFontLoader

          Protocols
    From: NSObject
      To: MDCTypographyFontLoading

          Availability
    From: Available
      To: Deprecated

          Deprecation Message
    From: (none)
      To: Use MDCTypographyFontLoading instead
```

Reviewers: #mdc_ios_owners, ajsecord

Reviewed By: #mdc_ios_owners, ajsecord

Projects: #material_components_ios

Differential Revision: http://codereview.cc/D372
2016-04-06 16:01:45 -04:00