Raise minimum supported Swift version from 5.4 to 5.5 (#158)

Motivation:

SwiftNIO periodically drops support for older Swift versions. Now that
5.7 has been released, 5.4 will be dropped.

Modifications:

- Remove 5.4 specific Package.swift and docker-compose
- Update the 5.7 docker-compose to use the released 5.7 and move from
  focal (2004) to jammy (2204)
- Update docs

Results:

Minimum Swift version is 5.5
This commit is contained in:
George Barnett 2022-09-29 09:23:09 +01:00 committed by GitHub
parent b6e37a0d44
commit 8fda939e1b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 35 additions and 97 deletions

View File

@ -1,60 +0,0 @@
// swift-tools-version:5.4
//===----------------------------------------------------------------------===//
//
// 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,13 +48,20 @@ declaring [SwiftNIO's Public API](https://github.com/apple/swift-nio/blob/main/d
### `swift-nio-transport-services ` 1.x ### `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.4, 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.5, 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`: 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"), .package(url: "https://github.com/apple/swift-nio-transport-services.git", from: "1.0.0"),
`swift-nio-transport-services` version 1.11.x and earlier support Swift 5.2 and 5.3. Earlier 1.x versions also support Swift 5.0 and 5.1. The most recent versions of SwiftNIO Transport Services support Swift 5.5 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
### `swift-nio-transport-services ` 0.x ### `swift-nio-transport-services ` 0.x

View File

@ -48,13 +48,20 @@ declaring [SwiftNIO's Public API](https://github.com/apple/swift-nio/blob/main/d
### NIO Transport Services 1.x ### 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.4, 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.5, 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`: 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"), .package(url: "https://github.com/apple/swift-nio-transport-services.git", from: "1.0.0"),
`swift-nio-transport-services` version 1.11.x and earlier support Swift 5.2 and 5.3. Earlier 1.x versions also support Swift 5.0 and 5.1. The most recent versions of SwiftNIO Transport Services support Swift 5.5 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
### NIO Transport Services 0.x ### NIO Transport Services 0.x

View File

@ -1,4 +1,4 @@
ARG swift_version=5.4 ARG swift_version=5.7
ARG ubuntu_version=focal ARG ubuntu_version=focal
ARG base_image=swift:$swift_version-$ubuntu_version ARG base_image=swift:$swift_version-$ubuntu_version
FROM $base_image FROM $base_image

View File

@ -1,16 +0,0 @@
version: "3"
services:
runtime-setup:
image: swift-nio-transport-services:18.04-5.4
build:
args:
ubuntu_version: "bionic"
swift_version: "5.4"
test:
image: swift-nio-transport-services:18.04-5.4
shell:
image: swift-nio-transport-services:18.04-5.4

View File

@ -1,16 +0,0 @@
version: "3"
services:
runtime-setup:
image: swift-nio-transport-services:20.04-5.7
build:
args:
ubuntu_version: "focal"
base_image: "swiftlang/swift:nightly-5.7-focal"
test:
image: swift-nio-transport-services:20.04-5.7
shell:
image: swift-nio-transport-services:20.04-5.7

View File

@ -0,0 +1,16 @@
version: "3"
services:
runtime-setup:
image: swift-nio-transport-services:22.04-5.7
build:
args:
ubuntu_version: "jammy"
swift_version: "5.7"
test:
image: swift-nio-transport-services:22.04-5.7
shell:
image: swift-nio-transport-services:22.04-5.7