Skip to content

Commit

Permalink
Release OneTimePassword 3.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
mattrubin authored Sep 21, 2019
2 parents 8e32517 + 1a203dc commit ce76e15
Show file tree
Hide file tree
Showing 39 changed files with 240 additions and 441 deletions.
1 change: 0 additions & 1 deletion .swift-version

This file was deleted.

13 changes: 11 additions & 2 deletions .swiftlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ opt_in_rules:
- implicit_return
- implicitly_unwrapped_optional
- joined_default_parameter
- last_where
- legacy_multiple
- legacy_random
- let_var_whitespace
- literal_expression_end_indentation
Expand All @@ -38,13 +40,16 @@ opt_in_rules:
- multiline_literal_brackets
- multiline_parameters
- nimble_operator
- nslocalizedstring_key
- operator_usage_whitespace
- overridden_super_call
- override_in_extension
- pattern_matching_keywords
- private_action
- private_outlet
- prohibited_interface_builder
- prohibited_super_call
- reduce_into
- redundant_nil_coalescing
- single_test_class
- sorted_first_last
Expand All @@ -53,14 +58,18 @@ opt_in_rules:
- toggle_bool
- unavailable_function
- unneeded_parentheses_in_closure_argument
- unowned_variable_capture
- untyped_error_in_catch
- unused_declaration
- unused_import
- unused_private_declaration
- vertical_parameter_alignment_on_call
- vertical_whitespace_closing_braces
- vertical_whitespace_opening_braces
- xct_specific_matcher
- yoda_condition

disabled_rules:
- cyclomatic_complexity
- identifier_name

colon:
flexible_right_spacing: true
Expand Down
56 changes: 23 additions & 33 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,59 +5,49 @@ language: objective-c
xcode_workspace: OneTimePassword.xcworkspace
xcode_scheme: OneTimePassword (iOS)

osx_image: xcode10
osx_image: xcode10.3

before_install:
- gem install cocoapods -v 1.7

env:
- RUNTIME="iOS 10.3" DEVICE="iPhone 7 Plus"
- RUNTIME="iOS 11.3" DEVICE="iPhone X"
- RUNTIME="iOS 12.0" DEVICE="iPhone XS Max"
- RUNTIME="iOS 11.4" DEVICE="iPhone X"
- RUNTIME="iOS 12.4" DEVICE="iPhone XS Max"

# Include builds for watchOS
matrix:
include:
# Include an Xcode 9.0 build to test Swift 4.0 support
- osx_image: xcode9
env: RUNTIME="iOS 11.0" DEVICE="iPhone 8"
# Include an Xcode 9.2 build to test on iOS 8.x, because Xcode 9.3's iOS 8 simulator fails to launch
- osx_image: xcode9.2
env: RUNTIME="iOS 8.4" DEVICE="iPhone 4s"
# Include an Xcode 9.4 build to ensure compatibility until Xcode 10 is in widespread use
- osx_image: xcode9.4
env: RUNTIME="iOS 9.3" DEVICE="iPhone 6s"
# Include several build-only jobs for watchOS
- xcode_scheme: OneTimePassword (watchOS)
env: BUILD_ONLY="YES" RUNTIME="watchOS 5.0" DEVICE="Apple Watch Series 4 - 44mm"
env: BUILD_ONLY="YES" RUNTIME="watchOS 5.1" DEVICE="Apple Watch Series 4 - 44mm"
- xcode_scheme: OneTimePassword (watchOS)
osx_image: xcode9.4
env: BUILD_ONLY="YES" RUNTIME="watchOS 4.3" DEVICE="Apple Watch Series 3 - 38mm"
env: BUILD_ONLY="YES" RUNTIME="watchOS 4.2" DEVICE="Apple Watch Series 3 - 38mm"
- xcode_scheme: OneTimePassword (watchOS)
env: BUILD_ONLY="YES" RUNTIME="watchOS 3.2" DEVICE="Apple Watch Series 2 - 42mm"
- xcode_scheme: OneTimePassword (watchOS)
osx_image: xcode10.2
env: BUILD_ONLY="YES" RUNTIME="watchOS 2.0" DEVICE="Apple Watch - 38mm"
# Include Carthage builds
# Build with Carthage
- env:
before_script:
script: carthage build --no-skip-current
- osx_image: xcode9
# Build with CocoaPods
- &cocoapods
env:
before_script:
script: carthage build --no-skip-current
# Include CocoaPods builds
- env:
before_script:
script: pod lib lint --allow-warnings
- osx_image: xcode9
env:
before_install: gem update cocoapods
before_script:
script: pod lib lint --allow-warnings --verbose
allow_failures:
# Allow the Xcode 9 `pod lib lint` to fail, as this test method currently has an issue using the custom CommonCrypto module maps.
- osx_image: xcode9
env:
before_install: gem update cocoapods
before_script:
script: pod lib lint --allow-warnings --verbose
# Build with Xcode 10.1 and Swift 4.2
- &swift42
osx_image: xcode10.1
env: RUNTIME="iOS 8.4" DEVICE="iPhone 4s"
script: set -o pipefail && xcodebuild -workspace "$TRAVIS_XCODE_WORKSPACE" -scheme "$TRAVIS_XCODE_SCHEME" -destination "id=$DESTINATION_ID" SWIFT_VERSION=4.2 $ACTIONS | xcpretty -c
- <<: *swift42
env: RUNTIME="iOS 9.3" DEVICE="iPhone 6s"
# Build with CocoaPods and Swift 4.2
- <<: *cocoapods
osx_image: xcode10.1
script: pod lib lint --allow-warnings --verbose --swift-version=4.2

