Update to swift 6

This commit is contained in:
2025-05-12 19:45:46 -07:00
parent 704ca27cd7
commit 75eddcb6fd
6 changed files with 112 additions and 55 deletions

View File

@@ -10,5 +10,18 @@
<integer>0</integer> <integer>0</integer>
</dict> </dict>
</dict> </dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>AppTests</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>Run</key>
<dict>
<key>primary</key>
<true/>
</dict>
</dict>
</dict> </dict>
</plist> </plist>

View File

@@ -1,7 +1,7 @@
# ================================ # ================================
# Build image # Build image
# ================================ # ================================
FROM swift:5.10.1-jammy AS build FROM swift:6.1.0-noble AS build
# Install OS updates and, if needed, sqlite3 # Install OS updates and, if needed, sqlite3
RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \ RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \
@@ -42,7 +42,7 @@ RUN [ -d /build/Resources ] && { mv /build/Resources ./Resources && chmod -R a-w
# ================================ # ================================
# Run image # Run image
# ================================ # ================================
FROM ubuntu:jammy FROM ubuntu:noble
# Make sure all system packages are up to date, and install only essential packages. # Make sure all system packages are up to date, and install only essential packages.
RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \ RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \

View File

@@ -6,8 +6,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/swift-server/async-http-client.git", "location" : "https://github.com/swift-server/async-http-client.git",
"state" : { "state" : {
"revision" : "0ae99db85b2b9d1e79b362bd31fd1ffe492f7c47", "revision" : "3b265e6a00fc5c3fdb8f91f773e506990c704337",
"version" : "1.21.2" "version" : "1.26.0"
} }
}, },
{ {
@@ -15,8 +15,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/vapor/async-kit.git", "location" : "https://github.com/vapor/async-kit.git",
"state" : { "state" : {
"revision" : "7ece208cd401687641c88367a00e3ea2b04311f1", "revision" : "e048c8ee94967e8d8a1c2ec0e1156d6f7fa34d31",
"version" : "1.19.0" "version" : "1.20.0"
} }
}, },
{ {
@@ -24,8 +24,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/vapor/console-kit.git", "location" : "https://github.com/vapor/console-kit.git",
"state" : { "state" : {
"revision" : "9f7932f22ab6f64aafadc14491e694179b7d0f6f", "revision" : "742f624a998cba2a9e653d9b1e91ad3f3a5dff6b",
"version" : "4.14.3" "version" : "4.15.2"
} }
}, },
{ {
@@ -33,8 +33,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/vapor/leaf.git", "location" : "https://github.com/vapor/leaf.git",
"state" : { "state" : {
"revision" : "0be8765af9991823c854d97faa4a97db1cfa2643", "revision" : "d469584b9186851c5a4012d11325fb9db3207ebb",
"version" : "4.3.0" "version" : "4.5.0"
} }
}, },
{ {
@@ -42,8 +42,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/vapor/leaf-kit.git", "location" : "https://github.com/vapor/leaf-kit.git",
"state" : { "state" : {
"revision" : "547e48cc5f8d98380dd8a7226ce630d3aa3b2245", "revision" : "cf186d8f2ef33e16fd1dd78df36466c22c2e632f",
"version" : "1.10.6" "version" : "1.13.1"
} }
}, },
{ {
@@ -51,8 +51,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/vapor/multipart-kit.git", "location" : "https://github.com/vapor/multipart-kit.git",
"state" : { "state" : {
"revision" : "a31236f24bfd2ea2f520a74575881f6731d7ae68", "revision" : "3498e60218e6003894ff95192d756e238c01f44e",
"version" : "4.7.0" "version" : "4.7.1"
} }
}, },
{ {
@@ -60,8 +60,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/vapor/routing-kit.git", "location" : "https://github.com/vapor/routing-kit.git",
"state" : { "state" : {
"revision" : "8c9a227476555c55837e569be71944e02a056b72", "revision" : "93f7222c8e195cbad39fafb5a0e4cc85a8def7ea",
"version" : "4.9.1" "version" : "4.9.2"
} }
}, },
{ {
@@ -69,8 +69,17 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-algorithms.git", "location" : "https://github.com/apple/swift-algorithms.git",
"state" : { "state" : {
"revision" : "f6919dfc309e7f1b56224378b11e28bab5bccc42", "revision" : "87e50f483c54e6efd60e885f7f5aa946cee68023",
"version" : "1.2.0" "version" : "1.2.1"
}
},
{
"identity" : "swift-asn1",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-asn1.git",
"state" : {
"revision" : "a54383ada6cecde007d374f58f864e29370ba5c3",
"version" : "1.3.2"
} }
}, },
{ {
@@ -87,8 +96,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-collections.git", "location" : "https://github.com/apple/swift-collections.git",
"state" : { "state" : {
"revision" : "ee97538f5b81ae89698fd95938896dec5217b148", "revision" : "671108c96644956dddcd89dd59c203dcdb36cec7",
"version" : "1.1.1" "version" : "1.1.4"
} }
}, },
{ {
@@ -96,17 +105,35 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-crypto.git", "location" : "https://github.com/apple/swift-crypto.git",
"state" : { "state" : {
"revision" : "46072478ca365fe48370993833cb22de9b41567f", "revision" : "e8d6eba1fef23ae5b359c46b03f7d94be2f41fed",
"version" : "3.5.2" "version" : "3.12.3"
}
},
{
"identity" : "swift-distributed-tracing",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-distributed-tracing.git",
"state" : {
"revision" : "a64a0abc2530f767af15dd88dda7f64d5f1ff9de",
"version" : "1.2.0"
}
},
{
"identity" : "swift-http-structured-headers",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-http-structured-headers.git",
"state" : {
"revision" : "f280fc7676b9940ff2c6598642751ea333c6544f",
"version" : "1.2.2"
} }
}, },
{ {
"identity" : "swift-http-types", "identity" : "swift-http-types",
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-http-types", "location" : "https://github.com/apple/swift-http-types.git",
"state" : { "state" : {
"revision" : "1ddbea1ee34354a6a2532c60f98501c35ae8edfa", "revision" : "a0a57e949a8903563aba4615869310c0ebf14c03",
"version" : "1.2.0" "version" : "1.4.0"
} }
}, },
{ {
@@ -114,8 +141,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-log.git", "location" : "https://github.com/apple/swift-log.git",
"state" : { "state" : {
"revision" : "9cb486020ebf03bfa5b5df985387a14a98744537", "revision" : "3d8596ed08bd13520157f0355e35caed215ffbfa",
"version" : "1.6.1" "version" : "1.6.3"
} }
}, },
{ {
@@ -123,8 +150,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-metrics.git", "location" : "https://github.com/apple/swift-metrics.git",
"state" : { "state" : {
"revision" : "e0165b53d49b413dd987526b641e05e246782685", "revision" : "4c83e1cdf4ba538ef6e43a9bbd0bcc33a0ca46e3",
"version" : "2.5.0" "version" : "2.7.0"
} }
}, },
{ {
@@ -132,8 +159,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-nio.git", "location" : "https://github.com/apple/swift-nio.git",
"state" : { "state" : {
"revision" : "fc79798d5a150d61361a27ce0c51169b889e23de", "revision" : "34d486b01cd891297ac615e40d5999536a1e138d",
"version" : "2.68.0" "version" : "2.83.0"
} }
}, },
{ {
@@ -141,8 +168,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-nio-extras.git", "location" : "https://github.com/apple/swift-nio-extras.git",
"state" : { "state" : {
"revision" : "05c36b57453d23ea63785d58a7dbc7b70ba1745e", "revision" : "f1f6f772198bee35d99dd145f1513d8581a54f2c",
"version" : "1.23.0" "version" : "1.26.0"
} }
}, },
{ {
@@ -150,8 +177,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-nio-http2.git", "location" : "https://github.com/apple/swift-nio-http2.git",
"state" : { "state" : {
"revision" : "a0224f3d20438635dd59c9fcc593520d80d131d0", "revision" : "4281466512f63d1bd530e33f4aa6993ee7864be0",
"version" : "1.33.0" "version" : "1.36.0"
} }
}, },
{ {
@@ -159,8 +186,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-nio-ssl.git", "location" : "https://github.com/apple/swift-nio-ssl.git",
"state" : { "state" : {
"revision" : "2b09805797f21c380f7dc9bedaab3157c5508efb", "revision" : "4b38f35946d00d8f6176fe58f96d83aba64b36c7",
"version" : "2.27.0" "version" : "2.31.0"
} }
}, },
{ {
@@ -168,8 +195,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-nio-transport-services.git", "location" : "https://github.com/apple/swift-nio-transport-services.git",
"state" : { "state" : {
"revision" : "38ac8221dd20674682148d6451367f89c2652980", "revision" : "cd1e89816d345d2523b11c55654570acd5cd4c56",
"version" : "1.21.0" "version" : "1.24.0"
} }
}, },
{ {
@@ -177,8 +204,17 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-numerics.git", "location" : "https://github.com/apple/swift-numerics.git",
"state" : { "state" : {
"revision" : "0a5bc04095a675662cf24757cc0640aa2204253b", "revision" : "e0ec0f5f3af6f3e4d5e7a19d2af26b481acb6ba8",
"version" : "1.0.2" "version" : "1.0.3"
}
},
{
"identity" : "swift-service-context",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-service-context.git",
"state" : {
"revision" : "8946c930cae601452149e45d31d8ddfac973c3c7",
"version" : "1.2.0"
} }
}, },
{ {
@@ -186,8 +222,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-system.git", "location" : "https://github.com/apple/swift-system.git",
"state" : { "state" : {
"revision" : "6a9e38e7bd22a3b8ba80bddf395623cf68f57807", "revision" : "a34201439c74b53f0fd71ef11741af7e7caf01e1",
"version" : "1.3.1" "version" : "1.4.2"
} }
}, },
{ {
@@ -195,8 +231,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/vapor/vapor.git", "location" : "https://github.com/vapor/vapor.git",
"state" : { "state" : {
"revision" : "ebbe71c89aa1b76a0920277760b12be7a2ec7c70", "revision" : "87b0edd2633c35de543cb7573efe5fbf456181bc",
"version" : "4.102.0" "version" : "4.114.1"
} }
}, },
{ {
@@ -204,8 +240,8 @@
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/vapor/websocket-kit.git", "location" : "https://github.com/vapor/websocket-kit.git",
"state" : { "state" : {
"revision" : "4232d34efa49f633ba61afde365d3896fc7f8740", "revision" : "8666c92dbbb3c8eefc8008c9c8dcf50bfd302167",
"version" : "2.15.0" "version" : "2.16.1"
} }
} }
], ],

