File tree Expand file tree Collapse file tree 3 files changed +33
-6
lines changed Expand file tree Collapse file tree 3 files changed +33
-6
lines changed Original file line number Diff line number Diff line change 45
45
- name : Test example tvOS
46
46
run : scripts/test.sh example-cross-platform tvos
47
47
48
+ upcoming_feature :
49
+ name : Upcoming features
50
+ runs-on : macos-14
51
+ env :
52
+ DEVELOPER_DIR : /Applications/Xcode_15.4.app
53
+ steps :
54
+ - uses : actions/checkout@v4
55
+ - name : Test with upcoming features
56
+ run : ENABLE_UPCOMING_FEATURES=1 scripts/test.sh library ios
57
+
48
58
benchmark :
49
59
name : Benchmark
50
60
runs-on : macos-14
Original file line number Diff line number Diff line change 2
2
3
3
import PackageDescription
4
4
5
+ let swiftSettings : [ SwiftSetting ]
6
+
7
+ if Context . environment [ " ENABLE_UPCOMING_FEATURES " ] != nil {
8
+ swiftSettings = [
9
+ . enableUpcomingFeature( " ExistentialAny " ) ,
10
+ . enableUpcomingFeature( " InferSendableFromCaptures " ) ,
11
+ . enableUpcomingFeature( " DisableOutwardActorInference " ) ,
12
+ ]
13
+ }
14
+ else {
15
+ swiftSettings = [
16
+ . enableUpcomingFeature( " ExistentialAny " ) ,
17
+ ]
18
+ }
19
+
5
20
let package = Package (
6
21
name: " swiftui-atom-properties " ,
7
22
platforms: [
@@ -15,11 +30,13 @@ let package = Package(
15
30
] ,
16
31
targets: [
17
32
. target(
18
- name: " Atoms "
33
+ name: " Atoms " ,
34
+ swiftSettings: swiftSettings
19
35
) ,
20
36
. testTarget(
21
37
name: " AtomsTests " ,
22
- dependencies: [ " Atoms " ]
38
+ dependencies: [ " Atoms " ] ,
39
+ swiftSettings: swiftSettings
23
40
) ,
24
41
] ,
25
42
swiftLanguageVersions: [ . v5]
Original file line number Diff line number Diff line change 24
24
25
25
case $TARGET in
26
26
library)
27
- xcodebuild test -scheme swiftui-atom-properties -destination platform=" $platform "
27
+ xcodebuild clean test -scheme swiftui-atom-properties -destination platform=" $platform "
28
28
;;
29
29
example-ios)
30
30
cd Examples/Packages/iOS
31
- xcodebuild test -scheme iOSExamples -destination platform=" $platform "
31
+ xcodebuild clean test -scheme iOSExamples -destination platform=" $platform "
32
32
;;
33
33
example-cross-platform)
34
34
cd Examples/Packages/CrossPlatform
35
- xcodebuild test -scheme CrossPlatformExamples -destination platform=" $platform "
35
+ xcodebuild clean test -scheme CrossPlatformExamples -destination platform=" $platform "
36
36
;;
37
37
benchmark)
38
38
cd Benchmarks
39
- xcodebuild test -scheme BenchmarkTests -destination platform=" $platform "
39
+ xcodebuild clean test -scheme BenchmarkTests -destination platform=" $platform "
40
40
;;
41
41
esac
You can’t perform that action at this time.
0 commit comments