1
- // swift-tools-version:5.1
1
+ // swift-tools-version:5.3
2
2
3
3
import PackageDescription
4
4
import Foundation
5
5
6
- let package = Package (
7
- name: " SwiftSyntax " ,
8
- targets: [
9
- . target( name: " _CSwiftSyntax " ) ,
10
- . testTarget( name: " SwiftSyntaxTest " , dependencies: [ " SwiftSyntax " ] ) ,
11
- . target( name: " SwiftSyntaxBuilder " , dependencies: [ " SwiftSyntax " ] ) ,
12
- . testTarget( name: " SwiftSyntaxBuilderTest " , dependencies: [ " SwiftSyntaxBuilder " ] ) ,
13
- . target( name: " SwiftSyntaxParser " , dependencies: [ " SwiftSyntax " ] ) ,
14
- . testTarget( name: " SwiftSyntaxParserTest " , dependencies: [ " SwiftSyntaxParser " ] , exclude: [ " Inputs " ] ) ,
15
- . target( name: " lit-test-helper " , dependencies: [ " SwiftSyntax " , " SwiftSyntaxParser " ] ) ,
16
- . testTarget( name: " PerformanceTest " , dependencies: [ " SwiftSyntax " , " SwiftSyntaxParser " ] )
17
- // Also see targets added below
18
- ]
19
- )
20
-
21
- let swiftSyntaxTarget : PackageDescription . Target
6
+ var swiftSyntaxUnsafeSwiftFlags : [ String ] = [ ]
22
7
23
8
/// If we are in a controlled CI environment, we can use internal compiler flags
24
9
/// to speed up the build or improve it.
@@ -28,21 +13,83 @@ if ProcessInfo.processInfo.environment["SWIFT_BUILD_SCRIPT_ENVIRONMENT"] != nil
28
13
. appendingPathComponent ( " utils " )
29
14
. appendingPathComponent ( " group.json " )
30
15
31
- var swiftSyntaxUnsafeFlags = [ " -Xfrontend " , " -group-info-path " ,
16
+ swiftSyntaxUnsafeSwiftFlags + = [ " -Xfrontend " , " -group-info-path " ,
32
17
" -Xfrontend " , groupFile. path]
33
18
// Enforcing exclusivity increases compile time of release builds by 2 minutes.
34
19
// Disable it when we're in a controlled CI environment.
35
- swiftSyntaxUnsafeFlags += [ " -enforce-exclusivity=unchecked " ]
36
-
37
- swiftSyntaxTarget = . target( name: " SwiftSyntax " , dependencies: [ " _CSwiftSyntax " ] ,
38
- swiftSettings: [ . unsafeFlags( swiftSyntaxUnsafeFlags) ]
39
- )
40
- } else {
41
- swiftSyntaxTarget = . target( name: " SwiftSyntax " , dependencies: [ " _CSwiftSyntax " ] )
20
+ swiftSyntaxUnsafeSwiftFlags += [ " -enforce-exclusivity=unchecked " ]
42
21
}
43
22
44
- package . targets. append ( swiftSyntaxTarget)
45
-
46
- package . products. append ( . library( name: " SwiftSyntax " , type: . static, targets: [ " SwiftSyntax " ] ) )
47
- package . products. append ( . library( name: " SwiftSyntaxParser " , type: . static, targets: [ " SwiftSyntaxParser " ] ) )
48
- package . products. append ( . library( name: " SwiftSyntaxBuilder " , type: . static, targets: [ " SwiftSyntaxBuilder " ] ) )
23
+ let package = Package (
24
+ name: " SwiftSyntax " ,
25
+ products: [
26
+ . library( name: " SwiftSyntax " , type: . static, targets: [ " SwiftSyntax " ] ) ,
27
+ . library( name: " SwiftSyntaxParser " , type: . static, targets: [ " SwiftSyntaxParser " ] ) ,
28
+ . library( name: " SwiftSyntaxBuilder " , type: . static, targets: [ " SwiftSyntaxBuilder " ] )
29
+ ] ,
30
+ targets: [
31
+ . target( name: " _CSwiftSyntax " ) ,
32
+ . target(
33
+ name: " SwiftSyntax " ,
34
+ dependencies: [ " _CSwiftSyntax " ] ,
35
+ exclude: [
36
+ " SyntaxFactory.swift.gyb " ,
37
+ " SyntaxTraits.swift.gyb " ,
38
+ " Trivia.swift.gyb " ,
39
+ " Misc.swift.gyb " ,
40
+ " SyntaxRewriter.swift.gyb " ,
41
+ " SyntaxEnum.swift.gyb " ,
42
+ " SyntaxClassification.swift.gyb " ,
43
+ " SyntaxBuilders.swift.gyb " ,
44
+ " TokenKind.swift.gyb " ,
45
+ " SyntaxVisitor.swift.gyb " ,
46
+ " SyntaxCollections.swift.gyb " ,
47
+ " SyntaxBaseNodes.swift.gyb " ,
48
+ " SyntaxAnyVisitor.swift.gyb " ,
49
+ " SyntaxNodes.swift.gyb.template " ,
50
+ " SyntaxKind.swift.gyb " ,
51
+ ] ,
52
+ swiftSettings: [ . unsafeFlags( swiftSyntaxUnsafeSwiftFlags) ]
53
+ ) ,
54
+ . target(
55
+ name: " SwiftSyntaxBuilder " ,
56
+ dependencies: [ " SwiftSyntax " ] ,
57
+ exclude: [
58
+ " README.md " ,
59
+ " gyb_helpers " ,
60
+ " ExpressibleAsProtocols.swift.gyb " ,
61
+ " BuildableBaseProtocols.swift.gyb " ,
62
+ " BuildableCollectionNodes.swift.gyb " ,
63
+ " BuildableNodes.swift.gyb " ,
64
+ " ResultBuilders.swift.gyb " ,
65
+ " Tokens.swift.gyb " ,
66
+ " TokenSyntax.swift.gyb " ,
67
+ ]
68
+ ) ,
69
+ . target( name: " SwiftSyntaxParser " , dependencies: [ " SwiftSyntax " ] , exclude: [
70
+ " NodeDeclarationHash.swift.gyb "
71
+ ] ) ,
72
+ . target(
73
+ name: " lit-test-helper " ,
74
+ dependencies: [ " SwiftSyntax " , " SwiftSyntaxParser " ]
75
+ ) ,
76
+ . testTarget(
77
+ name: " SwiftSyntaxTest " ,
78
+ dependencies: [ " SwiftSyntax " ]
79
+ ) ,
80
+ . testTarget(
81
+ name: " SwiftSyntaxBuilderTest " ,
82
+ dependencies: [ " SwiftSyntaxBuilder " ]
83
+ ) ,
84
+ . testTarget(
85
+ name: " SwiftSyntaxParserTest " ,
86
+ dependencies: [ " SwiftSyntaxParser " ] ,
87
+ exclude: [ " Inputs " ]
88
+ ) ,
89
+ . testTarget(
90
+ name: " PerformanceTest " ,
91
+ dependencies: [ " SwiftSyntax " , " SwiftSyntaxParser " ] ,
92
+ exclude: [ " Inputs " ]
93
+ ) ,
94
+ ]
95
+ )
0 commit comments