before_script:
- DEVICE_ID=com.apple.CoreSimulator.SimDeviceType.$(echo $DEVICE | sed -E -e "s/[ \-]+/ /g" -e "s/[^[:alnum:]]/-/g")
Expand Down
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,21 @@

<!--## [In development][develop]-->

## [3.2.0][] (2019-09-20)

- Upgrade the source to compile with both Swift 4.2 and Swift 5.
([#201](https://github.com/mattrubin/OneTimePassword/pull/201),
[#202](https://github.com/mattrubin/OneTimePassword/pull/202),
[#204](https://github.com/mattrubin/OneTimePassword/pull/204),
[#209](https://github.com/mattrubin/OneTimePassword/pull/209),
[#215](https://github.com/mattrubin/OneTimePassword/pull/215),
[#216](https://github.com/mattrubin/OneTimePassword/pull/216))
- Update the SwiftLint configuration, and move the SwiftLint build phase to a separate dedicated target so that new lint errors do not interfere with consumers of the framework.
([#212](https://github.com/mattrubin/OneTimePassword/pull/212),
[#206](https://github.com/mattrubin/OneTimePassword/pull/206))
- Upgrade xcconfigs to enable new warnings introduced in Xcode 10.2
([#203](https://github.com/mattrubin/OneTimePassword/pull/203))

## [3.1.5][] (2019-04-11)
- Enable additional linting and CI testing.
([#196](https://github.com/mattrubin/OneTimePassword/pull/196),
Expand Down Expand Up @@ -175,6 +190,7 @@ Changes between prerelease versions of OneTimePassword version 2 can be found be

[develop]: https://github.com/mattrubin/OneTimePassword/compare/3.1.5...develop

[3.2.0]: https://github.com/mattrubin/OneTimePassword/compare/3.1.5...3.2.0
[3.1.5]: https://github.com/mattrubin/OneTimePassword/compare/3.1.4...3.1.5
[3.1.4]: https://github.com/mattrubin/OneTimePassword/compare/3.1.3...3.1.4
[3.1.3]: https://github.com/mattrubin/OneTimePassword/compare/3.1.2...3.1.3
Expand Down
2 changes: 1 addition & 1 deletion Cartfile.private
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Configuration for Carthage (https://github.com/Carthage/Carthage)

github "jspahrsummers/xcconfigs" ~> 0.12
github "jspahrsummers/xcconfigs" ~> 1.0
2 changes: 1 addition & 1 deletion Cartfile.resolved
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
github "jspahrsummers/xcconfigs" "0.12"
github "jspahrsummers/xcconfigs" "1.0"
github "mattrubin/Base32" "1.1.2+xcode10.2"
2 changes: 1 addition & 1 deletion Carthage/Checkouts/xcconfigs
5 changes: 0 additions & 5 deletions CommonCrypto/README.md

This file was deleted.

4 changes: 0 additions & 4 deletions CommonCrypto/appletvos/module.modulemap

This file was deleted.

4 changes: 0 additions & 4 deletions CommonCrypto/appletvsimulator/module.modulemap

This file was deleted.

62 changes: 0 additions & 62 deletions CommonCrypto/injectXcodePath.sh

This file was deleted.

4 changes: 0 additions & 4 deletions CommonCrypto/iphoneos/module.modulemap

This file was deleted.

4 changes: 0 additions & 4 deletions CommonCrypto/iphonesimulator/module.modulemap

This file was deleted.

4 changes: 0 additions & 4 deletions CommonCrypto/macosx/module.modulemap

This file was deleted.

4 changes: 0 additions & 4 deletions CommonCrypto/watchos/module.modulemap

This file was deleted.

4 changes: 0 additions & 4 deletions CommonCrypto/watchsimulator/module.modulemap

This file was deleted.

8 changes: 0 additions & 8 deletions Configuration/OneTimePassword.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,3 @@ PRODUCT_BUNDLE_IDENTIFIER = me.mattrubin.onetimepassword;
INFOPLIST_FILE = Sources/Info.plist;

SWIFT_INSTALL_OBJC_HEADER = NO;

SWIFT_INCLUDE_PATHS[sdk=appletvos*] = $(SRCROOT)/CommonCrypto/appletvos;
SWIFT_INCLUDE_PATHS[sdk=appletvsimulator*] = $(SRCROOT)/CommonCrypto/appletvsimulator;
SWIFT_INCLUDE_PATHS[sdk=iphoneos*] = $(SRCROOT)/CommonCrypto/iphoneos;
SWIFT_INCLUDE_PATHS[sdk=iphonesimulator*] = $(SRCROOT)/CommonCrypto/iphonesimulator;
SWIFT_INCLUDE_PATHS[sdk=macosx*] = $(SRCROOT)/CommonCrypto/macosx;
SWIFT_INCLUDE_PATHS[sdk=watchos*] = $(SRCROOT)/CommonCrypto/watchos;
SWIFT_INCLUDE_PATHS[sdk=watchsimulator*] = $(SRCROOT)/CommonCrypto/watchsimulator;
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2013-2017 Matt Rubin and the [OneTimePassword authors](AUTHORS.txt)
Copyright (c) 2013-2019 Matt Rubin and the [OneTimePassword authors](AUTHORS.txt)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
20 changes: 2 additions & 18 deletions OneTimePassword.podspec
Original file line number Diff line number Diff line change
@@ -1,31 +1,15 @@
Pod::Spec.new do |s|
s.name = "OneTimePassword"
s.version = "3.1.5"
s.version = "3.2.0"
s.summary = "A small library for generating TOTP and HOTP one-time passwords."
s.homepage = "https://github.com/mattrubin/OneTimePassword"
s.license = "MIT"
s.author = "Matt Rubin"
s.swift_version = "4.0"
s.swift_versions = ["4.2", "5.0"]
s.ios.deployment_target = "8.0"
s.watchos.deployment_target = "2.0"
s.source = { :git => "https://github.com/mattrubin/OneTimePassword.git", :tag => s.version }
s.source_files = "Sources/*.{swift}"
s.requires_arc = true
s.dependency "Base32", "~> 1.1.2"
s.pod_target_xcconfig = {
"SWIFT_INCLUDE_PATHS[sdk=appletvos*]" => "$(SRCROOT)/OneTimePassword/CommonCrypto/appletvos",
"SWIFT_INCLUDE_PATHS[sdk=appletvsimulator*]" => "$(SRCROOT)/OneTimePassword/CommonCrypto/appletvsimulator",
"SWIFT_INCLUDE_PATHS[sdk=iphoneos*]" => "$(SRCROOT)/OneTimePassword/CommonCrypto/iphoneos",
"SWIFT_INCLUDE_PATHS[sdk=iphonesimulator*]" => "$(SRCROOT)/OneTimePassword/CommonCrypto/iphonesimulator",
"SWIFT_INCLUDE_PATHS[sdk=macosx*]" => "$(SRCROOT)/OneTimePassword/CommonCrypto/macosx",
"SWIFT_INCLUDE_PATHS[sdk=watchos*]" => "$(SRCROOT)/OneTimePassword/CommonCrypto/watchos",
"SWIFT_INCLUDE_PATHS[sdk=watchsimulator*]" => "$(SRCROOT)/OneTimePassword/CommonCrypto/watchsimulator",
}
s.preserve_paths = "CommonCrypto/*"
# The prepare_command "will be executed after the Pod is downloaded."
# The script is *not* run on every build, or even on every `pod install`, so if the selected
# Xcode path changes after the pod is downloaded, you may need to clear the pod from the cache at
# ~/Library/Caches/CocoaPods so the script can update the modulemaps with the new path.
# https://guides.cocoapods.org/syntax/podspec.html#prepare_command
s.prepare_command = "CommonCrypto/injectXcodePath.sh"
end
Loading

0 comments on commit ce76e15

Please sign in to comment.