1- // swift-tools-version:6.0
1+ // swift-tools-version:6.1
22// The swift-tools-version declares the minimum version of Swift required to build this package.
33
44import CompilerPluginSupport
@@ -20,39 +20,33 @@ let package = Package(
2020// .library(name: "Vexillographer", targets: [ "Vexillographer" ]),
2121 ] ,
2222
23- dependencies: . init {
24- Package . Dependency . package ( url: " https://github.com/apple/swift-async-algorithms.git " , from: " 1.0.0 " )
25- Package . Dependency . package ( url: " https://github.com/nicklockwood/SwiftFormat.git " , from: " 0.54.1 " )
26- Package . Dependency . package ( url: " https://github.com/swiftlang/swift-syntax.git " , . upToNextMajor ( from : " 600 .0.1 " ) )
27- } ,
23+ dependencies: [
24+ . package ( url: " https://github.com/apple/swift-async-algorithms.git " , from: " 1.0.0 " ) ,
25+ . package ( url: " https://github.com/nicklockwood/SwiftFormat.git " , from: " 0.54.1 " ) ,
26+ . package ( url: " https://github.com/swiftlang/swift-syntax.git " , " 600.0.0 " ..< " 603 .0.0 " ) ,
27+ ] ,
2828
29- targets: . init {
29+ targets: [
3030
3131 // Vexil
3232
33- Target . target (
33+ . target(
3434 name: " Vexil " ,
3535 dependencies: [
3636 . target( name: " VexilMacros " ) ,
3737 . product( name: " AsyncAlgorithms " , package : " swift-async-algorithms " ) ,
38- ] ,
39- swiftSettings: [
40- . swiftLanguageMode( . v6) ,
4138 ]
42- )
43- Target . testTarget (
39+ ) ,
40+ . testTarget(
4441 name: " VexilTests " ,
45- dependencies: . init {
46- Target . Dependency. target ( name: " Vexil " )
47- } ,
48- swiftSettings: [
49- . swiftLanguageMode( . v6) ,
42+ dependencies: [
43+ . target( name: " Vexil " ) ,
5044 ]
51- )
45+ ) ,
5246
5347 // Vexillographer
5448
55- // Target .target(
49+ // .target(
5650// name: "Vexillographer",
5751// dependencies: [
5852// .target(name: "Vexil"),
@@ -61,66 +55,36 @@ let package = Package(
6155
6256 // Macros
6357
64- Target . macro (
58+ . macro(
6559 name: " VexilMacros " ,
6660 dependencies: [
6761 . product( name: " SwiftCompilerPlugin " , package : " swift-syntax " ) ,
6862 . product( name: " SwiftSyntax " , package : " swift-syntax " ) ,
6963 . product( name: " SwiftSyntaxBuilder " , package : " swift-syntax " ) ,
7064 . product( name: " SwiftSyntaxMacros " , package : " swift-syntax " ) ,
71- ] ,
72- swiftSettings: [
73- . swiftLanguageMode( . v6) ,
7465 ]
75- )
66+ ) ,
7667
77- #if !os(Linux)
78-
79- // We can't disable macro validation using `swift test` so these are guaranteed to fail on Linux
80- Target . testTarget (
81- name: " VexilMacroTests " ,
82- dependencies: [
83- . target( name: " VexilMacros " ) ,
84- . product( name: " SwiftSyntaxMacrosTestSupport " , package : " swift-syntax " ) ,
85- ] ,
86- swiftSettings: [
87- . swiftLanguageMode( . v6) ,
88- ]
89- )
90-
91- #endif
9268
93- } ,
69+ ] ,
9470
9571 swiftLanguageModes: [
9672 . v6,
9773 ]
9874
9975)
10076
101- // MARK: - Helpers
102-
103- @resultBuilder
104- enum CollectionBuilder < Element> {
105-
106- typealias Component = [ Element ]
107-
108- static func buildExpression( _ expression: Element ) -> Component {
109- [ expression]
110- }
111-
112- static func buildBlock( _ components: Component ... ) -> Component {
113- components. flatMap { $0 }
114- }
115-
116- static func buildLimitedAvailability( _ components: [ Element ] ) -> Component {
117- components
118- }
77+ #if !os(Linux)
11978
120- }
79+ // We can't disable macro validation using `swift test` so these are guaranteed to fail on Linux
80+ package . targets. append (
81+ . testTarget(
82+ name: " VexilMacroTests " ,
83+ dependencies: [
84+ . target( name: " VexilMacros " ) ,
85+ . product( name: " SwiftSyntaxMacrosTestSupport " , package : " swift-syntax " ) ,
86+ ]
87+ )
88+ )
12189
122- extension Array {
123- init ( @CollectionBuilder < Element > collecting: ( ) -> [ Element ] ) {
124- self = collecting ( )
125- }
126- }
90+ #endif
0 commit comments