Skip to content

Commit

Permalink
Merge branch 'release-2.1.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
ajsecord committed Mar 21, 2016
2 parents 8fc560e + eaec939 commit a7a91df
Show file tree
Hide file tree
Showing 220 changed files with 5,308 additions and 3,489 deletions.
19 changes: 17 additions & 2 deletions .arcconfig
Original file line number Diff line number Diff line change
@@ -1,7 +1,22 @@
{
"load": ["clang-format-linter"],
"load": [
"scripts/external/clang-format-linter",
"scripts/external/arc-xcode-test-engine"

],
"phabricator.uri" : "http://codereview.cc/",
"repository.callsign" : "MDC",
"arc.land.onto.default" : "develop",
"git.default-relative-commit" : "origin/develop"
"git.default-relative-commit" : "origin/develop",
"unit.xcode": {
"build": {
"workspace": "catalog/MDCCatalog.xcworkspace",
"scheme": "MDCUnitTests",
"configuration": "Debug",
"destination": "platform=iOS Simulator,name=iPhone 6S"
},
"coverage": {
"product": "MaterialComponents.framework/MaterialComponents"
}
}
}
9 changes: 9 additions & 0 deletions .arcunit
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"engines": {
"xcode": {
"type": "xcode-test-engine",
"include": "(\\.(m|h|mm|swift)$)",
"exclude": "(/Pods/)"
}
}
}
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,5 @@ fastlane/screenshots

# material component site
/gh-pages
/site-source

6 changes: 6 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[submodule "scripts/external/arc-xcode-test-engine"]
path = scripts/external/arc-xcode-test-engine
url = git@github.com:google/arc-xcode-test-engine.git
[submodule "scripts/external/clang-format-linter"]
path = scripts/external/clang-format-linter
url = git@github.com:vhbit/clang-format-linter.git
62 changes: 62 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,68 @@

##### Bug Fixes

## 2.1.0

##### Enhancements