View File

@@ -1,4 +1,4 @@
// swift-tools-version:5.10 // swift-tools-version:6.1.0
import PackageDescription import PackageDescription
let package = Package( let package = Package(
@@ -7,8 +7,8 @@ let package = Package(
.macOS(.v13) .macOS(.v13)
], ],
dependencies: [ dependencies: [
.package(url: "https://github.com/vapor/vapor.git", .upToNextMajor(from: "4.92.1")), .package(url: "https://github.com/vapor/vapor.git", .upToNextMajor(from: "4.114.0")),
.package(url: "https://github.com/vapor/leaf.git", .upToNextMajor(from: "4.3.0")), .package(url: "https://github.com/vapor/leaf.git", .upToNextMajor(from: "4.5.0")),
], ],
targets: [ targets: [
.target( .target(
@@ -36,4 +36,3 @@ let package = Package(
) )
] ]
) )

View File

@@ -1,9 +1,18 @@
import App import App
import Vapor import Vapor
import Logging
var env = try Environment.detect() var env = try Environment.detect()
try LoggingSystem.bootstrap(from: &env) try LoggingSystem.bootstrap(from: &env)
let app = Application(env) let app = try await Application.make(env)
defer { app.shutdown() }
try configure(app) do {
try app.run() try configure(app)
try await app.execute()
} catch {
app.logger.report(error: error)
try? await app.asyncShutdown()
throw error
}
try await app.asyncShutdown()