diff --git a/CHANGELOG.md b/CHANGELOG.md index 92bd2e659df..b827cdd3bef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,47 @@ +# 16.1.0 + +## Component changes + +### ActivityIndicator + +#### Changes + +* [Implement intrinsicContentSize (#795)](https://github.com/google/material-components-ios/commit/731eb321d94eb4957613e1059570cae17a584133) (Louis Romero) + +### Buttons + +#### Changes + +* [MDC #329 - Bounded ink should ignore the maxRippleRadius property (#771)](https://github.com/google/material-components-ios/commit/01b73cf1478083baeb9976d4af12a67f02f9cb82) (Justin Shephard) + +### Dialogs + +#### Changes + +* [Improve snackbar and dialogs docs (#785)](https://github.com/google/material-components-ios/commit/386964baf25fa9264516f9f0c9ed19410873f1fe) (Sam Morrison) + +### Ink + +#### Changes + +* [Added MDCInkGestureRecognizer.h to Ink's umbrella header. (#801)](https://github.com/google/material-components-ios/commit/d24532bc40e0082dc8383d6431feceafa38ec050) (Adrian Secord) +* [MDC #329 - Bounded ink should ignore the maxRippleRadius property (#771)](https://github.com/google/material-components-ios/commit/01b73cf1478083baeb9976d4af12a67f02f9cb82) (Justin Shephard) +* [[MDCInkView] cancelAllAnimationsAnimated should support disabling animation (#786)](https://github.com/google/material-components-ios/commit/8008e82bd7bea04534ad7ecb2c3aa1903254553e) (Junius Gunaratne) + +### ProgressView + +#### Changes + +* [[MDCProgressView] Execute completion block when setHidden:animated:completion is called sequentially (#787)](https://github.com/google/material-components-ios/commit/45c0b06275e88c65c7aae8bba1b78889cba2f93c) (Junius Gunaratne) + +### Snackbar + +#### Changes + +* [Improve snackbar and dialogs docs (#785)](https://github.com/google/material-components-ios/commit/386964baf25fa9264516f9f0c9ed19410873f1fe) (Sam Morrison) + + + # 16.0.0 ## API diffs diff --git a/MaterialComponents.podspec b/MaterialComponents.podspec index 4afabe9428b..b970d0158d7 100644 --- a/MaterialComponents.podspec +++ b/MaterialComponents.podspec @@ -2,7 +2,7 @@ load 'scripts/generated/icons.rb' Pod::Spec.new do |s| s.name = "MaterialComponents" - s.version = "16.0.0" + s.version = "16.1.0" s.authors = { 'Apple platform engineering at Google' => 'appleplatforms@google.com' } s.summary = "A collection of stand-alone production-ready UI libraries focused on design details." s.homepage = "https://github.com/google/material-components-ios" diff --git a/MaterialComponentsCatalog.podspec b/MaterialComponentsCatalog.podspec index 3e7ba61bb41..376281e5340 100644 --- a/MaterialComponentsCatalog.podspec +++ b/MaterialComponentsCatalog.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "MaterialComponentsCatalog" - s.version = "16.0.0" + s.version = "16.1.0" s.authors = { 'Apple platform engineering at Google' => 'appleplatforms@google.com' } s.summary = "A collection of stand-alone production-ready UI libraries focused on design details." s.homepage = "https://github.com/google/material-components-ios" diff --git a/MaterialComponentsUnitTests.podspec b/MaterialComponentsUnitTests.podspec index 8335fcc8149..b853d4b94ab 100644 --- a/MaterialComponentsUnitTests.podspec +++ b/MaterialComponentsUnitTests.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "MaterialComponentsUnitTests" - s.version = "16.0.0" + s.version = "16.1.0" s.authors = { 'Apple platform engineering at Google' => 'appleplatforms@google.com' } s.summary = "A collection of stand-alone production-ready UI libraries focused on design details." s.homepage = "https://github.com/google/material-components-ios" diff --git a/README.md b/README.md index bd30c944361..970587dac23 100644 --- a/README.md +++ b/README.md @@ -151,6 +151,12 @@ Material Components for iOS uses copyright Google Inc. and licensed under [CC BY 4.0](http://creativecommons.org/licenses/by/4.0/). +Several components use +[MDFTextAccessibility](https://github.com/material-foundation/material-text-accessibility-ios), +copyright Google Inc. and licensed under +[Apache 2.0](https://github.com/material-foundation/material-text-accessibility-ios/blob/master/LICENSE) +without a NOTICE file. + Roboto Font Loader uses the [Roboto font](https://github.com/google/fonts/tree/master/apache/roboto), copyright 2011 Google Inc. and licensed under diff --git a/catalog/Podfile.lock b/catalog/Podfile.lock index 079e85006a1..182b61c2469 100644 --- a/catalog/Podfile.lock +++ b/catalog/Podfile.lock @@ -1,38 +1,38 @@ PODS: - CatalogByConvention (2.0.0) - EarlGrey (1.4.0) - - MaterialComponents (16.0.0): - - MaterialComponents/ActivityIndicator (= 16.0.0) - - MaterialComponents/AnimationTiming (= 16.0.0) - - MaterialComponents/AppBar (= 16.0.0) - - MaterialComponents/ButtonBar (= 16.0.0) - - MaterialComponents/Buttons (= 16.0.0) - - MaterialComponents/CollectionCells (= 16.0.0) - - MaterialComponents/CollectionLayoutAttributes (= 16.0.0) - - MaterialComponents/Collections (= 16.0.0) - - MaterialComponents/Dialogs (= 16.0.0) - - MaterialComponents/FlexibleHeader (= 16.0.0) - - MaterialComponents/FontDiskLoader (= 16.0.0) - - MaterialComponents/HeaderStackView (= 16.0.0) - - MaterialComponents/Ink (= 16.0.0) - - MaterialComponents/NavigationBar (= 16.0.0) - - MaterialComponents/OverlayWindow (= 16.0.0) - - MaterialComponents/PageControl (= 16.0.0) - - MaterialComponents/Palettes (= 16.0.0) - - MaterialComponents/private (= 16.0.0) - - MaterialComponents/ProgressView (= 16.0.0) - - MaterialComponents/RobotoFontLoader (= 16.0.0) - - MaterialComponents/ShadowElevations (= 16.0.0) - - MaterialComponents/ShadowLayer (= 16.0.0) - - MaterialComponents/Slider (= 16.0.0) - - MaterialComponents/Snackbar (= 16.0.0) - - MaterialComponents/SpritedAnimationView (= 16.0.0) - - MaterialComponents/Switch (= 16.0.0) - - MaterialComponents/Typography (= 16.0.0) - - MaterialComponents/ActivityIndicator (16.0.0): + - MaterialComponents (16.1.0): + - MaterialComponents/ActivityIndicator (= 16.1.0) + - MaterialComponents/AnimationTiming (= 16.1.0) + - MaterialComponents/AppBar (= 16.1.0) + - MaterialComponents/ButtonBar (= 16.1.0) + - MaterialComponents/Buttons (= 16.1.0) + - MaterialComponents/CollectionCells (= 16.1.0) + - MaterialComponents/CollectionLayoutAttributes (= 16.1.0) + - MaterialComponents/Collections (= 16.1.0) + - MaterialComponents/Dialogs (= 16.1.0) + - MaterialComponents/FlexibleHeader (= 16.1.0) + - MaterialComponents/FontDiskLoader (= 16.1.0) + - MaterialComponents/HeaderStackView (= 16.1.0) + - MaterialComponents/Ink (= 16.1.0) + - MaterialComponents/NavigationBar (= 16.1.0) + - MaterialComponents/OverlayWindow (= 16.1.0) + - MaterialComponents/PageControl (= 16.1.0) + - MaterialComponents/Palettes (= 16.1.0) + - MaterialComponents/private (= 16.1.0) + - MaterialComponents/ProgressView (= 16.1.0) + - MaterialComponents/RobotoFontLoader (= 16.1.0) + - MaterialComponents/ShadowElevations (= 16.1.0) + - MaterialComponents/ShadowLayer (= 16.1.0) + - MaterialComponents/Slider (= 16.1.0) + - MaterialComponents/Snackbar (= 16.1.0) + - MaterialComponents/SpritedAnimationView (= 16.1.0) + - MaterialComponents/Switch (= 16.1.0) + - MaterialComponents/Typography (= 16.1.0) + - MaterialComponents/ActivityIndicator (16.1.0): - MaterialComponents/private/RTL - - MaterialComponents/AnimationTiming (16.0.0) - - MaterialComponents/AppBar (16.0.0): + - MaterialComponents/AnimationTiming (16.1.0) + - MaterialComponents/AppBar (16.1.0): - MaterialComponents/FlexibleHeader - MaterialComponents/HeaderStackView - MaterialComponents/NavigationBar @@ -41,16 +41,16 @@ PODS: - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/ButtonBar (16.0.0): + - MaterialComponents/ButtonBar (16.1.0): - MaterialComponents/Buttons - MaterialComponents/private/RTL - - MaterialComponents/Buttons (16.0.0): + - MaterialComponents/Buttons (16.1.0): - MaterialComponents/Ink - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - MDFTextAccessibility - - MaterialComponents/CollectionCells (16.0.0): + - MaterialComponents/CollectionCells (16.1.0): - MaterialComponents/CollectionLayoutAttributes - MaterialComponents/Ink - MaterialComponents/private/Icons/ic_check @@ -61,95 +61,95 @@ PODS: - MaterialComponents/private/Icons/ic_reorder - MaterialComponents/private/RTL - MaterialComponents/Typography - - MaterialComponents/CollectionLayoutAttributes (16.0.0) - - MaterialComponents/Collections (16.0.0): + - MaterialComponents/CollectionLayoutAttributes (16.1.0) + - MaterialComponents/Collections (16.1.0): - MaterialComponents/CollectionCells - MaterialComponents/CollectionLayoutAttributes - MaterialComponents/Ink - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/Dialogs (16.0.0): + - MaterialComponents/Dialogs (16.1.0): - MaterialComponents/Buttons - MaterialComponents/private/KeyboardWatcher - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - - MaterialComponents/FlexibleHeader (16.0.0): + - MaterialComponents/FlexibleHeader (16.1.0): - MDFTextAccessibility - - MaterialComponents/FontDiskLoader (16.0.0) - - MaterialComponents/HeaderStackView (16.0.0) - - MaterialComponents/Ink (16.0.0) - - MaterialComponents/NavigationBar (16.0.0): + - MaterialComponents/FontDiskLoader (16.1.0) + - MaterialComponents/HeaderStackView (16.1.0) + - MaterialComponents/Ink (16.1.0) + - MaterialComponents/NavigationBar (16.1.0): - MaterialComponents/ButtonBar - MaterialComponents/private/RTL - MaterialComponents/Typography - - MaterialComponents/OverlayWindow (16.0.0) - - MaterialComponents/PageControl (16.0.0) - - MaterialComponents/Palettes (16.0.0) - - MaterialComponents/private (16.0.0): - - MaterialComponents/private/Color (= 16.0.0) - - MaterialComponents/private/Icons (= 16.0.0) - - MaterialComponents/private/KeyboardWatcher (= 16.0.0) - - MaterialComponents/private/Overlay (= 16.0.0) - - MaterialComponents/private/RTL (= 16.0.0) - - MaterialComponents/private/ThumbTrack (= 16.0.0) - - MaterialComponents/private/Color (16.0.0) - - MaterialComponents/private/Icons (16.0.0): - - MaterialComponents/private/Icons/Base (= 16.0.0) - - MaterialComponents/private/Icons/ic_arrow_back (= 16.0.0) - - MaterialComponents/private/Icons/ic_check (= 16.0.0) - - MaterialComponents/private/Icons/ic_check_circle (= 16.0.0) - - MaterialComponents/private/Icons/ic_chevron_right (= 16.0.0) - - MaterialComponents/private/Icons/ic_info (= 16.0.0) - - MaterialComponents/private/Icons/ic_radio_button_unchecked (= 16.0.0) - - MaterialComponents/private/Icons/ic_reorder (= 16.0.0) - - MaterialComponents/private/Icons/Base (16.0.0) - - MaterialComponents/private/Icons/ic_arrow_back (16.0.0): + - MaterialComponents/OverlayWindow (16.1.0) + - MaterialComponents/PageControl (16.1.0) + - MaterialComponents/Palettes (16.1.0) + - MaterialComponents/private (16.1.0): + - MaterialComponents/private/Color (= 16.1.0) + - MaterialComponents/private/Icons (= 16.1.0) + - MaterialComponents/private/KeyboardWatcher (= 16.1.0) + - MaterialComponents/private/Overlay (= 16.1.0) + - MaterialComponents/private/RTL (= 16.1.0) + - MaterialComponents/private/ThumbTrack (= 16.1.0) + - MaterialComponents/private/Color (16.1.0) + - MaterialComponents/private/Icons (16.1.0): + - MaterialComponents/private/Icons/Base (= 16.1.0) + - MaterialComponents/private/Icons/ic_arrow_back (= 16.1.0) + - MaterialComponents/private/Icons/ic_check (= 16.1.0) + - MaterialComponents/private/Icons/ic_check_circle (= 16.1.0) + - MaterialComponents/private/Icons/ic_chevron_right (= 16.1.0) + - MaterialComponents/private/Icons/ic_info (= 16.1.0) + - MaterialComponents/private/Icons/ic_radio_button_unchecked (= 16.1.0) + - MaterialComponents/private/Icons/ic_reorder (= 16.1.0) + - MaterialComponents/private/Icons/Base (16.1.0) + - MaterialComponents/private/Icons/ic_arrow_back (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_check (16.0.0): + - MaterialComponents/private/Icons/ic_check (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_check_circle (16.0.0): + - MaterialComponents/private/Icons/ic_check_circle (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_chevron_right (16.0.0): + - MaterialComponents/private/Icons/ic_chevron_right (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_info (16.0.0): + - MaterialComponents/private/Icons/ic_info (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_radio_button_unchecked (16.0.0): + - MaterialComponents/private/Icons/ic_radio_button_unchecked (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_reorder (16.0.0): + - MaterialComponents/private/Icons/ic_reorder (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/KeyboardWatcher (16.0.0) - - MaterialComponents/private/Overlay (16.0.0) - - MaterialComponents/private/RTL (16.0.0) - - MaterialComponents/private/ThumbTrack (16.0.0): + - MaterialComponents/private/KeyboardWatcher (16.1.0) + - MaterialComponents/private/Overlay (16.1.0) + - MaterialComponents/private/RTL (16.1.0) + - MaterialComponents/private/ThumbTrack (16.1.0): - MaterialComponents/Ink - MaterialComponents/private/Color - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/ProgressView (16.0.0): + - MaterialComponents/ProgressView (16.1.0): - MaterialComponents/private/RTL - - MaterialComponents/RobotoFontLoader (16.0.0): + - MaterialComponents/RobotoFontLoader (16.1.0): - MaterialComponents/FontDiskLoader - MaterialComponents/Typography - - MaterialComponents/ShadowElevations (16.0.0) - - MaterialComponents/ShadowLayer (16.0.0) - - MaterialComponents/Slider (16.0.0): + - MaterialComponents/ShadowElevations (16.1.0) + - MaterialComponents/ShadowLayer (16.1.0) + - MaterialComponents/Slider (16.1.0): - MaterialComponents/private/ThumbTrack - - MaterialComponents/Snackbar (16.0.0): + - MaterialComponents/Snackbar (16.1.0): - MaterialComponents/AnimationTiming - MaterialComponents/Buttons - MaterialComponents/OverlayWindow - MaterialComponents/private/KeyboardWatcher - MaterialComponents/private/Overlay - - MaterialComponents/SpritedAnimationView (16.0.0) - - MaterialComponents/Switch (16.0.0): + - MaterialComponents/SpritedAnimationView (16.1.0) + - MaterialComponents/Switch (16.1.0): - MaterialComponents/private/RTL - MaterialComponents/private/ThumbTrack - - MaterialComponents/Typography (16.0.0) - - MaterialComponentsCatalog (16.0.0): + - MaterialComponents/Typography (16.1.0) + - MaterialComponentsCatalog (16.1.0): - MaterialComponents - - MaterialComponentsUnitTests (16.0.0): + - MaterialComponentsUnitTests (16.1.0): - MaterialComponents - MDFTextAccessibility - MDFTextAccessibility (1.1.3) @@ -163,18 +163,18 @@ DEPENDENCIES: EXTERNAL SOURCES: MaterialComponents: - :path: ../ + :path: "../" MaterialComponentsCatalog: - :path: ../ + :path: "../" MaterialComponentsUnitTests: - :path: ../ + :path: "../" SPEC CHECKSUMS: CatalogByConvention: be55c2263132e4f9f59299ac8a528ee8715b3275 EarlGrey: 763d04569f96d910cf17e4fe5aa0d3842e07c0b4 - MaterialComponents: 9e8475453d0e5e0da7af16e79f5ba89e1f85cf96 - MaterialComponentsCatalog: 3ac8085dae5ca469f9b94e15f3ea0d2b33dc3456 - MaterialComponentsUnitTests: c2cd169967f28fe46e851f31a0c1eda37a3d1531 + MaterialComponents: 5c73b785d39aa619bbe7c8819596aebedfb3444b + MaterialComponentsCatalog: fbfa56710a1ac11204415211826b264dd7b6f4d0 + MaterialComponentsUnitTests: 182574d19a06f8c19aed1434d82a2a4f71717cbe MDFTextAccessibility: f05246cc165f78733bfad535365807ec6fef9601 PODFILE CHECKSUM: 522d8a942cbc2d1a94e939e565f528cc83468b01 diff --git a/components/ActivityIndicator/src/MDCActivityIndicator.m b/components/ActivityIndicator/src/MDCActivityIndicator.m index 35c0f91ed0b..06deb6af936 100644 --- a/components/ActivityIndicator/src/MDCActivityIndicator.m +++ b/components/ActivityIndicator/src/MDCActivityIndicator.m @@ -189,6 +189,11 @@ - (void)willMoveToWindow:(UIWindow *)newWindow { } } +- (CGSize)intrinsicContentSize { + CGFloat edge = 2 * _radius + _strokeWidth; + return CGSizeMake(edge, edge); +} + #pragma mark - Public methods - (void)startAnimating { diff --git a/components/Buttons/src/MDCButton.h b/components/Buttons/src/MDCButton.h index 025ebff22d5..947e1d5665f 100644 --- a/components/Buttons/src/MDCButton.h +++ b/components/Buttons/src/MDCButton.h @@ -61,7 +61,7 @@ /* Maximum radius of the button's ink. If the radius <= 0 then half the length of the diagonal of - self.bounds is used. + self.bounds is used. This value is ignored if button's @c inkStyle is set to |MDCInkStyleBounded|. */ @property(nonatomic, assign) CGFloat inkMaxRippleRadius; diff --git a/components/Dialogs/README.md b/components/Dialogs/README.md index 8e4da2d20eb..28e0edc1c66 100644 --- a/components/Dialogs/README.md +++ b/components/Dialogs/README.md @@ -63,6 +63,7 @@ view controller from the root controller to display it as a modal dialog. Before using Dialogs, you'll need to import it: + #### Objective-C ~~~ objc @@ -74,11 +75,13 @@ Before using Dialogs, you'll need to import it: ~~~ swift import MaterialComponents ~~~ + ## Examples ### Display a modal dialog + #### Objective-C ~~~ objc @@ -109,9 +112,11 @@ modalDialogViewController.transitioningDelegate = dialogTransitionController presentViewController(myDialogViewController animated:YES ...) ~~~ + ### Present an alert + #### Objective-C ~~~ objc @@ -144,3 +149,4 @@ alertController.addAction(action) self.presentViewController(alertController, animated:true, completion:nil) ~~~ + diff --git a/components/Ink/src/MDCInkView.h b/components/Ink/src/MDCInkView.h index df65c9e1491..f6e14233c55 100644 --- a/components/Ink/src/MDCInkView.h +++ b/components/Ink/src/MDCInkView.h @@ -61,7 +61,7 @@ typedef NS_ENUM(NSInteger, MDCInkStyle) { /** Maximum radius of the ink. If the radius <= 0 then half the length of the diagonal of self.bounds - is used. + is used. This value is ignored if @c inkStyle is set to |MDCInkStyleBounded|. */ @property(nonatomic, assign) CGFloat maxRippleRadius; diff --git a/components/Ink/src/MDCInkView.m b/components/Ink/src/MDCInkView.m index e474fd32eb5..31b9f30fc6d 100644 --- a/components/Ink/src/MDCInkView.m +++ b/components/Ink/src/MDCInkView.m @@ -115,7 +115,7 @@ - (void)startTouchEndedAnimationAtPoint:(CGPoint)point } - (void)cancelAllAnimationsAnimated:(BOOL)animated { - [self.inkLayer reset]; + [self.inkLayer reset:animated]; } - (UIColor *)defaultInkColor { diff --git a/components/Ink/src/MaterialInk.h b/components/Ink/src/MaterialInk.h index 33e75e3534f..c73b152dd2e 100644 --- a/components/Ink/src/MaterialInk.h +++ b/components/Ink/src/MaterialInk.h @@ -14,5 +14,6 @@ limitations under the License. */ +#import "MDCInkGestureRecognizer.h" #import "MDCInkTouchController.h" #import "MDCInkView.h" diff --git a/components/Ink/src/private/MDCInkLayer.h b/components/Ink/src/private/MDCInkLayer.h index b0ff051eb48..c059e92b5b8 100644 --- a/components/Ink/src/private/MDCInkLayer.h +++ b/components/Ink/src/private/MDCInkLayer.h @@ -34,7 +34,8 @@ /** Clips the ripple to the bounds of the layer. */ @property(nonatomic, assign, getter=isBounded) BOOL bounded; -/** Maximum radius of the ink. No maximum if radius is 0 or less. */ +/** Maximum radius of the ink. No maximum if radius is 0 or less. This value is ignored if + @c bounded is set to |YES|.*/ @property(nonatomic, assign) CGFloat maxRippleRadius; /** Set the foreground color of the ink. */ @@ -64,8 +65,12 @@ */ @property(nonatomic, assign) BOOL userLinearExpansion; -/** Reset any ink applied to the layer. */ -- (void)reset; +/** + Reset any ink applied to the layer. + + @param animated Enables the ink ripple fade out animation. + */ +- (void)reset:(BOOL)animated; /** Spreads the ink over the whole view. diff --git a/components/Ink/src/private/MDCInkLayer.m b/components/Ink/src/private/MDCInkLayer.m index ab52b585dc3..ef399d909f4 100644 --- a/components/Ink/src/private/MDCInkLayer.m +++ b/components/Ink/src/private/MDCInkLayer.m @@ -26,6 +26,32 @@ static inline CGPoint MDCInkLayerInterpolatePoint(CGPoint start, return centerOffsetPoint; } +static inline CGFloat MDCInkLayerRadiusBounds(CGFloat maxRippleRadius, + CGFloat inkLayerRectHypotenuse, + BOOL bounded) { + if (maxRippleRadius > 0) { +#ifdef MDC_BOUNDED_INK_IGNORES_MAX_RIPPLE_RADIUS + if (!bounded) { + return maxRippleRadius; + } else { + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + NSLog(@"Implementation of MDCInkView with |MDCInkStyle| MDCInkStyleBounded and " + @"maxRippleRadius has changed.\n\n" + @"MDCInkStyleBounded ignores maxRippleRadius. " + @"Please use |MDCInkStyle| MDCInkStyleUnbounded to continue using maxRippleRadius. " + @"For implementation questions, please email shepj@google.com"); + }); + return inkLayerRectHypotenuse; + } +#else + return maxRippleRadius; +#endif + } else { + return inkLayerRectHypotenuse; + } +} + static inline CGFloat MDCInkLayerRandom() { const uint32_t max_value = 10000; return (CGFloat)arc4random_uniform(max_value + 1) / max_value; @@ -220,9 +246,18 @@ - (void)enter { [self addAnimation:_foregroundScaleAnim forKey:kInkLayerForegroundScaleAnim]; } -- (void)exit { +- (void)exit:(BOOL)animated { [super exit]; + if (!animated) { + [self removeAllAnimations]; + [CATransaction begin]; + [CATransaction setDisableActions:YES]; + self.opacity = 0; + [CATransaction commit]; + return; + } + if (self.bounded) { _foregroundOpacityAnim.values = @[ @1, @0 ]; _foregroundOpacityAnim.duration = kInkLayerForegroundBoundedOpacityExitDuration; @@ -313,8 +348,18 @@ - (void)enter { [self addAnimation:_backgroundOpacityAnim forKey:kInkLayerBackgroundOpacityAnim]; } -- (void)exit { +- (void)exit:(BOOL)animated { [super exit]; + + if (!animated) { + [self removeAllAnimations]; + [CATransaction begin]; + [CATransaction setDisableActions:YES]; + self.opacity = 0; + [CATransaction commit]; + return; + } + NSNumber *opacityVal = [self.presentationLayer valueForKeyPath:kInkLayerOpacity]; if (!opacityVal) { opacityVal = [NSNumber numberWithFloat:0]; @@ -363,10 +408,9 @@ - (instancetype)init { - (void)layoutSublayers { [super layoutSublayers]; _compositeRipple.frame = self.frame; - CGFloat radius = MDCInkLayerRectHypotenuse(self.bounds) / 2.f; - if (_maxRippleRadius > 0) { - radius = _maxRippleRadius; - } + CGFloat radius = MDCInkLayerRadiusBounds(_maxRippleRadius, + MDCInkLayerRectHypotenuse(self.bounds) / 2.f, _bounded); + CGRect rippleFrame = CGRectMake(-(radius * 2.f - self.bounds.size.width) / 2.f, -(radius * 2.f - self.bounds.size.height) / 2.f, radius * 2.f, radius * 2.f); @@ -378,9 +422,9 @@ - (void)layoutSublayers { _compositeRipple.mask = rippleMaskLayer; } -- (void)reset { - [_foregroundRipple exit]; - [_backgroundRipple exit]; +- (void)reset:(BOOL)animated { + [_foregroundRipple exit:animated]; + [_backgroundRipple exit:animated]; _foregroundRipple = nil; _backgroundRipple = nil; } @@ -399,10 +443,8 @@ - (void)spreadFromPoint:(CGPoint)point completion:(void (^)())completionBlock { self.mask = nil; } - CGFloat radius = MDCInkLayerRectHypotenuse(self.bounds) / 2.f; - if (_maxRippleRadius > 0) { - radius = _maxRippleRadius; - } + CGFloat radius = MDCInkLayerRadiusBounds(_maxRippleRadius, + MDCInkLayerRectHypotenuse(self.bounds) / 2.f, _bounded); _backgroundRipple = [[MDCInkLayerBackgroundRipple alloc] init]; _backgroundRipple.inkLayer = _compositeRipple; @@ -433,13 +475,13 @@ - (void)spreadFromPoint:(CGPoint)point completion:(void (^)())completionBlock { - (void)evaporateWithCompletion:(void (^)())completionBlock { _evaporateCompletionBlock = completionBlock; - [self reset]; + [self reset:YES]; } - (void)evaporateToPoint:(CGPoint)point completion:(void (^)())completionBlock { _evaporateToPointCompletionBlock = completionBlock; _foregroundRipple.point = point; - [self reset]; + [self reset:YES]; } #pragma mark - MDCInkLayerRippleDelegate diff --git a/components/ProgressView/src/MDCProgressView.m b/components/ProgressView/src/MDCProgressView.m index 5e725fe117a..392c01ac4d3 100644 --- a/components/ProgressView/src/MDCProgressView.m +++ b/components/ProgressView/src/MDCProgressView.m @@ -156,8 +156,12 @@ - (void)setHidden:(BOOL)hidden { - (void)setHidden:(BOOL)hidden animated:(BOOL)animated completion:(void (^__nullable)(BOOL finished))completion { - if (hidden == self.hidden) + if (hidden == self.hidden) { + if (completion) { + completion(YES); + } return; + } void (^animations)(void); diff --git a/components/Snackbar/README.md b/components/Snackbar/README.md index 25c6117e450..f0ac67ec5d9 100644 --- a/components/Snackbar/README.md +++ b/components/Snackbar/README.md @@ -4,6 +4,11 @@ See + + [![Switch](docs/assets/snackbar.png)](docs/assets/snackbar.mp4) + + Snackbars provide brief feedback about an operation through a message at the bottom of the screen. Snackbars contain up to two lines of text directly related to the operation performed. They may contain a text action, but no icons. @@ -14,20 +19,7 @@ contain a text action, but no icons. -### Snackbar Classes - -#### Snackbar Manager and Message - -Snackbar is comprised of two classes: MDCSnackbarManager and MDCSnackbarMessage. Snackbar messages -contain text to be displayed to a user. Messages are passed to the manager. The manager decides when -it is appropriate to show a message to the user. - -#### Suspending and Resuming Display of Messages - -Snackbar manager can be instructed to suspend and resume displaying messages as needed. When -messages are suspended the manager provides a suspension token that the client must keep as long as -messages are suspended. When the client releases the suspension token or calls the manager's resume -method with the suspension token, then messages will resume being displayed. +- - - ## Installation @@ -52,6 +44,23 @@ pod install - - - +## Overview + +### Snackbar Manager and Message + +Snackbar is comprised of two classes: MDCSnackbarManager and MDCSnackbarMessage. Snackbar messages +contain text to be displayed to a user. Messages are passed to the manager. The manager decides when +it is appropriate to show a message to the user. + +### Suspending and Resuming Display of Messages + +Snackbar manager can be instructed to suspend and resume displaying messages as needed. When +messages are suspended the manager provides a suspension token that the client must keep as long as +messages are suspended. When the client releases the suspension token or calls the manager's resume +method with the suspension token, then messages will resume being displayed. + +- - - + ## Usage Displaying a snackbar requires using two classes: MDCSnackbarManager and MDCSnackbarMessage. @@ -70,10 +79,13 @@ Before using Snackbar, you'll need to import it: #import "MaterialSnackbar.h" ~~~ +- - - + ## Examples ### Display a Snackbar Message + #### Objective-C ~~~ objc @@ -89,9 +101,11 @@ let message = MDCSnackbarMessage() message.text = "The groundhog (Marmota monax) is also known as a woodchuck or whistlepig." MDCSnackbarManager.showMessage(message) ~~~ + ### Display a Snackbar Message with an Action + #### Objective-C ~~~ objc @@ -119,3 +133,4 @@ action.handler = actionHandler action.title = "OK" message.action = action ~~~ + diff --git a/contributing/releasing.md b/contributing/releasing.md index 9fbcfc0c941..4da102435bb 100644 --- a/contributing/releasing.md +++ b/contributing/releasing.md @@ -8,6 +8,12 @@ development, where the default branch is called `develop`. `master` is reserved `develop` branch is periodically copied to a release branch, tested, and then merged into `master`, which serves as the stable "vetted" branch. +## Issues affecting the release process + +Occasionally there are temporary issues with the release process, check the +["release" tag](https://github.com/google/material-components-ios/labels/where%3ARelease) +for anything that might be affecting the release. + ## Cutting the release ### Check the release milestone diff --git a/demos/Bare/Podfile.lock b/demos/Bare/Podfile.lock index 320b8cc8d81..97ae063cf42 100644 --- a/demos/Bare/Podfile.lock +++ b/demos/Bare/Podfile.lock @@ -1,36 +1,36 @@ PODS: - - MaterialComponents (16.0.0): - - MaterialComponents/ActivityIndicator (= 16.0.0) - - MaterialComponents/AnimationTiming (= 16.0.0) - - MaterialComponents/AppBar (= 16.0.0) - - MaterialComponents/ButtonBar (= 16.0.0) - - MaterialComponents/Buttons (= 16.0.0) - - MaterialComponents/CollectionCells (= 16.0.0) - - MaterialComponents/CollectionLayoutAttributes (= 16.0.0) - - MaterialComponents/Collections (= 16.0.0) - - MaterialComponents/Dialogs (= 16.0.0) - - MaterialComponents/FlexibleHeader (= 16.0.0) - - MaterialComponents/FontDiskLoader (= 16.0.0) - - MaterialComponents/HeaderStackView (= 16.0.0) - - MaterialComponents/Ink (= 16.0.0) - - MaterialComponents/NavigationBar (= 16.0.0) - - MaterialComponents/OverlayWindow (= 16.0.0) - - MaterialComponents/PageControl (= 16.0.0) - - MaterialComponents/Palettes (= 16.0.0) - - MaterialComponents/private (= 16.0.0) - - MaterialComponents/ProgressView (= 16.0.0) - - MaterialComponents/RobotoFontLoader (= 16.0.0) - - MaterialComponents/ShadowElevations (= 16.0.0) - - MaterialComponents/ShadowLayer (= 16.0.0) - - MaterialComponents/Slider (= 16.0.0) - - MaterialComponents/Snackbar (= 16.0.0) - - MaterialComponents/SpritedAnimationView (= 16.0.0) - - MaterialComponents/Switch (= 16.0.0) - - MaterialComponents/Typography (= 16.0.0) - - MaterialComponents/ActivityIndicator (16.0.0): + - MaterialComponents (16.1.0): + - MaterialComponents/ActivityIndicator (= 16.1.0) + - MaterialComponents/AnimationTiming (= 16.1.0) + - MaterialComponents/AppBar (= 16.1.0) + - MaterialComponents/ButtonBar (= 16.1.0) + - MaterialComponents/Buttons (= 16.1.0) + - MaterialComponents/CollectionCells (= 16.1.0) + - MaterialComponents/CollectionLayoutAttributes (= 16.1.0) + - MaterialComponents/Collections (= 16.1.0) + - MaterialComponents/Dialogs (= 16.1.0) + - MaterialComponents/FlexibleHeader (= 16.1.0) + - MaterialComponents/FontDiskLoader (= 16.1.0) + - MaterialComponents/HeaderStackView (= 16.1.0) + - MaterialComponents/Ink (= 16.1.0) + - MaterialComponents/NavigationBar (= 16.1.0) + - MaterialComponents/OverlayWindow (= 16.1.0) + - MaterialComponents/PageControl (= 16.1.0) + - MaterialComponents/Palettes (= 16.1.0) + - MaterialComponents/private (= 16.1.0) + - MaterialComponents/ProgressView (= 16.1.0) + - MaterialComponents/RobotoFontLoader (= 16.1.0) + - MaterialComponents/ShadowElevations (= 16.1.0) + - MaterialComponents/ShadowLayer (= 16.1.0) + - MaterialComponents/Slider (= 16.1.0) + - MaterialComponents/Snackbar (= 16.1.0) + - MaterialComponents/SpritedAnimationView (= 16.1.0) + - MaterialComponents/Switch (= 16.1.0) + - MaterialComponents/Typography (= 16.1.0) + - MaterialComponents/ActivityIndicator (16.1.0): - MaterialComponents/private/RTL - - MaterialComponents/AnimationTiming (16.0.0) - - MaterialComponents/AppBar (16.0.0): + - MaterialComponents/AnimationTiming (16.1.0) + - MaterialComponents/AppBar (16.1.0): - MaterialComponents/FlexibleHeader - MaterialComponents/HeaderStackView - MaterialComponents/NavigationBar @@ -39,16 +39,16 @@ PODS: - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/ButtonBar (16.0.0): + - MaterialComponents/ButtonBar (16.1.0): - MaterialComponents/Buttons - MaterialComponents/private/RTL - - MaterialComponents/Buttons (16.0.0): + - MaterialComponents/Buttons (16.1.0): - MaterialComponents/Ink - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - MDFTextAccessibility - - MaterialComponents/CollectionCells (16.0.0): + - MaterialComponents/CollectionCells (16.1.0): - MaterialComponents/CollectionLayoutAttributes - MaterialComponents/Ink - MaterialComponents/private/Icons/ic_check @@ -59,92 +59,92 @@ PODS: - MaterialComponents/private/Icons/ic_reorder - MaterialComponents/private/RTL - MaterialComponents/Typography - - MaterialComponents/CollectionLayoutAttributes (16.0.0) - - MaterialComponents/Collections (16.0.0): + - MaterialComponents/CollectionLayoutAttributes (16.1.0) + - MaterialComponents/Collections (16.1.0): - MaterialComponents/CollectionCells - MaterialComponents/CollectionLayoutAttributes - MaterialComponents/Ink - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/Dialogs (16.0.0): + - MaterialComponents/Dialogs (16.1.0): - MaterialComponents/Buttons - MaterialComponents/private/KeyboardWatcher - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - - MaterialComponents/FlexibleHeader (16.0.0): + - MaterialComponents/FlexibleHeader (16.1.0): - MDFTextAccessibility - - MaterialComponents/FontDiskLoader (16.0.0) - - MaterialComponents/HeaderStackView (16.0.0) - - MaterialComponents/Ink (16.0.0) - - MaterialComponents/NavigationBar (16.0.0): + - MaterialComponents/FontDiskLoader (16.1.0) + - MaterialComponents/HeaderStackView (16.1.0) + - MaterialComponents/Ink (16.1.0) + - MaterialComponents/NavigationBar (16.1.0): - MaterialComponents/ButtonBar - MaterialComponents/private/RTL - MaterialComponents/Typography - - MaterialComponents/OverlayWindow (16.0.0) - - MaterialComponents/PageControl (16.0.0) - - MaterialComponents/Palettes (16.0.0) - - MaterialComponents/private (16.0.0): - - MaterialComponents/private/Color (= 16.0.0) - - MaterialComponents/private/Icons (= 16.0.0) - - MaterialComponents/private/KeyboardWatcher (= 16.0.0) - - MaterialComponents/private/Overlay (= 16.0.0) - - MaterialComponents/private/RTL (= 16.0.0) - - MaterialComponents/private/ThumbTrack (= 16.0.0) - - MaterialComponents/private/Color (16.0.0) - - MaterialComponents/private/Icons (16.0.0): - - MaterialComponents/private/Icons/Base (= 16.0.0) - - MaterialComponents/private/Icons/ic_arrow_back (= 16.0.0) - - MaterialComponents/private/Icons/ic_check (= 16.0.0) - - MaterialComponents/private/Icons/ic_check_circle (= 16.0.0) - - MaterialComponents/private/Icons/ic_chevron_right (= 16.0.0) - - MaterialComponents/private/Icons/ic_info (= 16.0.0) - - MaterialComponents/private/Icons/ic_radio_button_unchecked (= 16.0.0) - - MaterialComponents/private/Icons/ic_reorder (= 16.0.0) - - MaterialComponents/private/Icons/Base (16.0.0) - - MaterialComponents/private/Icons/ic_arrow_back (16.0.0): + - MaterialComponents/OverlayWindow (16.1.0) + - MaterialComponents/PageControl (16.1.0) + - MaterialComponents/Palettes (16.1.0) + - MaterialComponents/private (16.1.0): + - MaterialComponents/private/Color (= 16.1.0) + - MaterialComponents/private/Icons (= 16.1.0) + - MaterialComponents/private/KeyboardWatcher (= 16.1.0) + - MaterialComponents/private/Overlay (= 16.1.0) + - MaterialComponents/private/RTL (= 16.1.0) + - MaterialComponents/private/ThumbTrack (= 16.1.0) + - MaterialComponents/private/Color (16.1.0) + - MaterialComponents/private/Icons (16.1.0): + - MaterialComponents/private/Icons/Base (= 16.1.0) + - MaterialComponents/private/Icons/ic_arrow_back (= 16.1.0) + - MaterialComponents/private/Icons/ic_check (= 16.1.0) + - MaterialComponents/private/Icons/ic_check_circle (= 16.1.0) + - MaterialComponents/private/Icons/ic_chevron_right (= 16.1.0) + - MaterialComponents/private/Icons/ic_info (= 16.1.0) + - MaterialComponents/private/Icons/ic_radio_button_unchecked (= 16.1.0) + - MaterialComponents/private/Icons/ic_reorder (= 16.1.0) + - MaterialComponents/private/Icons/Base (16.1.0) + - MaterialComponents/private/Icons/ic_arrow_back (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_check (16.0.0): + - MaterialComponents/private/Icons/ic_check (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_check_circle (16.0.0): + - MaterialComponents/private/Icons/ic_check_circle (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_chevron_right (16.0.0): + - MaterialComponents/private/Icons/ic_chevron_right (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_info (16.0.0): + - MaterialComponents/private/Icons/ic_info (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_radio_button_unchecked (16.0.0): + - MaterialComponents/private/Icons/ic_radio_button_unchecked (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_reorder (16.0.0): + - MaterialComponents/private/Icons/ic_reorder (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/KeyboardWatcher (16.0.0) - - MaterialComponents/private/Overlay (16.0.0) - - MaterialComponents/private/RTL (16.0.0) - - MaterialComponents/private/ThumbTrack (16.0.0): + - MaterialComponents/private/KeyboardWatcher (16.1.0) + - MaterialComponents/private/Overlay (16.1.0) + - MaterialComponents/private/RTL (16.1.0) + - MaterialComponents/private/ThumbTrack (16.1.0): - MaterialComponents/Ink - MaterialComponents/private/Color - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/ProgressView (16.0.0): + - MaterialComponents/ProgressView (16.1.0): - MaterialComponents/private/RTL - - MaterialComponents/RobotoFontLoader (16.0.0): + - MaterialComponents/RobotoFontLoader (16.1.0): - MaterialComponents/FontDiskLoader - MaterialComponents/Typography - - MaterialComponents/ShadowElevations (16.0.0) - - MaterialComponents/ShadowLayer (16.0.0) - - MaterialComponents/Slider (16.0.0): + - MaterialComponents/ShadowElevations (16.1.0) + - MaterialComponents/ShadowLayer (16.1.0) + - MaterialComponents/Slider (16.1.0): - MaterialComponents/private/ThumbTrack - - MaterialComponents/Snackbar (16.0.0): + - MaterialComponents/Snackbar (16.1.0): - MaterialComponents/AnimationTiming - MaterialComponents/Buttons - MaterialComponents/OverlayWindow - MaterialComponents/private/KeyboardWatcher - MaterialComponents/private/Overlay - - MaterialComponents/SpritedAnimationView (16.0.0) - - MaterialComponents/Switch (16.0.0): + - MaterialComponents/SpritedAnimationView (16.1.0) + - MaterialComponents/Switch (16.1.0): - MaterialComponents/private/RTL - MaterialComponents/private/ThumbTrack - - MaterialComponents/Typography (16.0.0) + - MaterialComponents/Typography (16.1.0) - MDFTextAccessibility (1.1.3) DEPENDENCIES: @@ -155,7 +155,7 @@ EXTERNAL SOURCES: :path: ../../ SPEC CHECKSUMS: - MaterialComponents: 9e8475453d0e5e0da7af16e79f5ba89e1f85cf96 + MaterialComponents: 5c73b785d39aa619bbe7c8819596aebedfb3444b MDFTextAccessibility: f05246cc165f78733bfad535365807ec6fef9601 PODFILE CHECKSUM: 44e7c616a05bb4ce24db557c3de4bfbe915c2f56 diff --git a/demos/Pesto/Podfile.lock b/demos/Pesto/Podfile.lock index 246ad7999e9..407d58609c2 100644 --- a/demos/Pesto/Podfile.lock +++ b/demos/Pesto/Podfile.lock @@ -1,36 +1,36 @@ PODS: - - MaterialComponents (16.0.0): - - MaterialComponents/ActivityIndicator (= 16.0.0) - - MaterialComponents/AnimationTiming (= 16.0.0) - - MaterialComponents/AppBar (= 16.0.0) - - MaterialComponents/ButtonBar (= 16.0.0) - - MaterialComponents/Buttons (= 16.0.0) - - MaterialComponents/CollectionCells (= 16.0.0) - - MaterialComponents/CollectionLayoutAttributes (= 16.0.0) - - MaterialComponents/Collections (= 16.0.0) - - MaterialComponents/Dialogs (= 16.0.0) - - MaterialComponents/FlexibleHeader (= 16.0.0) - - MaterialComponents/FontDiskLoader (= 16.0.0) - - MaterialComponents/HeaderStackView (= 16.0.0) - - MaterialComponents/Ink (= 16.0.0) - - MaterialComponents/NavigationBar (= 16.0.0) - - MaterialComponents/OverlayWindow (= 16.0.0) - - MaterialComponents/PageControl (= 16.0.0) - - MaterialComponents/Palettes (= 16.0.0) - - MaterialComponents/private (= 16.0.0) - - MaterialComponents/ProgressView (= 16.0.0) - - MaterialComponents/RobotoFontLoader (= 16.0.0) - - MaterialComponents/ShadowElevations (= 16.0.0) - - MaterialComponents/ShadowLayer (= 16.0.0) - - MaterialComponents/Slider (= 16.0.0) - - MaterialComponents/Snackbar (= 16.0.0) - - MaterialComponents/SpritedAnimationView (= 16.0.0) - - MaterialComponents/Switch (= 16.0.0) - - MaterialComponents/Typography (= 16.0.0) - - MaterialComponents/ActivityIndicator (16.0.0): + - MaterialComponents (16.1.0): + - MaterialComponents/ActivityIndicator (= 16.1.0) + - MaterialComponents/AnimationTiming (= 16.1.0) + - MaterialComponents/AppBar (= 16.1.0) + - MaterialComponents/ButtonBar (= 16.1.0) + - MaterialComponents/Buttons (= 16.1.0) + - MaterialComponents/CollectionCells (= 16.1.0) + - MaterialComponents/CollectionLayoutAttributes (= 16.1.0) + - MaterialComponents/Collections (= 16.1.0) + - MaterialComponents/Dialogs (= 16.1.0) + - MaterialComponents/FlexibleHeader (= 16.1.0) + - MaterialComponents/FontDiskLoader (= 16.1.0) + - MaterialComponents/HeaderStackView (= 16.1.0) + - MaterialComponents/Ink (= 16.1.0) + - MaterialComponents/NavigationBar (= 16.1.0) + - MaterialComponents/OverlayWindow (= 16.1.0) + - MaterialComponents/PageControl (= 16.1.0) + - MaterialComponents/Palettes (= 16.1.0) + - MaterialComponents/private (= 16.1.0) + - MaterialComponents/ProgressView (= 16.1.0) + - MaterialComponents/RobotoFontLoader (= 16.1.0) + - MaterialComponents/ShadowElevations (= 16.1.0) + - MaterialComponents/ShadowLayer (= 16.1.0) + - MaterialComponents/Slider (= 16.1.0) + - MaterialComponents/Snackbar (= 16.1.0) + - MaterialComponents/SpritedAnimationView (= 16.1.0) + - MaterialComponents/Switch (= 16.1.0) + - MaterialComponents/Typography (= 16.1.0) + - MaterialComponents/ActivityIndicator (16.1.0): - MaterialComponents/private/RTL - - MaterialComponents/AnimationTiming (16.0.0) - - MaterialComponents/AppBar (16.0.0): + - MaterialComponents/AnimationTiming (16.1.0) + - MaterialComponents/AppBar (16.1.0): - MaterialComponents/FlexibleHeader - MaterialComponents/HeaderStackView - MaterialComponents/NavigationBar @@ -39,16 +39,16 @@ PODS: - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/ButtonBar (16.0.0): + - MaterialComponents/ButtonBar (16.1.0): - MaterialComponents/Buttons - MaterialComponents/private/RTL - - MaterialComponents/Buttons (16.0.0): + - MaterialComponents/Buttons (16.1.0): - MaterialComponents/Ink - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - MDFTextAccessibility - - MaterialComponents/CollectionCells (16.0.0): + - MaterialComponents/CollectionCells (16.1.0): - MaterialComponents/CollectionLayoutAttributes - MaterialComponents/Ink - MaterialComponents/private/Icons/ic_check @@ -59,92 +59,92 @@ PODS: - MaterialComponents/private/Icons/ic_reorder - MaterialComponents/private/RTL - MaterialComponents/Typography - - MaterialComponents/CollectionLayoutAttributes (16.0.0) - - MaterialComponents/Collections (16.0.0): + - MaterialComponents/CollectionLayoutAttributes (16.1.0) + - MaterialComponents/Collections (16.1.0): - MaterialComponents/CollectionCells - MaterialComponents/CollectionLayoutAttributes - MaterialComponents/Ink - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/Dialogs (16.0.0): + - MaterialComponents/Dialogs (16.1.0): - MaterialComponents/Buttons - MaterialComponents/private/KeyboardWatcher - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - - MaterialComponents/FlexibleHeader (16.0.0): + - MaterialComponents/FlexibleHeader (16.1.0): - MDFTextAccessibility - - MaterialComponents/FontDiskLoader (16.0.0) - - MaterialComponents/HeaderStackView (16.0.0) - - MaterialComponents/Ink (16.0.0) - - MaterialComponents/NavigationBar (16.0.0): + - MaterialComponents/FontDiskLoader (16.1.0) + - MaterialComponents/HeaderStackView (16.1.0) + - MaterialComponents/Ink (16.1.0) + - MaterialComponents/NavigationBar (16.1.0): - MaterialComponents/ButtonBar - MaterialComponents/private/RTL - MaterialComponents/Typography - - MaterialComponents/OverlayWindow (16.0.0) - - MaterialComponents/PageControl (16.0.0) - - MaterialComponents/Palettes (16.0.0) - - MaterialComponents/private (16.0.0): - - MaterialComponents/private/Color (= 16.0.0) - - MaterialComponents/private/Icons (= 16.0.0) - - MaterialComponents/private/KeyboardWatcher (= 16.0.0) - - MaterialComponents/private/Overlay (= 16.0.0) - - MaterialComponents/private/RTL (= 16.0.0) - - MaterialComponents/private/ThumbTrack (= 16.0.0) - - MaterialComponents/private/Color (16.0.0) - - MaterialComponents/private/Icons (16.0.0): - - MaterialComponents/private/Icons/Base (= 16.0.0) - - MaterialComponents/private/Icons/ic_arrow_back (= 16.0.0) - - MaterialComponents/private/Icons/ic_check (= 16.0.0) - - MaterialComponents/private/Icons/ic_check_circle (= 16.0.0) - - MaterialComponents/private/Icons/ic_chevron_right (= 16.0.0) - - MaterialComponents/private/Icons/ic_info (= 16.0.0) - - MaterialComponents/private/Icons/ic_radio_button_unchecked (= 16.0.0) - - MaterialComponents/private/Icons/ic_reorder (= 16.0.0) - - MaterialComponents/private/Icons/Base (16.0.0) - - MaterialComponents/private/Icons/ic_arrow_back (16.0.0): + - MaterialComponents/OverlayWindow (16.1.0) + - MaterialComponents/PageControl (16.1.0) + - MaterialComponents/Palettes (16.1.0) + - MaterialComponents/private (16.1.0): + - MaterialComponents/private/Color (= 16.1.0) + - MaterialComponents/private/Icons (= 16.1.0) + - MaterialComponents/private/KeyboardWatcher (= 16.1.0) + - MaterialComponents/private/Overlay (= 16.1.0) + - MaterialComponents/private/RTL (= 16.1.0) + - MaterialComponents/private/ThumbTrack (= 16.1.0) + - MaterialComponents/private/Color (16.1.0) + - MaterialComponents/private/Icons (16.1.0): + - MaterialComponents/private/Icons/Base (= 16.1.0) + - MaterialComponents/private/Icons/ic_arrow_back (= 16.1.0) + - MaterialComponents/private/Icons/ic_check (= 16.1.0) + - MaterialComponents/private/Icons/ic_check_circle (= 16.1.0) + - MaterialComponents/private/Icons/ic_chevron_right (= 16.1.0) + - MaterialComponents/private/Icons/ic_info (= 16.1.0) + - MaterialComponents/private/Icons/ic_radio_button_unchecked (= 16.1.0) + - MaterialComponents/private/Icons/ic_reorder (= 16.1.0) + - MaterialComponents/private/Icons/Base (16.1.0) + - MaterialComponents/private/Icons/ic_arrow_back (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_check (16.0.0): + - MaterialComponents/private/Icons/ic_check (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_check_circle (16.0.0): + - MaterialComponents/private/Icons/ic_check_circle (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_chevron_right (16.0.0): + - MaterialComponents/private/Icons/ic_chevron_right (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_info (16.0.0): + - MaterialComponents/private/Icons/ic_info (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_radio_button_unchecked (16.0.0): + - MaterialComponents/private/Icons/ic_radio_button_unchecked (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_reorder (16.0.0): + - MaterialComponents/private/Icons/ic_reorder (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/KeyboardWatcher (16.0.0) - - MaterialComponents/private/Overlay (16.0.0) - - MaterialComponents/private/RTL (16.0.0) - - MaterialComponents/private/ThumbTrack (16.0.0): + - MaterialComponents/private/KeyboardWatcher (16.1.0) + - MaterialComponents/private/Overlay (16.1.0) + - MaterialComponents/private/RTL (16.1.0) + - MaterialComponents/private/ThumbTrack (16.1.0): - MaterialComponents/Ink - MaterialComponents/private/Color - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/ProgressView (16.0.0): + - MaterialComponents/ProgressView (16.1.0): - MaterialComponents/private/RTL - - MaterialComponents/RobotoFontLoader (16.0.0): + - MaterialComponents/RobotoFontLoader (16.1.0): - MaterialComponents/FontDiskLoader - MaterialComponents/Typography - - MaterialComponents/ShadowElevations (16.0.0) - - MaterialComponents/ShadowLayer (16.0.0) - - MaterialComponents/Slider (16.0.0): + - MaterialComponents/ShadowElevations (16.1.0) + - MaterialComponents/ShadowLayer (16.1.0) + - MaterialComponents/Slider (16.1.0): - MaterialComponents/private/ThumbTrack - - MaterialComponents/Snackbar (16.0.0): + - MaterialComponents/Snackbar (16.1.0): - MaterialComponents/AnimationTiming - MaterialComponents/Buttons - MaterialComponents/OverlayWindow - MaterialComponents/private/KeyboardWatcher - MaterialComponents/private/Overlay - - MaterialComponents/SpritedAnimationView (16.0.0) - - MaterialComponents/Switch (16.0.0): + - MaterialComponents/SpritedAnimationView (16.1.0) + - MaterialComponents/Switch (16.1.0): - MaterialComponents/private/RTL - MaterialComponents/private/ThumbTrack - - MaterialComponents/Typography (16.0.0) + - MaterialComponents/Typography (16.1.0) - MDFTextAccessibility (1.1.3) DEPENDENCIES: @@ -155,7 +155,7 @@ EXTERNAL SOURCES: :path: ../../ SPEC CHECKSUMS: - MaterialComponents: 9e8475453d0e5e0da7af16e79f5ba89e1f85cf96 + MaterialComponents: 5c73b785d39aa619bbe7c8819596aebedfb3444b MDFTextAccessibility: f05246cc165f78733bfad535365807ec6fef9601 PODFILE CHECKSUM: f138be16d4835113ff672258fc7529fad3f90e91 diff --git a/demos/Shrine/Podfile.lock b/demos/Shrine/Podfile.lock index 7e91715ac92..b34fdf7e04a 100644 --- a/demos/Shrine/Podfile.lock +++ b/demos/Shrine/Podfile.lock @@ -1,36 +1,36 @@ PODS: - - MaterialComponents (16.0.0): - - MaterialComponents/ActivityIndicator (= 16.0.0) - - MaterialComponents/AnimationTiming (= 16.0.0) - - MaterialComponents/AppBar (= 16.0.0) - - MaterialComponents/ButtonBar (= 16.0.0) - - MaterialComponents/Buttons (= 16.0.0) - - MaterialComponents/CollectionCells (= 16.0.0) - - MaterialComponents/CollectionLayoutAttributes (= 16.0.0) - - MaterialComponents/Collections (= 16.0.0) - - MaterialComponents/Dialogs (= 16.0.0) - - MaterialComponents/FlexibleHeader (= 16.0.0) - - MaterialComponents/FontDiskLoader (= 16.0.0) - - MaterialComponents/HeaderStackView (= 16.0.0) - - MaterialComponents/Ink (= 16.0.0) - - MaterialComponents/NavigationBar (= 16.0.0) - - MaterialComponents/OverlayWindow (= 16.0.0) - - MaterialComponents/PageControl (= 16.0.0) - - MaterialComponents/Palettes (= 16.0.0) - - MaterialComponents/private (= 16.0.0) - - MaterialComponents/ProgressView (= 16.0.0) - - MaterialComponents/RobotoFontLoader (= 16.0.0) - - MaterialComponents/ShadowElevations (= 16.0.0) - - MaterialComponents/ShadowLayer (= 16.0.0) - - MaterialComponents/Slider (= 16.0.0) - - MaterialComponents/Snackbar (= 16.0.0) - - MaterialComponents/SpritedAnimationView (= 16.0.0) - - MaterialComponents/Switch (= 16.0.0) - - MaterialComponents/Typography (= 16.0.0) - - MaterialComponents/ActivityIndicator (16.0.0): + - MaterialComponents (16.1.0): + - MaterialComponents/ActivityIndicator (= 16.1.0) + - MaterialComponents/AnimationTiming (= 16.1.0) + - MaterialComponents/AppBar (= 16.1.0) + - MaterialComponents/ButtonBar (= 16.1.0) + - MaterialComponents/Buttons (= 16.1.0) + - MaterialComponents/CollectionCells (= 16.1.0) + - MaterialComponents/CollectionLayoutAttributes (= 16.1.0) + - MaterialComponents/Collections (= 16.1.0) + - MaterialComponents/Dialogs (= 16.1.0) + - MaterialComponents/FlexibleHeader (= 16.1.0) + - MaterialComponents/FontDiskLoader (= 16.1.0) + - MaterialComponents/HeaderStackView (= 16.1.0) + - MaterialComponents/Ink (= 16.1.0) + - MaterialComponents/NavigationBar (= 16.1.0) + - MaterialComponents/OverlayWindow (= 16.1.0) + - MaterialComponents/PageControl (= 16.1.0) + - MaterialComponents/Palettes (= 16.1.0) + - MaterialComponents/private (= 16.1.0) + - MaterialComponents/ProgressView (= 16.1.0) + - MaterialComponents/RobotoFontLoader (= 16.1.0) + - MaterialComponents/ShadowElevations (= 16.1.0) + - MaterialComponents/ShadowLayer (= 16.1.0) + - MaterialComponents/Slider (= 16.1.0) + - MaterialComponents/Snackbar (= 16.1.0) + - MaterialComponents/SpritedAnimationView (= 16.1.0) + - MaterialComponents/Switch (= 16.1.0) + - MaterialComponents/Typography (= 16.1.0) + - MaterialComponents/ActivityIndicator (16.1.0): - MaterialComponents/private/RTL - - MaterialComponents/AnimationTiming (16.0.0) - - MaterialComponents/AppBar (16.0.0): + - MaterialComponents/AnimationTiming (16.1.0) + - MaterialComponents/AppBar (16.1.0): - MaterialComponents/FlexibleHeader - MaterialComponents/HeaderStackView - MaterialComponents/NavigationBar @@ -39,16 +39,16 @@ PODS: - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/ButtonBar (16.0.0): + - MaterialComponents/ButtonBar (16.1.0): - MaterialComponents/Buttons - MaterialComponents/private/RTL - - MaterialComponents/Buttons (16.0.0): + - MaterialComponents/Buttons (16.1.0): - MaterialComponents/Ink - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - MDFTextAccessibility - - MaterialComponents/CollectionCells (16.0.0): + - MaterialComponents/CollectionCells (16.1.0): - MaterialComponents/CollectionLayoutAttributes - MaterialComponents/Ink - MaterialComponents/private/Icons/ic_check @@ -59,92 +59,92 @@ PODS: - MaterialComponents/private/Icons/ic_reorder - MaterialComponents/private/RTL - MaterialComponents/Typography - - MaterialComponents/CollectionLayoutAttributes (16.0.0) - - MaterialComponents/Collections (16.0.0): + - MaterialComponents/CollectionLayoutAttributes (16.1.0) + - MaterialComponents/Collections (16.1.0): - MaterialComponents/CollectionCells - MaterialComponents/CollectionLayoutAttributes - MaterialComponents/Ink - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/Dialogs (16.0.0): + - MaterialComponents/Dialogs (16.1.0): - MaterialComponents/Buttons - MaterialComponents/private/KeyboardWatcher - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - - MaterialComponents/FlexibleHeader (16.0.0): + - MaterialComponents/FlexibleHeader (16.1.0): - MDFTextAccessibility - - MaterialComponents/FontDiskLoader (16.0.0) - - MaterialComponents/HeaderStackView (16.0.0) - - MaterialComponents/Ink (16.0.0) - - MaterialComponents/NavigationBar (16.0.0): + - MaterialComponents/FontDiskLoader (16.1.0) + - MaterialComponents/HeaderStackView (16.1.0) + - MaterialComponents/Ink (16.1.0) + - MaterialComponents/NavigationBar (16.1.0): - MaterialComponents/ButtonBar - MaterialComponents/private/RTL - MaterialComponents/Typography - - MaterialComponents/OverlayWindow (16.0.0) - - MaterialComponents/PageControl (16.0.0) - - MaterialComponents/Palettes (16.0.0) - - MaterialComponents/private (16.0.0): - - MaterialComponents/private/Color (= 16.0.0) - - MaterialComponents/private/Icons (= 16.0.0) - - MaterialComponents/private/KeyboardWatcher (= 16.0.0) - - MaterialComponents/private/Overlay (= 16.0.0) - - MaterialComponents/private/RTL (= 16.0.0) - - MaterialComponents/private/ThumbTrack (= 16.0.0) - - MaterialComponents/private/Color (16.0.0) - - MaterialComponents/private/Icons (16.0.0): - - MaterialComponents/private/Icons/Base (= 16.0.0) - - MaterialComponents/private/Icons/ic_arrow_back (= 16.0.0) - - MaterialComponents/private/Icons/ic_check (= 16.0.0) - - MaterialComponents/private/Icons/ic_check_circle (= 16.0.0) - - MaterialComponents/private/Icons/ic_chevron_right (= 16.0.0) - - MaterialComponents/private/Icons/ic_info (= 16.0.0) - - MaterialComponents/private/Icons/ic_radio_button_unchecked (= 16.0.0) - - MaterialComponents/private/Icons/ic_reorder (= 16.0.0) - - MaterialComponents/private/Icons/Base (16.0.0) - - MaterialComponents/private/Icons/ic_arrow_back (16.0.0): + - MaterialComponents/OverlayWindow (16.1.0) + - MaterialComponents/PageControl (16.1.0) + - MaterialComponents/Palettes (16.1.0) + - MaterialComponents/private (16.1.0): + - MaterialComponents/private/Color (= 16.1.0) + - MaterialComponents/private/Icons (= 16.1.0) + - MaterialComponents/private/KeyboardWatcher (= 16.1.0) + - MaterialComponents/private/Overlay (= 16.1.0) + - MaterialComponents/private/RTL (= 16.1.0) + - MaterialComponents/private/ThumbTrack (= 16.1.0) + - MaterialComponents/private/Color (16.1.0) + - MaterialComponents/private/Icons (16.1.0): + - MaterialComponents/private/Icons/Base (= 16.1.0) + - MaterialComponents/private/Icons/ic_arrow_back (= 16.1.0) + - MaterialComponents/private/Icons/ic_check (= 16.1.0) + - MaterialComponents/private/Icons/ic_check_circle (= 16.1.0) + - MaterialComponents/private/Icons/ic_chevron_right (= 16.1.0) + - MaterialComponents/private/Icons/ic_info (= 16.1.0) + - MaterialComponents/private/Icons/ic_radio_button_unchecked (= 16.1.0) + - MaterialComponents/private/Icons/ic_reorder (= 16.1.0) + - MaterialComponents/private/Icons/Base (16.1.0) + - MaterialComponents/private/Icons/ic_arrow_back (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_check (16.0.0): + - MaterialComponents/private/Icons/ic_check (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_check_circle (16.0.0): + - MaterialComponents/private/Icons/ic_check_circle (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_chevron_right (16.0.0): + - MaterialComponents/private/Icons/ic_chevron_right (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_info (16.0.0): + - MaterialComponents/private/Icons/ic_info (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_radio_button_unchecked (16.0.0): + - MaterialComponents/private/Icons/ic_radio_button_unchecked (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/Icons/ic_reorder (16.0.0): + - MaterialComponents/private/Icons/ic_reorder (16.1.0): - MaterialComponents/private/Icons/Base - - MaterialComponents/private/KeyboardWatcher (16.0.0) - - MaterialComponents/private/Overlay (16.0.0) - - MaterialComponents/private/RTL (16.0.0) - - MaterialComponents/private/ThumbTrack (16.0.0): + - MaterialComponents/private/KeyboardWatcher (16.1.0) + - MaterialComponents/private/Overlay (16.1.0) + - MaterialComponents/private/RTL (16.1.0) + - MaterialComponents/private/ThumbTrack (16.1.0): - MaterialComponents/Ink - MaterialComponents/private/Color - MaterialComponents/ShadowElevations - MaterialComponents/ShadowLayer - MaterialComponents/Typography - - MaterialComponents/ProgressView (16.0.0): + - MaterialComponents/ProgressView (16.1.0): - MaterialComponents/private/RTL - - MaterialComponents/RobotoFontLoader (16.0.0): + - MaterialComponents/RobotoFontLoader (16.1.0): - MaterialComponents/FontDiskLoader - MaterialComponents/Typography - - MaterialComponents/ShadowElevations (16.0.0) - - MaterialComponents/ShadowLayer (16.0.0) - - MaterialComponents/Slider (16.0.0): + - MaterialComponents/ShadowElevations (16.1.0) + - MaterialComponents/ShadowLayer (16.1.0) + - MaterialComponents/Slider (16.1.0): - MaterialComponents/private/ThumbTrack - - MaterialComponents/Snackbar (16.0.0): + - MaterialComponents/Snackbar (16.1.0): - MaterialComponents/AnimationTiming - MaterialComponents/Buttons - MaterialComponents/OverlayWindow - MaterialComponents/private/KeyboardWatcher - MaterialComponents/private/Overlay - - MaterialComponents/SpritedAnimationView (16.0.0) - - MaterialComponents/Switch (16.0.0): + - MaterialComponents/SpritedAnimationView (16.1.0) + - MaterialComponents/Switch (16.1.0): - MaterialComponents/private/RTL - MaterialComponents/private/ThumbTrack - - MaterialComponents/Typography (16.0.0) + - MaterialComponents/Typography (16.1.0) - MDFTextAccessibility (1.1.3) DEPENDENCIES: @@ -155,7 +155,7 @@ EXTERNAL SOURCES: :path: ../../ SPEC CHECKSUMS: - MaterialComponents: 9e8475453d0e5e0da7af16e79f5ba89e1f85cf96 + MaterialComponents: 5c73b785d39aa619bbe7c8819596aebedfb3444b MDFTextAccessibility: f05246cc165f78733bfad535365807ec6fef9601 PODFILE CHECKSUM: b585ca32a2884e050823cc1f861e8b7246f7dcc1 diff --git a/scripts/release/api_diff b/scripts/release/api_diff index bd5ec5f14fa..0f7a0e94577 100755 --- a/scripts/release/api_diff +++ b/scripts/release/api_diff @@ -21,8 +21,79 @@ MDC_ROOT="$(git rev-parse --show-toplevel | tail -n1)"; popd >> /dev/null cd $MDC_ROOT if [ ! $(git rev-parse --verify release-candidate 2> /dev/null) ]; then - echo "Please cut a release first by running scripts/release/cut." - exit 1 +echo "Please cut a release first by running scripts/release/cut." +exit 1 +fi + +validate_commit() { +git cat-file -t $1 >> /dev/null 2> /dev/null || { echo "$1 is not a valid commit."; exit 1; } +} + +# Verify commits +old_commit=$(git rev-list -n 1 origin/master) +new_commit=$(git rev-list -n 1 release-candidate) + +if [[ -z "$old_commit" || -z "$new_commit" ]]; then +# Change message to say commits are not present +exit 0 +fi + +validate_commit $old_commit +validate_commit $new_commit + +# Create temp directories for old commit and new commit +# Compute directories relative to the script's known location in scripts/ +SCRIPTS_PATH="$MDC_ROOT/scripts" + +TMP_PATH=$(mktemp -d) +OLD_ROOT_PATH="$TMP_PATH/old" +NEW_ROOT_PATH="$TMP_PATH/new" +"$SCRIPTS_PATH/temporary_clone_at_ref" "$OLD_ROOT_PATH" $old_commit +"$SCRIPTS_PATH/temporary_clone_at_ref" "$NEW_ROOT_PATH" $new_commit + +# Find command in all component src directories and grab search path for "Material$component.h" +old_header_search_paths="" +new_header_search_paths="" +for d in $NEW_ROOT_PATH/components/*/src; do +folder=$(dirname $d) +component=$(basename $folder) +old_header_search_paths="$old_header_search_paths --oldargs -I$OLD_ROOT_PATH/components/$component/src/ " +new_header_search_paths="$new_header_search_paths --newargs -I$NEW_ROOT_PATH/components/$component/src/ " +done + +echo "## API diffs" +echo +echo "Auto-generated by running:" +echo +echo " scripts/api_diff" + +path_api_diff() { +$SCRIPTS_PATH/material-motion-apidiff/src/pathapidiff "$@" +} + +# Run new pathdiff script on each umbrella header in array +for d in $NEW_ROOT_PATH/components/*/src; do +folder=$(dirname $d) +component=$(basename $folder) + +echo +echo "### $component" +echo + +if [ ! -d "$OLD_ROOT_PATH/components/$component/src" ]; then +echo "**New component.**" +continue +fi + +path_api_diff \ +$OLD_ROOT_PATH \ +$NEW_ROOT_PATH \ +objc \ +"/components/$component/src/Material$component.h" +done + +if [ ! -z "$TMP_PATH" ]; then +echo "Cleaning up..." +rm -rf $TMP_PATH fi -scripts/api_diff -o origin/master -n release-candidate