* [AppBar] Introducing the App Bar component. (Jeff Verkoeyen)
* [Arcanist] Adds scripts/install_arc.sh, which installs or updates arc and our project-specific dependencies. (Adrian Secord)
* [Arcanist] Updated Arcanist config to use submodules. (Adrian Secord)
* [ButtonBar] Add ButtonBar component. (Jeff Verkoeyen)
* [ButtonBar] Add ButtonBar readme. (Jeff Verkoeyen)
* [Buttons] Add Flatbutton commonInit (Ian Gordon)
* [Buttons] Add storyboard sample (Ian Gordon)
* [Buttons] Clean up API documentation style. (Jeff Verkoeyen)
* [Catalog] Adds localizable strings to catalog. Allows changing language in scheme for debugging. Closes #166. (Chris Cox)
* [Catalog] Moving assets into catalog by convention. (Jeff Verkoeyen)
* [CocoaPods] Allow pod install to be run from anywhere for the catalog. (Jeff Verkoeyen)
* [CocoaPods] Standardizing the podspec format. (Jeff Verkoeyen)
* [CocoaPods] Variables for podspec. (Jeff Verkoeyen)
* [Examples] Moved all example resources into a examples/resources/ directory by convention. [Jeff Verkoeyen](https://github.com/jverkoey)
* [FlexibleHeader] Add headerIsTranslucent API. (Jeff Verkoeyen)
* [FlexibleHeader] Add sizeThatFits contract tests. (Jeff Verkoeyen)
* [FlexibleHeader] Prefer use of childViewControllerForStatusBarHidden. (Jeff Verkoeyen)
* [FlexibleHeader] Add tests for basic tracking scroll view contract. [Jeff Verkoeyen](https://github.com/jverkoey)
* [HeaderStackView] Add HeaderStackView README. (Jeff Verkoeyen)
* [NavigationBar] Add NavigationBar component. (Jeff Verkoeyen)
* [Pesto] Update layout after design review with UX, fix rotation issues (Junius Gunaratne)
* [Pesto] Update network image request methods, improve collection view cell layout (Junius Gunaratne)
* [Scripts] Add generate_jazzy_yamls script. (Jeff Verkoeyen)
* [Scripts] Added 'bump version' script and updated pod_install_all. (Adrian Secord)
* [Shrine] Layout updates after UX design review, make sure rotation works correctly (Junius Gunaratne)
* [Shrine] Use improved network image class from Pesto (Junius Gunaratne)
* [Testing] Add support for xcode unit tests to arc unit. (Jeff Verkoeyen)

##### Bug Fixes

* [AppBar] Minor changes to MDCAppBar documentation. (Jeff Verkoeyen)
* [Buttons] Adjust the title insets of text buttons, not the frame. (Jeff Verkoeyen)
* [Buttons] Fix uppercasing (Ian Gordon)
* [Buttons] Fixes a bug with contentEdgeInsets for MDCFloatingButtonShapeMini. (Matt Rubin)
* [Catalog] Remove the root catalog workspace. (Jeff Verkoeyen)
* [CocoaPods] Minor fixes to Podspec for ButtonBar and Switch. (Jeff Verkoeyen)
* [CocoaPods] Ran pod install on all Podfiles (randallli)
* [CocoaPods] Update Podfile.lock (Ian Gordon)
* [FlexibleHeader] Cleaning up the README.md. (Jeff Verkoeyen)
* [FlexibleHeader] Minor wording consistency in FlexibleHeader readme. (Jeff Verkoeyen)
* [HeaderStackView] Generated missing HeaderStackView .jazzy.yaml. (Jeff Verkoeyen)
* [Ink] Fix animation, split foreground and background ripple into independent classes (Junius Gunaratne)
* [Ink] Set evaporate point so ink expands from correct point on gesture cancel (Junius Gunaratne)
* [Other] Remove the project templates directory. (Jeff Verkoeyen)
* [PageController] Fix FP conversion warning (Ian Gordon)
* [Site] Add landing page placeholder markdown files & update build-site.sh (Yiran Mao)
* [Site] Continued work on markdown doc formatting. (Jason Striegel)
* [Site] Editing pass at community.md. (Jeff Verkoeyen)
* [Site] Fixed section regarding our license. (Jeff Verkoeyen)
* [Site] Formatting for icon list markdown. (Jason Striegel)
* [Site] Initial import of site build structure. (Jason Striegel)
* [Site] Preliminary additions of the components checklist. (Jeff Verkoeyen)
* [Site] Update community.md (Katy Kasmai)
* [Site] Updates to the community.md doc. [Jeff Verkoeyen](https://github.com/jverkoey)
* [SpritedAnimationView] Replaces example checkmark icon with grid/list icon. Closes #151. (Chris Cox)
* [SpritedAnimationView] Updates readme image assets to new URL (Chris Cox)
* [SpritedAnimationView] Updates readme, test, and example with grid/list icon. (Chris Cox)

## 2.0.4

##### Breaking
Expand Down
73 changes: 73 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,3 +75,76 @@ allow pull requests to be filed, but we perform code reviews on codereview.cc.

Contributions made by corporations are covered by a different agreement than
the one above, the [Software Grant and Corporate Contributor License Agreement](https://cla.developers.google.com/about/google-corporate).

# Component checklist

This checklist describes the process by which Material components are built.

| ↓ Component \ Task → | [API review](#api-review) | [Minimize dependencies](#minimize-dependencies) | [Nullability](#nullability-annotations) |
|:------------- |:-------------:|:-------------:|:-------------:|
| SomeComponent | | | |

## API review

API reviews work like typical code reviews with the added constraint of only reviewing the
component's **public APIs**.

To initiate an API review, send a pull request that only includes the public APIs you wish to
review.

TODO(featherless): Flesh this out with some concrete examples of existing API reviews.

## Minimize dependencies

We generally recommend zero dependencies as a goal, but reasonable exceptions can be made.

Avoid creating shared "Core" or "Utility" libraries. These wildcard libraries inevitably acquire
dust and reduce the modularity of anything built atop of them.

If your component does depend on such utilities, consider duplicating small functions within your
component.

## Nullability annotations

Nullability annotations improve our API compatibility in Swift.

1. **required** Add nullability annotations to every header of your component.

> Note: Material components **explicitly** annotate all public APIs rather than use
`NS_ASSUME_NONNULL_BEGIN`. This is an intentional deviation from Apple’s practice of using the
`ASSUME` macros.

The general annotation for id pointers is `nonnull`, `nullable` and `null_resetable`. They should be
used in method parameters, return values and property annotations.

`nonnull` - This pointer cannot be nil. This is commonly used for required method parameters or
properties and return values that are guaranteed to exist.

Consider the required URLString parameter in:

- (instancetype)[NSURL initWithString:(nonnull NSString *)URLString];

`nullable` - This pointer may or may not be equal to nil. This is commonly used for optional method
parameters, properties that are optional or as return values for a method that may not succeed.

Consider an NSDictionary returning nil when asked for a key:value pair that is doesn’t contain:

- (nullable id)[NSDictionary objectForKey:key];

`null_resettable` - Used on properties that will always return a non-nil value, but you can reset
the property to its default by setting it to nil.

Consider UISwitch’s tintColor property:

@property(null_resettable, nonatomic, strong) UIColor *tintColor;

`null_unspecified` - Indicates that you cannot make any guarantees to the state of this pointer. You
probably shouldn’t be using this annotation.

For plain C pointers, `__nullable` or `__nonnull` can be used. To avoid conflicts with third-party
libraries, Xcode 7 also introduced replacement keywords `_Nullable` and `_Nonnull`.

Once you add the first nullability annotation to any API in a file, Xcode will emit warnings for all
other APIs in that file that must also be annotated.

TODO(featherless): Add other steps.
16 changes: 0 additions & 16 deletions Catalog.xcworkspace/contents.xcworkspacedata

This file was deleted.

Loading

0 comments on commit a7a91df

Please sign in to comment.