From ecb75418b8d86cc34041a675c89abc12ad4e509a Mon Sep 17 00:00:00 2001 From: featherless Date: Fri, 8 Mar 2019 09:43:47 -0500 Subject: [PATCH 1/7] Drop support for iOS 8 (#122) --- .kokoro | 2 +- .travis.yml | 4 ---- BUILD | 2 +- MotionAnimator.podspec | 2 +- README.md | 8 ++++---- .../MotionAnimatorCatalog.xcodeproj/project.pbxproj | 4 ++-- 6 files changed, 9 insertions(+), 13 deletions(-) diff --git a/.kokoro b/.kokoro index 76149df..afe9ece 100755 --- a/.kokoro +++ b/.kokoro @@ -21,7 +21,7 @@ set -e set -x BAZEL_VERSION="0.20.0" -IOS_MINIMUM_OS="8.0" +IOS_MINIMUM_OS="9.0" IOS_CPUS="i386,x86_64" get_xcode_version_from_path() { diff --git a/.travis.yml b/.travis.yml index 4e49237..e66b04c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,10 +13,6 @@ matrix: env: SDK="iphonesimulator11.2" DESTINATION="name=iPhone 6s,OS=10.3.1" - osx_image: xcode9.2 env: SDK="iphonesimulator11.2" DESTINATION="name=iPhone 6s,OS=9.3" - - osx_image: xcode9.2 - env: SDK="iphonesimulator11.2" DESTINATION="name=iPhone 6,OS=8.4" - - osx_image: xcode8.3 - env: SDK="iphonesimulator10.3" DESTINATION="name=iPhone 6,OS=8.1" before_install: - gem install cocoapods --no-rdoc --no-ri --no-document --quiet - pod install --repo-update diff --git a/BUILD b/BUILD index 77a8368..e344490 100644 --- a/BUILD +++ b/BUILD @@ -77,7 +77,7 @@ ios_ui_test( ":UnitTestsSwiftLib" ], test_host = "@build_bazel_rules_apple//apple/testing/default_host/ios", - minimum_os_version = "8.0", + minimum_os_version = "9.0", timeout = "short", visibility = ["//visibility:private"], ) diff --git a/MotionAnimator.podspec b/MotionAnimator.podspec index 1ada9f6..11341ba 100644 --- a/MotionAnimator.podspec +++ b/MotionAnimator.podspec @@ -6,7 +6,7 @@ Pod::Spec.new do |s| s.license = "Apache 2.0" s.homepage = "https://github.com/material-motion/motion-animator-objc" s.source = { :git => "https://github.com/material-motion/motion-animator-objc.git", :tag => "v" + s.version.to_s } - s.platform = :ios, "8.0" + s.platform = :ios, "9.0" s.requires_arc = true s.public_header_files = "src/*.h" diff --git a/README.md b/README.md index 6b99a75..eb73949 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![Motion Animator Banner](img/motion-animator-banner.gif) -> An animator for iOS 8+ that combines the best aspects of modern UIView and CALayer animation APIs. +> An animator for iOS 9+ that combines the best aspects of modern UIView and CALayer animation APIs. [![Build Status](https://travis-ci.org/material-motion/motion-animator-objc.svg?branch=develop)](https://travis-ci.org/material-motion/motion-animator-objc) [![codecov](https://codecov.io/gh/material-motion/motion-animator-objc/branch/develop/graph/badge.svg)](https://codecov.io/gh/material-motion/motion-animator-objc) @@ -16,7 +16,7 @@ 🎉Consistent model layer value expectations. -The following properties can be implicitly animated using the MotionAnimator on iOS 8 and up: +The following properties can be implicitly animated using the MotionAnimator on iOS 9 and up: @@ -71,7 +71,7 @@ UIView.animate(withDuration: 1.0, animations: { }) MotionAnimator.animate(withDuration: 1.0, animations: { - view.layer.cornerRadius = 10 // Works on iOS 8 and up + view.layer.cornerRadius = 10 // Works on iOS 9 and up }) ``` @@ -443,7 +443,7 @@ UIView.animate(withDuration: 0.8, animations: { view.layer.borderWidth = 10 }, completion: nil) -// This works all the way back to iOS 8. +// This works back to iOS 9. MotionAnimator.animate(withDuration: 0.8, animations: { view.layer.borderWidth = 10 }, completion: nil) diff --git a/examples/apps/Catalog/MotionAnimatorCatalog.xcodeproj/project.pbxproj b/examples/apps/Catalog/MotionAnimatorCatalog.xcodeproj/project.pbxproj index 7b0732d..11be8e8 100644 --- a/examples/apps/Catalog/MotionAnimatorCatalog.xcodeproj/project.pbxproj +++ b/examples/apps/Catalog/MotionAnimatorCatalog.xcodeproj/project.pbxproj @@ -600,7 +600,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8; + IPHONEOS_DEPLOYMENT_TARGET = 9; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -640,7 +640,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8; + IPHONEOS_DEPLOYMENT_TARGET = 9; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; From 0dce7f8c521e321cb904e9fbe3dc5880e623d6d8 Mon Sep 17 00:00:00 2001 From: featherless Date: Fri, 8 Mar 2019 13:51:33 -0500 Subject: [PATCH 2/7] Resolve a static analyzer warning. (#124) The warning was: nil passed to a callee that requires a non-null 3rd parameter This warning was correctly identifying that the public API for the animator was mis-typed as nonnull. The API has been updated to reflect the fact that a nil value is accepted. --- src/private/MDMAnimationRegistrar.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/private/MDMAnimationRegistrar.h b/src/private/MDMAnimationRegistrar.h index 96e567f..3de6485 100644 --- a/src/private/MDMAnimationRegistrar.h +++ b/src/private/MDMAnimationRegistrar.h @@ -25,7 +25,7 @@ // executed. - (void)addAnimation:(nonnull CABasicAnimation *)animation toLayer:(nonnull CALayer *)layer - forKey:(nonnull NSString *)key + forKey:(nullable NSString *)key completion:(void(^ __nullable)(BOOL))completion; // For every active animation, reads the associated layer's presentation layer key path and writes From 953f7505cc85d66dcd88c4c306765d22ea73c230 Mon Sep 17 00:00:00 2001 From: featherless Date: Fri, 8 Mar 2019 13:52:10 -0500 Subject: [PATCH 3/7] Ran pod install with latest cocoapods. (#123) --- Podfile.lock | 6 +++--- .../MotionAnimatorCatalog.xcodeproj/project.pbxproj | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Podfile.lock b/Podfile.lock index bac1b7c..e081467 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,6 +1,6 @@ PODS: - CatalogByConvention (2.5.1) - - MotionAnimator (2.8.1): + - MotionAnimator (3.0.0): - MotionInterchange (~> 2.0) - MotionInterchange (2.0.0) @@ -19,9 +19,9 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: CatalogByConvention: 2b58a9b64e5b1049abb5d3f8e764a551bbe843a7 - MotionAnimator: ab78e3a6eb59f1061c2c00dd09dc923f254f4a61 + MotionAnimator: 09a4de79182ef05a2476b304271e1ef6a5a3b022 MotionInterchange: 5b7325142e4af884278bab7adcd264976a8c0593 PODFILE CHECKSUM: 3537bf01c11174928ac008c20fec4738722e96f3 -COCOAPODS: 1.5.3 +COCOAPODS: 1.6.0 diff --git a/examples/apps/Catalog/MotionAnimatorCatalog.xcodeproj/project.pbxproj b/examples/apps/Catalog/MotionAnimatorCatalog.xcodeproj/project.pbxproj index 11be8e8..7600b1b 100644 --- a/examples/apps/Catalog/MotionAnimatorCatalog.xcodeproj/project.pbxproj +++ b/examples/apps/Catalog/MotionAnimatorCatalog.xcodeproj/project.pbxproj @@ -408,7 +408,7 @@ files = ( ); inputPaths = ( - "${SRCROOT}/../../../Pods/Target Support Files/Pods-UnitTests/Pods-UnitTests-frameworks.sh", + "${PODS_ROOT}/Target Support Files/Pods-UnitTests/Pods-UnitTests-frameworks.sh", "${BUILT_PRODUCTS_DIR}/MotionAnimator/MotionAnimator.framework", "${BUILT_PRODUCTS_DIR}/MotionInterchange/MotionInterchange.framework", ); @@ -419,7 +419,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/../../../Pods/Target Support Files/Pods-UnitTests/Pods-UnitTests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-UnitTests/Pods-UnitTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; 5A3F2ED10BF3C472BA1601C5 /* [CP] Check Pods Manifest.lock */ = { @@ -446,7 +446,7 @@ files = ( ); inputPaths = ( - "${SRCROOT}/../../../Pods/Target Support Files/Pods-MotionAnimatorCatalog/Pods-MotionAnimatorCatalog-frameworks.sh", + "${PODS_ROOT}/Target Support Files/Pods-MotionAnimatorCatalog/Pods-MotionAnimatorCatalog-frameworks.sh", "${BUILT_PRODUCTS_DIR}/CatalogByConvention/CatalogByConvention.framework", "${BUILT_PRODUCTS_DIR}/MotionAnimator/MotionAnimator.framework", "${BUILT_PRODUCTS_DIR}/MotionInterchange/MotionInterchange.framework", @@ -459,7 +459,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/../../../Pods/Target Support Files/Pods-MotionAnimatorCatalog/Pods-MotionAnimatorCatalog-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-MotionAnimatorCatalog/Pods-MotionAnimatorCatalog-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; C56294D2A9A4F3CE12368EA2 /* [CP] Check Pods Manifest.lock */ = { From 8829b13d35ee3e027dae8d9ee872afb25cbb2909 Mon Sep 17 00:00:00 2001 From: featherless Date: Mon, 11 Mar 2019 21:10:18 -0400 Subject: [PATCH 4/7] Automatic changelog preparation for release. --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0779adf..753f1f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +# #develop# + + TODO: Enumerate changes. + + # 3.0.0 This major release upgrades the bazel dependencies and workspace. This change is breaking for anyone From e5e12a148b61d864fede2cf76471d5c0cf0fb2ef Mon Sep 17 00:00:00 2001 From: featherless Date: Mon, 11 Mar 2019 21:11:12 -0400 Subject: [PATCH 5/7] Update changelog. --- CHANGELOG.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 753f1f7..c8f945b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,15 @@ -# #develop# +# 4.0.0 - TODO: Enumerate changes. +This major release drops official support for iOS 8 and fixes a static analyzer warning. +## Source changes + +* [Resolve a static analyzer warning. (#124)](https://github.com/material-motion/motion-animator-objc/commit/0dce7f8c521e321cb904e9fbe3dc5880e623d6d8) (featherless) + +## Non-source changes + +* [Ran pod install with latest cocoapods. (#123)](https://github.com/material-motion/motion-animator-objc/commit/953f7505cc85d66dcd88c4c306765d22ea73c230) (featherless) +* [Drop support for iOS 8 (#122)](https://github.com/material-motion/motion-animator-objc/commit/ecb75418b8d86cc34041a675c89abc12ad4e509a) (featherless) # 3.0.0 From 362c3b4aeb9650854db9008c93fd1bd3cdb4e180 Mon Sep 17 00:00:00 2001 From: featherless Date: Mon, 11 Mar 2019 21:12:14 -0400 Subject: [PATCH 6/7] Bump the release. --- .jazzy.yaml | 4 ++-- MotionAnimator.podspec | 2 +- Podfile.lock | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.jazzy.yaml b/.jazzy.yaml index c77e723..b2709a9 100644 --- a/.jazzy.yaml +++ b/.jazzy.yaml @@ -1,7 +1,7 @@ module: MotionAnimator -module_version: 3.0.0 +module_version: 4.0.0 sdk: iphonesimulator umbrella_header: src/MotionAnimator.h objc: true github_url: https://github.com/material-motion/motion-animator-objc -github_file_prefix: https://github.com/material-motion/motion-animator-objc/tree/v3.0.0 +github_file_prefix: https://github.com/material-motion/motion-animator-objc/tree/v4.0.0 diff --git a/MotionAnimator.podspec b/MotionAnimator.podspec index 11341ba..dade3e0 100644 --- a/MotionAnimator.podspec +++ b/MotionAnimator.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "MotionAnimator" s.summary = "A Motion Animator creates performant, interruptible animations from motion specs." - s.version = "3.0.0" + s.version = "4.0.0" s.authors = "The Material Motion Authors" s.license = "Apache 2.0" s.homepage = "https://github.com/material-motion/motion-animator-objc" diff --git a/Podfile.lock b/Podfile.lock index e081467..e1378a7 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,6 +1,6 @@ PODS: - CatalogByConvention (2.5.1) - - MotionAnimator (3.0.0): + - MotionAnimator (4.0.0): - MotionInterchange (~> 2.0) - MotionInterchange (2.0.0) @@ -19,7 +19,7 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: CatalogByConvention: 2b58a9b64e5b1049abb5d3f8e764a551bbe843a7 - MotionAnimator: 09a4de79182ef05a2476b304271e1ef6a5a3b022 + MotionAnimator: 7a3344cec448abe03021682a85cc120cc12d7de1 MotionInterchange: 5b7325142e4af884278bab7adcd264976a8c0593 PODFILE CHECKSUM: 3537bf01c11174928ac008c20fec4738722e96f3 From a70830b367dae61a92955538287aad1b010758f6 Mon Sep 17 00:00:00 2001 From: featherless Date: Mon, 11 Mar 2019 21:14:37 -0400 Subject: [PATCH 7/7] Bump the MotionInterchange dependency version. --- MotionAnimator.podspec | 2 +- Podfile.lock | 8 ++++---- WORKSPACE | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MotionAnimator.podspec b/MotionAnimator.podspec index dade3e0..0c0d281 100644 --- a/MotionAnimator.podspec +++ b/MotionAnimator.podspec @@ -12,5 +12,5 @@ Pod::Spec.new do |s| s.public_header_files = "src/*.h" s.source_files = "src/*.{h,m,mm}", "src/private/*.{h,m,mm}" - s.dependency "MotionInterchange", "~> 2.0" + s.dependency "MotionInterchange", "~> 3.0" end diff --git a/Podfile.lock b/Podfile.lock index e1378a7..e402a6e 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,8 +1,8 @@ PODS: - CatalogByConvention (2.5.1) - MotionAnimator (4.0.0): - - MotionInterchange (~> 2.0) - - MotionInterchange (2.0.0) + - MotionInterchange (~> 3.0) + - MotionInterchange (3.0.0) DEPENDENCIES: - CatalogByConvention @@ -19,8 +19,8 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: CatalogByConvention: 2b58a9b64e5b1049abb5d3f8e764a551bbe843a7 - MotionAnimator: 7a3344cec448abe03021682a85cc120cc12d7de1 - MotionInterchange: 5b7325142e4af884278bab7adcd264976a8c0593 + MotionAnimator: 3a22c094f2a9c21c98cee9e69b6407d1e1fff654 + MotionInterchange: 13adae439b377e31d1674cc165539d50e1d1566a PODFILE CHECKSUM: 3537bf01c11174928ac008c20fec4738722e96f3 diff --git a/WORKSPACE b/WORKSPACE index 0f75bae..d88738f 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -50,7 +50,7 @@ git_repository( git_repository( name = "motion_interchange_objc", remote = "https://github.com/material-motion/motion-interchange-objc.git", - commit = "v2.0.0", + commit = "v3.0.0", ) http_file(
CALayer anchorPoint