Skip to content

Commit

Permalink
Upgrade to Swift 5
Browse files Browse the repository at this point in the history
  • Loading branch information
sindresorhus committed Mar 26, 2019
1 parent b921e83 commit 4b08258
Show file tree
Hide file tree
Showing 8 changed files with 175 additions and 87 deletions.
194 changes: 134 additions & 60 deletions .swiftlint.yml
Original file line number Diff line number Diff line change
@@ -1,74 +1,128 @@
disabled_rules:
- file_length
- line_length
- identifier_name
- todo
- vertical_whitespace
- force_cast
- force_try
- large_tuple
- function_body_length
- nesting
- type_body_length
opt_in_rules:
- empty_count
- prohibited_super_call
- conditional_returns_on_newline
- implicit_return
- overridden_super_call
- private_outlet
- redundant_nil_coalescing
- first_where
- explicit_init
- switch_case_on_newline
- number_separator
- closure_end_indentation
- closure_spacing
- operator_usage_whitespace
- nimble_operator
whitelist_rules:
- anyobject_protocol
- array_init
- attributes
- fatal_error_message
- unneeded_parentheses_in_closure_argument
- trailing_closure
- block_based_kvo
- discouraged_direct_init
- joined_default_parameter
- pattern_matching_keywords
- class_delegate_protocol
- closing_brace
- closure_end_indentation
- closure_parameter_position
- closure_spacing
- collection_alignment
- colon
- comma
- compiler_protocol_init
- conditional_returns_on_newline
- contains_over_first_not_nil
- fallthrough
- array_init
- literal_expression_end_indentation
- sorted_first_last
- private_action
- yoda_condition
- required_enum_case
- control_statement
- deployment_target
- discarded_notification_center_observer
- discouraged_direct_init
- discouraged_object_literal
- discouraged_optional_boolean
- empty_string
- untyped_error_in_catch
- discouraged_optional_collection
- modifier_order
- unavailable_function
- multiline_function_chains
- redundant_set_access_control
- duplicate_imports
- dynamic_inline
- empty_count
- empty_enum_arguments
- empty_parameters
- empty_parentheses_with_trailing_closure
- empty_string
- empty_xctest_method
- multiline_arguments
- anyobject_protocol
- redundant_type_annotation
- no_extension_access_modifier
- legacy_random
- toggle_bool
- explicit_init
- fallthrough
- fatal_error_message
- first_where
- for_where
- generic_type_name
- identical_operands
- collection_alignment
- static_operator
- identifier_name
- implicit_getter
- implicit_return
- inert_defer
- is_disjoint
- joined_default_parameter
- last_where
- leading_whitespace
- legacy_cggeometry_functions
- legacy_constant
- legacy_constructor
- legacy_hashing
- legacy_nsgeometry_functions
- legacy_random
- literal_expression_end_indentation
- lower_acl_than_parent
- mark
- modifier_order
- multiline_arguments
- multiline_function_chains
- multiline_literal_brackets
- multiline_parameters
- multiline_parameters_brackets
- vertical_whitespace_opening_braces
- vertical_whitespace_closing_braces
- legacy_hashing
- multiple_closures_with_trailing_closure
- nimble_operator
- no_extension_access_modifier
- no_fallthrough_only
- notification_center_detachment
- number_separator
- object_literal
- last_where
- unused_control_flow_label
- opening_brace
- operator_usage_whitespace
- operator_whitespace
- overridden_super_call
- pattern_matching_keywords
- private_action
- private_outlet
- private_unit_test
- prohibited_super_call
- protocol_property_accessors_order
- redundant_discardable_let
- redundant_nil_coalescing
- redundant_objc_attribute
- redundant_optional_initialization
- redundant_set_access_control
- redundant_string_enum_value
- redundant_type_annotation
- redundant_void_return
- required_enum_case
- return_arrow_whitespace
- shorthand_operator
- sorted_first_last
- statement_position
- static_operator
- strong_iboutlet
- superfluous_disable_command
- switch_case_alignment
- switch_case_on_newline
- syntactic_sugar
- todo
- toggle_bool
- trailing_closure
- trailing_comma
- trailing_newline
- trailing_semicolon
- trailing_whitespace
- type_name
- unavailable_function
- unneeded_break_in_switch
- unneeded_parentheses_in_closure_argument
- untyped_error_in_catch
- unused_closure_parameter
- unused_control_flow_label
- unused_enumerated
- unused_optional_binding
- unused_setter_value
- valid_ibinspectable
- vertical_parameter_alignment
- vertical_parameter_alignment_on_call
- vertical_whitespace_closing_braces
- vertical_whitespace_opening_braces
- void_return
- weak_computed_property
- weak_delegate
- xct_specific_matcher
- xctfail_message
- yoda_condition
analyzer_rules:
- unused_import
- unused_private_declaration
Expand All @@ -80,3 +134,23 @@ object_literal:
image_literal: false
discouraged_object_literal:
color_literal: false
identifier_name:
max_length:
warning: 100
error: 100
min_length:
warning: 2
error: 2
validates_start_with_lowercase: false
allowed_symbols:
- '_'
excluded:
- 'x'
- 'y'
- 'a'
- 'b'
- 'x1'
- 'x2'
- 'y1'
- 'y2'
macOS_deployment_target: '10.12'
14 changes: 7 additions & 7 deletions CircularProgress.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -187,17 +187,17 @@
LastUpgradeCheck = 0940;
TargetAttributes = {
"CircularProgress::CircularProgress" = {
LastSwiftMigration = 1000;
LastSwiftMigration = 1020;
};
E3FB30C020EA5DBC009BA1BD = {
CreatedOnToolsVersion = 9.4.1;
LastSwiftMigration = 1000;
LastSwiftMigration = 1020;
};
};
};
buildConfigurationList = OBJ_2 /* Build configuration list for PBXProject "CircularProgress" */;
compatibilityVersion = "Xcode 10.0";
developmentRegion = English;
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
Base,
Expand Down Expand Up @@ -335,7 +335,7 @@
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_VERSION = 4.2;
SWIFT_VERSION = 5.0;
};
name = Debug;
};
Expand Down Expand Up @@ -372,7 +372,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.sindresorhus.CircularProgressExample;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_VERSION = 4.2;
SWIFT_VERSION = 5.0;
};
name = Release;
};
Expand All @@ -395,7 +395,7 @@
PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = YES;
SWIFT_VERSION = 4.2;
SWIFT_VERSION = 5.0;
TARGET_NAME = CircularProgress;
};
name = Debug;
Expand All @@ -419,7 +419,7 @@
PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = YES;
SWIFT_VERSION = 4.2;
SWIFT_VERSION = 5.0;
TARGET_NAME = CircularProgress;
};
name = Release;
Expand Down
2 changes: 1 addition & 1 deletion CircularProgressMac.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ Pod::Spec.new do |s|
s.authors = { 'Sindre Sorhus' => 'sindresorhus@gmail.com' }
s.source = { :git => 'https://github.com/sindresorhus/CircularProgress.git', :tag => "v#{s.version}" }
s.source_files = 'Sources/**/*.swift'
s.swift_version = '4.2'
s.swift_version = '5'
s.platform = :macos, '10.12'
end
8 changes: 4 additions & 4 deletions Example/Base.lproj/MainMenu.xib
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14460.31"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14490.70"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
Expand Down Expand Up @@ -72,7 +72,7 @@
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" fullSizeContentView="YES"/>
<windowCollectionBehavior key="collectionBehavior" fullScreenNone="YES"/>
<rect key="contentRect" x="131" y="158" width="680" height="350"/>
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1417"/>
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
<view key="contentView" id="NR7-Ty-MDa">
<rect key="frame" x="0.0" y="0.0" width="680" height="350"/>
<autoresizingMask key="autoresizingMask"/>
Expand Down Expand Up @@ -111,7 +111,7 @@
<constraints>
<constraint firstAttribute="width" constant="92" id="MqM-Sg-5rd"/>
</constraints>
<sliderCell key="cell" state="on" alignment="left" maxValue="1" tickMarkPosition="above" sliderType="linear" id="9go-JI-b64"/>
<sliderCell key="cell" continuous="YES" state="on" alignment="left" maxValue="1" tickMarkPosition="above" sliderType="linear" id="9go-JI-b64"/>
<connections>
<binding destination="Voe-Tx-rLC" name="value" keyPath="indeterminateCircularProgress.progress" id="dvN-SF-o2v"/>
</connections>
Expand Down
5 changes: 4 additions & 1 deletion Package.swift
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
// swift-tools-version:4.2
// swift-tools-version:5.0
import PackageDescription

let package = Package(
name: "CircularProgress",
platforms: [
.macOS(.v10_12)
],
products: [
.library(
name: "CircularProgress",
Expand Down
3 changes: 1 addition & 2 deletions Sources/CircularProgress/CircularProgress.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ import Cocoa
@IBDesignable
public final class CircularProgress: NSView {
private var lineWidth: Double = 2
// TODO: Remove the closure here when targeting Swift 5
private lazy var radius = { bounds.width < bounds.height ? bounds.midX * 0.8 : bounds.midY * 0.8 }()
private lazy var radius = bounds.width < bounds.height ? bounds.midX * 0.8 : bounds.midY * 0.8
private var _progress: Double = 0
private var progressObserver: NSKeyValueObservation?
private var finishedObserver: NSKeyValueObservation?
Expand Down
Loading

0 comments on commit 4b08258

Please sign in to comment.