Skip to content

Commit cccdc20

Browse files
Limit unsafe flags via environment (#18)
1 parent 03a289a commit cccdc20

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

.github/workflows/swift.yml

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ on:
88

99
env:
1010
DEVELOPER_DIR: /Applications/Xcode_15.0.app/Contents/Developer
11+
SWIFT_STRICT_CONCURRENCY: complete
1112

1213
jobs:
1314
swift:

Package.swift

+10-3
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,7 @@ let package = Package(
2727
targets: [
2828
.target(
2929
name: "CombineUI",
30-
swiftSettings: [
31-
.unsafeFlags(["-strict-concurrency=complete"]),
32-
],
30+
swiftSettings: .swiftSettings,
3331
plugins: [
3432
.plugin(name: SwiftLint.plugin),
3533
]),
@@ -55,3 +53,12 @@ let package = Package(
5553
checksum: "963121d6babf2bf5fd66a21ac9297e86d855cbc9d28322790646b88dceca00f1"),
5654
]
5755
)
56+
57+
extension Array where Element == SwiftSetting {
58+
59+
static var swiftSettings: [SwiftSetting] {
60+
guard let value: String = Context.environment["SWIFT_STRICT_CONCURRENCY"]
61+
else { return [] }
62+
return [.unsafeFlags(["-strict-concurrency=\(value)"])]
63+
}
64+
}

0 commit comments

Comments
 (0)