Skip to content

Declare Linux transport dependencies explicitly - #199

Merged
jamesrochabrun merged 2 commits into
mainfrom
fix/linux-nio-dependencies
Sep 8, 2026
Merged

jamesrochabrun merged 2 commits into
mainfrom
fix/linux-nio-dependencies

Conversation

@jamesrochabrun

@jamesrochabrun jamesrochabrun commented Sep 8, 2026 •

Copy link
Copy Markdown
Owner

Linux consumers can fail to build with no such module NIOFoundationCompat because the transport imports SwiftNIO products without declaring them in its target dependencies. Declare the three imported products for Linux, using a version range compatible with the existing AsyncHTTPClient minimum.

Keep the existing locked-dependency Linux job and add a Swift 6.2 job that resolves current compatible dependencies. Both perform a clean library build before running tests, so cached modules cannot conceal missing dependencies. The package's Swift tools version and Apple deployment targets stay the same. Apply the current formatter's implicit-return style in three existing files so the full repository lint check passes.

Validation:

  • macOS arm64, Swift 6.3: 94 tests passed.
  • Linux arm64, Swift 6.2.4, freshly resolved dependencies: clean build and 92 tests passed.
  • Linux arm64, Swift 6.0.1, checked-in lockfile: clean build and 92 tests passed.

Declare the SwiftNIO products imported by the Linux adapter and verify both locked and freshly resolved dependencies in clean Linux CI builds.
Remove redundant returns from three files so the full repository lint check passes with the current formatter.
@jamesrochabrun
jamesrochabrun merged commit 03360ef into main Sep 8, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant