Drop support for Swift 5.5 (#172)

* Drop support for Swift 5.5

Signed-off-by: Si Beaumont <beaumont@apple.com>

* fixup: Next version will be 1.17.0

Signed-off-by: Si Beaumont <beaumont@apple.com>

---------

Signed-off-by: Si Beaumont <beaumont@apple.com>
This commit is contained in:
Si Beaumont 2023-04-14 17:06:35 +01:00 committed by GitHub
parent 2dcb5a89e8
commit dd408dc2d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 8 additions and 100 deletions

View File

@ -1,60 +0,0 @@
// swift-tools-version:5.5
//===----------------------------------------------------------------------===//
//
// This source file is part of the SwiftNIO open source project
//
// Copyright (c) 2017-2018 Apple Inc. and the SwiftNIO project authors
// Licensed under Apache License v2.0
//
// See LICENSE.txt for license information
// See CONTRIBUTORS.txt for the list of SwiftNIO project authors
//
// SPDX-License-Identifier: Apache-2.0
//
//===----------------------------------------------------------------------===//
import PackageDescription
let package = Package(
name: "swift-nio-transport-services",
products: [
.library(name: "NIOTransportServices", targets: ["NIOTransportServices"]),
],
dependencies: [
.package(url: "https://github.com/apple/swift-nio.git", from: "2.42.0"),
.package(url: "https://github.com/apple/swift-atomics.git", from: "1.0.2"),
],
targets: [
.target(
name: "NIOTransportServices",
dependencies: [
.product(name: "NIO", package: "swift-nio"),
.product(name: "NIOCore", package: "swift-nio"),
.product(name: "NIOFoundationCompat", package: "swift-nio"),
.product(name: "NIOTLS", package: "swift-nio"),
.product(name: "Atomics", package: "swift-atomics"),
]),
.executableTarget(
name: "NIOTSHTTPClient",
dependencies: [
"NIOTransportServices",
.product(name: "NIOCore", package: "swift-nio"),
.product(name: "NIOHTTP1", package: "swift-nio"),
]),
.executableTarget(
name: "NIOTSHTTPServer",
dependencies: [
"NIOTransportServices",
.product(name: "NIOCore", package: "swift-nio"),
.product(name: "NIOHTTP1", package: "swift-nio"),
]),
.testTarget(
name: "NIOTransportServicesTests",
dependencies: [
"NIOTransportServices",
.product(name: "NIOCore", package: "swift-nio"),
.product(name: "NIOEmbedded", package: "swift-nio"),
.product(name: "Atomics", package: "swift-atomics"),
]),
]
)

View File

@ -48,20 +48,21 @@ declaring [SwiftNIO's Public API](https://github.com/apple/swift-nio/blob/main/d
### `swift-nio-transport-services ` 1.x
`swift-nio-transport-services` versions 1.x is part of the SwiftNIO 2 family of repositories and does not have any dependencies besides [`swift-nio`](https://github.com/apple/swift-nio), Swift 5.5.2, and an Apple OS supporting `Network.framework`. As the latest version, it lives on the [`main`](https://github.com/apple/swift-nio-transport-services) branch.
`swift-nio-transport-services` versions 1.x is part of the SwiftNIO 2 family of repositories and does not have any dependencies besides [`swift-nio`](https://github.com/apple/swift-nio), Swift 5.6, and an Apple OS supporting `Network.framework`. As the latest version, it lives on the [`main`](https://github.com/apple/swift-nio-transport-services) branch.
To depend on `swift-nio-transport-services `, put the following in the `dependencies` of your `Package.swift`:
.package(url: "https://github.com/apple/swift-nio-transport-services.git", from: "1.0.0"),
The most recent versions of SwiftNIO Transport Services support Swift 5.5.2 and newer. The minimum Swift version supported by SwiftNIO Transport Services releases are detailed below:
The most recent versions of SwiftNIO Transport Services support Swift 5.6 and newer. The minimum Swift version supported by SwiftNIO Transport Services releases are detailed below:
SwiftNIO Extras | Minimum Swift Version
--------------------|----------------------
`1.0.0 ..< 1.11.0` | 5.0
`1.11.0 ..< 1.12.0` | 5.2
`1.12.0 ..< 1.15.0` | 5.4
`1.15.0 ...` | 5.5.2
`1.15.0 ..< 1.17.0` | 5.5.2
`1.17.0 ...` | 5.6
### `swift-nio-transport-services ` 0.x

View File

@ -50,20 +50,21 @@ declaring [SwiftNIO's Public API](https://github.com/apple/swift-nio/blob/main/d
#### NIO Transport Services 1.x
`swift-nio-transport-services` versions 1.x is part of the SwiftNIO 2 family of repositories and does not have any dependencies besides [`swift-nio`](https://github.com/apple/swift-nio), Swift 5.5.2, and an Apple OS supporting `Network.framework`. As the latest version, it lives on the [`main`](https://github.com/apple/swift-nio-transport-services) branch.
`swift-nio-transport-services` versions 1.x is part of the SwiftNIO 2 family of repositories and does not have any dependencies besides [`swift-nio`](https://github.com/apple/swift-nio), Swift 5.6, and an Apple OS supporting `Network.framework`. As the latest version, it lives on the [`main`](https://github.com/apple/swift-nio-transport-services) branch.
To depend on `swift-nio-transport-services `, put the following in the `dependencies` of your `Package.swift`:
.package(url: "https://github.com/apple/swift-nio-transport-services.git", from: "1.0.0"),
The most recent versions of SwiftNIO Transport Services support Swift 5.5.2 and newer. The minimum Swift version supported by SwiftNIO Transport Services releases are detailed below:
The most recent versions of SwiftNIO Transport Services support Swift 5.6 and newer. The minimum Swift version supported by SwiftNIO Transport Services releases are detailed below:
SwiftNIO Extras | Minimum Swift Version
--------------------|----------------------
`1.0.0 ..< 1.11.0` | 5.0
`1.11.0 ..< 1.12.0` | 5.2
`1.12.0 ..< 1.14.0` | 5.4
`1.14.0 ...` | 5.5.2
`1.15.0 ..< 1.17.0` | 5.5.2
`1.17.0 ...` | 5.6
#### NIO Transport Services 0.x

View File

@ -85,10 +85,8 @@ public final class NIOFilterEmptyWritesHandler: ChannelDuplexHandler {
}
}
#if swift(>=5.6)
@available(*, unavailable)
extension NIOFilterEmptyWritesHandler: Sendable {}
#endif
// Connection state management
extension NIOFilterEmptyWritesHandler {

View File

@ -13,11 +13,7 @@
//===----------------------------------------------------------------------===//
#if canImport(Network)
import NIOCore
#if swift(>=5.6)
@preconcurrency import Network
#else
import Network
#endif
/// Options that can be set explicitly and only on bootstraps provided by `NIOTransportServices`.
@available(OSX 10.14, iOS 12.0, tvOS 12.0, watchOS 6.0, *)

View File

@ -261,11 +261,9 @@ public final class NIOTSConnectionBootstrap {
}
}
#if swift(>=5.6)
@available(*, unavailable)
@available(OSX 10.14, iOS 12.0, tvOS 12.0, watchOS 6.0, *)
extension NIOTSConnectionBootstrap: Sendable {}
#endif
@available(OSX 10.14, iOS 12.0, tvOS 12.0, watchOS 6.0, *)
extension NIOTSConnectionBootstrap: NIOClientTCPBootstrapProtocol {

View File

@ -13,11 +13,7 @@
//===----------------------------------------------------------------------===//
#if canImport(Network)
#if swift(>=5.6)
@preconcurrency import Network
#else
import Network
#endif
import NIOCore
/// A tag protocol that can be used to cover all network events emitted by `NIOTransportServices`.
@ -105,8 +101,6 @@ public enum NIOTSNetworkEvents {
// Network.framework has not adopted `Sendable` yet.
// We therefore need to import it with `@preconcurrency`.
// `@preconcurrency` is only available in Swift 5.6.
#if swift(>=5.6)
@available(OSX 10.14, iOS 12.0, tvOS 12.0, watchOS 6.0, *)
extension NIOTSNetworkEvents.BetterPathAvailable: Sendable {}
@available(OSX 10.14, iOS 12.0, tvOS 12.0, watchOS 6.0, *)
@ -119,6 +113,5 @@ extension NIOTSNetworkEvents.ConnectToNWEndpoint: Sendable {}
extension NIOTSNetworkEvents.BindToNWEndpoint: Sendable {}
@available(OSX 10.14, iOS 12.0, tvOS 12.0, watchOS 6.0, *)
extension NIOTSNetworkEvents.WaitingForConnectivity: Sendable {}
#endif
#endif

View File

@ -1,19 +0,0 @@
version: "3"
services:
runtime-setup:
image: swift-nio-transport-services:20.04-5.5
build:
args:
ubuntu_version: "focal"
swift_version: "5.5"
documentation-check:
image: swift-nio-transport-services:20.04-5.5
test:
image: swift-nio-transport-services:20.04-5.5
shell:
image: swift-nio-transport-services:20.04-5.5