Skip to content

Commit db847ef

Browse files
authored
Remove shims for use with the swift development toolchains (#105)
1 parent 21f20e9 commit db847ef

File tree

12 files changed

+11
-2199
lines changed

12 files changed

+11
-2199
lines changed

Package.swift

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,12 @@ let package = Package(
1212
],
1313
products: [
1414
.library(name: "AsyncAlgorithms", targets: ["AsyncAlgorithms"]),
15-
.library(name: "ClockShims", type: .static, targets: ["ClockShims"]),
1615
.library(name: "AsyncSequenceValidation", targets: ["AsyncSequenceValidation"]),
1716
.library(name: "_CAsyncSequenceValidationSupport", type: .static, targets: ["AsyncSequenceValidation"])
1817
],
1918
dependencies: [],
2019
targets: [
21-
.target(name: "AsyncAlgorithms", dependencies: ["ClockShims"]),
22-
.target(name: "ClockShims"),
20+
.target(name: "AsyncAlgorithms"),
2321
.target(
2422
name: "AsyncSequenceValidation",
2523
dependencies: ["_CAsyncSequenceValidationSupport", "AsyncAlgorithms"]),

README.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,27 +86,28 @@ Finally, add `import AsyncAlgorithms` to your source code.
8686

8787
## Getting Started
8888

89+
⚠️ Please note that this package currently requires a recent [Swift Trunk Development toolchain](https://www.swift.org/download/#trunk-development-main). More information on how to use custom toolchains with Xcode can be viewed [here](https://developer.apple.com/library/archive/documentation/ToolsLanguages/Conceptual/Xcode_Overview/AlternativeToolchains.html).
90+
8991
### Building/Testing Using Xcode on macOS
9092

91-
1. Open the `swift-async-algorithms` package directory in Xcode
92-
2. Build or Test in Xcode as normal
93-
94-
### Building/Testing Using Swift Package Manager
93+
1. Download the most recent development Xcode toolchain.
94+
2. Install the package
95+
4. Select the development toolchain in Xcode
96+
4. Open the `swift-async-algorithms` package directory in Xcode
97+
5. Build or Test in Xcode as normal
9598

96-
1. In the `swift-async-algorithms` directory run `swift build` or `swift test` accordingly
99+
⚠️ Note: `swift test` does not currently work properly with custom toolchains for this package.
97100

98101
### Building/Testing on Linux
99102

100-
1. Download the most recent toolchain for your Linux distribution
103+
1. Download the most recent development toolchain for your Linux distribution
101104
2. Decompress the archive to a path in which the `swift` executable is in the binary search path environment variable (`$PATH`)
102105
3. In the `swift-async-algorithms` directory run `swift build` or `swift test` accordingly
103106

104107
## Source Stability
105108

106109
The Swift Async Algorithms package has a goal of being source stable as soon as possible; version numbers will follow [Semantic Versioning](https://semver.org/). Source breaking changes to public API can only land in a new major version.
107110

108-
Before the version 1.0 the `swift-async-algorithms` package will not be source or ABI stable. Particularly the shims associated with `Clock`, `Instant` and `Duration` are present just to provide backwards compatability to older toolchains. As soon as this is available widely the shims will be removed; which will be an ABI breaking change.
109-
110111
The public API of version 1.0 of the `swift-async-algorithms` package will consist of non-underscored declarations that are marked `public` in the `AsyncAlgorithms` module. Interfaces that aren't part of the public API may continue to change in any release, including patch releases.
111112

112113
Future minor versions of the package may introduce changes to these rules as needed.

Sources/AsyncAlgorithms/Reexport.swift

Lines changed: 0 additions & 12 deletions
This file was deleted.

Sources/AsyncSequenceValidation/Test.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ extension AsyncSequenceValidationDiagram {
3434
let sequence: Operation
3535
let output: Specification
3636

37-
func test<C: ClockShims.Clock>(with clock: C, activeTicks: [C.Instant], output: Specification, _ event: (String) -> Void) async throws {
37+
func test<C: _Concurrency.Clock>(with clock: C, activeTicks: [C.Instant], output: Specification, _ event: (String) -> Void) async throws {
3838
var iterator = sequence.makeAsyncIterator()
3939
do {
4040
for tick in activeTicks {

Sources/ClockShims/Clock.swift

Lines changed: 0 additions & 76 deletions
This file was deleted.

Sources/ClockShims/ContinuousClock.swift

Lines changed: 0 additions & 173 deletions
This file was deleted.

0 commit comments

Comments
 (0)