1- // swift-tools-version:5.10
1+ // swift-tools-version:6.0
22
33import PackageDescription
44
5+ let swiftSettings = [
6+ SwiftSetting . enableUpcomingFeature ( " MemberImportVisibility " ) ,
7+ ]
8+
59let package = Package (
610 name: " swiftly " ,
711 platforms: [
@@ -26,6 +30,7 @@ let package = Package(
2630 . package ( url: " https://github.com/apple/swift-docc-plugin " , from: " 1.3.0 " ) ,
2731 . package ( url: " https://github.com/apple/swift-openapi-generator " , from: " 1.6.0 " ) ,
2832 . package ( url: " https://github.com/apple/swift-openapi-runtime " , from: " 1.7.0 " ) ,
33+ . package ( url: " https://github.com/apple/swift-system " , from: " 1.4.2 " ) ,
2934 // This dependency provides the correct version of the formatter so that you can run `swift run swiftformat Package.swift Plugins/ Sources/ Tests/`
3035 . package ( url: " https://github.com/nicklockwood/SwiftFormat " , exact: " 0.49.18 " ) ,
3136 ] ,
@@ -38,7 +43,9 @@ let package = Package(
3843 . target( name: " LinuxPlatform " , condition: . when( platforms: [ . linux] ) ) ,
3944 . target( name: " MacOSPlatform " , condition: . when( platforms: [ . macOS] ) ) ,
4045 . product( name: " SwiftToolsSupport-auto " , package : " swift-tools-support-core " ) ,
41- ]
46+ . product( name: " SystemPackage " , package : " swift-system " ) ,
47+ ] ,
48+ swiftSettings: swiftSettings
4249 ) ,
4350 . executableTarget(
4451 name: " TestSwiftly " ,
@@ -47,16 +54,38 @@ let package = Package(
4754 . target( name: " SwiftlyCore " ) ,
4855 . target( name: " LinuxPlatform " , condition: . when( platforms: [ . linux] ) ) ,
4956 . target( name: " MacOSPlatform " , condition: . when( platforms: [ . macOS] ) ) ,
50- ]
57+ ] ,
58+ swiftSettings: swiftSettings
5159 ) ,
5260 . target(
5361 name: " SwiftlyCore " ,
5462 dependencies: [
63+ " SwiftlyDownloadAPI " ,
64+ " SwiftlyWebsiteAPI " ,
5565 . product( name: " AsyncHTTPClient " , package : " async-http-client " ) ,
5666 . product( name: " NIOFoundationCompat " , package : " swift-nio " ) ,
5767 . product( name: " OpenAPIRuntime " , package : " swift-openapi-runtime " ) ,
5868 . product( name: " OpenAPIAsyncHTTPClient " , package : " swift-openapi-async-http-client " ) ,
69+ . product( name: " SystemPackage " , package : " swift-system " ) ,
70+ ] ,
71+ swiftSettings: swiftSettings
72+ ) ,
73+ . target(
74+ name: " SwiftlyDownloadAPI " ,
75+ dependencies: [
76+ . product( name: " OpenAPIRuntime " , package : " swift-openapi-runtime " ) ,
5977 ] ,
78+ swiftSettings: swiftSettings,
79+ plugins: [
80+ . plugin( name: " OpenAPIGenerator " , package : " swift-openapi-generator " ) ,
81+ ]
82+ ) ,
83+ . target(
84+ name: " SwiftlyWebsiteAPI " ,
85+ dependencies: [
86+ . product( name: " OpenAPIRuntime " , package : " swift-openapi-runtime " ) ,
87+ ] ,
88+ swiftSettings: swiftSettings,
6089 plugins: [
6190 . plugin( name: " OpenAPIGenerator " , package : " swift-openapi-generator " ) ,
6291 ]
@@ -88,6 +117,9 @@ let package = Package(
88117 . executableTarget(
89118 name: " build-swiftly-release " ,
90119 dependencies: [
120+ . target( name: " SwiftlyCore " ) ,
121+ . target( name: " LinuxPlatform " , condition: . when( platforms: [ . linux] ) ) ,
122+ . target( name: " MacOSPlatform " , condition: . when( platforms: [ . macOS] ) ) ,
91123 . product( name: " ArgumentParser " , package : " swift-argument-parser " ) ,
92124 ] ,
93125 path: " Tools/build-swiftly-release "
@@ -97,7 +129,9 @@ let package = Package(
97129 dependencies: [
98130 " SwiftlyCore " ,
99131 " CLibArchive " ,
132+ . product( name: " SystemPackage " , package : " swift-system " ) ,
100133 ] ,
134+ swiftSettings: swiftSettings,
101135 linkerSettings: [
102136 . linkedLibrary( " z " ) ,
103137 ]
@@ -106,7 +140,9 @@ let package = Package(
106140 name: " MacOSPlatform " ,
107141 dependencies: [
108142 " SwiftlyCore " ,
109- ]
143+ . product( name: " SystemPackage " , package : " swift-system " ) ,
144+ ] ,
145+ swiftSettings: swiftSettings
110146 ) ,
111147 . systemLibrary(
112148 name: " CLibArchive " ,
@@ -117,10 +153,14 @@ let package = Package(
117153 ) ,
118154 . testTarget(
119155 name: " SwiftlyTests " ,
120- dependencies: [ " Swiftly " ] ,
156+ dependencies: [
157+ " Swiftly " ,
158+ . product( name: " SystemPackage " , package : " swift-system " ) ,
159+ ] ,
121160 resources: [
122161 . embedInCode( " mock-signing-key-private.pgp " ) ,
123- ]
162+ ] ,
163+ swiftSettings: swiftSettings
124164 ) ,
125165 ]
126166)
0 commit comments