Skip to content

Commit 3594baf

Browse files
authored
Merge pull request #65 from taji-taji/update-dependencies
Update dependencies
2 parents af5538b + f402649 commit 3594baf

File tree

6 files changed

+107
-77
lines changed

6 files changed

+107
-77
lines changed

.github/workflows/test.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@ jobs:
1111
strategy:
1212
fail-fast: false
1313
matrix:
14-
xcode: ["14.3.1"]
14+
xcode: ["14.3.1", "15.0.1"]
1515
include:
1616
- xcode: "14.3.1"
1717
macos: macos-13
18+
- xcode: "15.0.1"
19+
macos: macos-13
1820
runs-on: ${{ matrix.macos }}
1921
name: macOS
2022
steps:
@@ -57,11 +59,14 @@ jobs:
5759
strategy:
5860
fail-fast: false
5961
matrix:
60-
swift: ["5.8"]
62+
swift: ["5.8", "5.9"]
6163
include:
6264
- swift: "5.8"
6365
container: "swift:5.8"
6466
cache-version: 1
67+
- swift: "5.9"
68+
container: "swift:5.9"
69+
cache-version: 1
6570
runs-on: ubuntu-latest
6671
container: ${{ matrix.container }}
6772
name: Linux

Package.resolved

Lines changed: 13 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ let package = Package(
3434
dependencies: [
3535
.package(url: "https://github.com/danger/swift.git", from: "3.0.0"),
3636
.package(url: "https://github.com/taji-taji/swift-shell.git", from: "1.0.0"),
37-
.package(url: "https://github.com/peripheryapp/periphery", from: "2.15.0"),
37+
.package(url: "https://github.com/peripheryapp/periphery", from: "2.0.0"),
3838
],
3939
targets: [
4040
.target(

Sources/DangerSwiftPeriphery/DangerDSL+Extensions.swift

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,21 @@ extension DangerDSL: ViolationNotifier {
99
}
1010

1111
extension DangerDSL: PullRequestDiffProvidable {
12+
private var sourceBranch: String {
13+
if let github = github {
14+
return "\(github.pullRequest.base.sha)..\(github.pullRequest.head.sha)"
15+
} else if let gitLab = gitLab {
16+
return gitLab.mergeRequest.targetBranch
17+
} else if let bitbucketCloud = bitbucketCloud {
18+
return bitbucketCloud.pr.destination.branchName
19+
} else if let bitbucketServer = bitbucketServer {
20+
return bitbucketServer.pullRequest.fromRef.displayId
21+
}
22+
return ""
23+
}
24+
1225
func diff(forFile file: String) throws -> FileDiff.Changes {
13-
try utils.diff(forFile: file, sourceBranch: sourceBranch())
26+
try utils.diff(forFile: file, sourceBranch: sourceBranch)
1427
.map {
1528
Logger.shared.debug("changes for \(file):\($0.changes)")
1629
switch $0.changes {
@@ -27,19 +40,6 @@ extension DangerDSL: PullRequestDiffProvidable {
2740
}
2841
.get()
2942
}
30-
31-
private func sourceBranch() -> String {
32-
if let github = github {
33-
return "origin/\(github.pullRequest.base.ref)..HEAD"
34-
} else if let gitLab = gitLab {
35-
return gitLab.mergeRequest.targetBranch
36-
} else if let bitbucketCloud = bitbucketCloud {
37-
return bitbucketCloud.pr.destination.branchName
38-
} else if let bitbucketServer = bitbucketServer {
39-
return bitbucketServer.pullRequest.fromRef.displayId
40-
}
41-
return ""
42-
}
4343
}
4444

4545
private extension FileDiff.Hunk {

Sources/DangerSwiftPeriphery/PeripheryScanOptions.swift

Lines changed: 68 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -19,64 +19,85 @@ public enum PeripheryScanOptions {
1919
case retainAssignOnlyProperties
2020
case retainAssignOnlyPropertyTypes([String])
2121
case externalEncodableProtocols([String])
22+
case externalTestCaseClasses([String])
2223
case retainObjcAccessible
24+
case retainObjcAnnotated
2325
case retainUnusedProtocolFuncParams
2426
case cleanBuild
27+
case retainSwiftUIPreviews
2528
case skipBuild
29+
case relativeResults
2630
case strict
2731
case custom(String)
2832
}
2933

3034
extension PeripheryScanOptions {
3135
var optionString: String {
32-
if case let .custom(value) = self {
33-
return value
34-
}
35-
if values.isEmpty {
36-
return key
37-
} else {
38-
return values
39-
.map { [key, $0].joined(separator: " ") }
36+
switch self {
37+
case .config(let config):
38+
return "--config \(config)"
39+
case .workspace(let workspace):
40+
return "--workspace \(workspace)"
41+
case .project(let project):
42+
return "--project \(project)"
43+
case .schemes(let schemes):
44+
return schemes
45+
.map({ "--schemes \($0)" })
4046
.joined(separator: " ")
47+
case .targets(let targets):
48+
return targets
49+
.map({ "--targets \($0)" })
50+
.joined(separator: " ")
51+
case .indexExclude(let indexes):
52+
return indexes
53+
.map({ "--index-exclude \($0)" })
54+
.joined(separator: " ")
55+
case .reportExclude(let reports):
56+
return reports
57+
.map({ "--report-exclude \($0)" })
58+
.joined(separator: " ")
59+
case .reportInclude(let reports):
60+
return reports
61+
.map({ "--report-include \($0)" })
62+
.joined(separator: " ")
63+
case .indexStorePath(let path):
64+
return "--index-store-path \(path)"
65+
case .retainPublic:
66+
return "--retain-public"
67+
case .disableRedundantPublicAnalysis:
68+
return "--disable-redundant-public-analysis"
69+
case .retainAssignOnlyProperties:
70+
return "--retain-assign-only-properties"
71+
case .retainAssignOnlyPropertyTypes(let types):
72+
return types
73+
.map({ "--retain-assign-only-property-types \($0)" })
74+
.joined(separator: " ")
75+
case .externalEncodableProtocols(let protocols):
76+
return protocols
77+
.map({ "--external-encodable-protocols \($0)" })
78+
.joined(separator: " ")
79+
case .externalTestCaseClasses(let classes):
80+
return classes
81+
.map({ "--external-test-case-classes \($0)" })
82+
.joined(separator: " ")
83+
case .retainObjcAccessible:
84+
return "--retain-objc-accessible"
85+
case .retainObjcAnnotated:
86+
return "--retain-objc-annotated"
87+
case .retainUnusedProtocolFuncParams:
88+
return "--retain-unused-protocol-func-params"
89+
case .cleanBuild:
90+
return "--clean-build"
91+
case .retainSwiftUIPreviews:
92+
return "--retain-swift-ui-previews"
93+
case .skipBuild:
94+
return "--skip-build"
95+
case .relativeResults:
96+
return "--relative-results"
97+
case .strict:
98+
return "--strict"
99+
case .custom(let option):
100+
return option
41101
}
42102
}
43103
}
44-
45-
private extension PeripheryScanOptions {
46-
var key: String {
47-
let reflection = Mirror(reflecting: self)
48-
guard reflection.displayStyle == .enum,
49-
let associated = reflection.children.first else {
50-
return "--" + "\(self)".kebabCased
51-
}
52-
return "--" + associated.label!.kebabCased
53-
}
54-
55-
var values: [String] {
56-
let reflection = Mirror(reflecting: self)
57-
guard reflection.displayStyle == .enum,
58-
let associated = reflection.children.first else {
59-
return []
60-
}
61-
switch associated.value {
62-
case let value as String:
63-
return [value]
64-
case let values as [String]:
65-
return values
66-
default:
67-
return []
68-
}
69-
}
70-
}
71-
72-
private extension String {
73-
var kebabCased: String {
74-
let pattern = "([a-z0-9])([A-Z])"
75-
76-
guard let regex = try? NSRegularExpression(pattern: pattern, options: []) else {
77-
return self
78-
}
79-
let range = NSRange(location: 0, length: count)
80-
return regex.stringByReplacingMatches(in: self, options: [], range: range, withTemplate: "$1-$2").lowercased()
81-
}
82-
}

Tests/DangerSwiftPeripheryTests/PeripheryScanOptionsTests.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,14 @@ final class PeripheryScanOptionsTests: XCTestCase {
2121
"--retain-assign-only-property-types type1 --retain-assign-only-property-types type2"),
2222
(.externalEncodableProtocols(["protocol1", "protocol2"]),
2323
"--external-encodable-protocols protocol1 --external-encodable-protocols protocol2"),
24+
(.externalTestCaseClasses(["class1", "class2"]), "--external-test-case-classes class1 --external-test-case-classes class2"),
2425
(.retainObjcAccessible, "--retain-objc-accessible"),
26+
(.retainObjcAnnotated, "--retain-objc-annotated"),
2527
(.retainUnusedProtocolFuncParams, "--retain-unused-protocol-func-params"),
2628
(.cleanBuild, "--clean-build"),
29+
(.retainSwiftUIPreviews, "--retain-swift-ui-previews"),
2730
(.skipBuild, "--skip-build"),
31+
(.relativeResults, "--relative-results"),
2832
(.strict, "--strict"),
2933
(.custom("--test test"), "--test test"),
3034
]

0 commit comments

Comments
 (0)