fix WASI & Android build, add to CI and add Combine package trait#406
fix WASI & Android build, add to CI and add Combine package trait#406diederich wants to merge 10 commits intopointfreeco:mainfrom
Combine package trait#406Conversation
|
@diederich Thanks for taking the time to PR! And sorry for the delay, holiday travel and all 😄 Just a few things:
|
No worries at all. I can relate! :-)
Love it. Will take a look! 🙏
Gotcha, makes sense.
Yeah, agreed. Will take a look and keep us posted. |
|
Hi! Any updates on this? We may be able to help if you can give us directions (like fixing the CI support) :) |
bb3a0a1 to
a437d05
Compare
``` error: dynamic libraries are unsupported for target 'wasm32-unknown-wasip1' [3/15] Linking libIssueReportingTestSupport.wasm ```
|
@stephencelis NotificationCenter was the only required fix now. OpenCombine did the trick. As mentioned in the PR description, I picked the swift-nio workflow. While that builds against main (and haven't seen a flag to change), it should be relatively maintenance free. Let me know it that's OK or if you want something more custom/configurable. (Oh, and sorry this took so long. Was in a bit of a frenzy putting all the things together 😅 ) |
so it can be disabled on non-supported platforms, e.g. currently Android
|
OK - more incoming 😅
|
Combine package trait
we're importing the Shim now, which should be available in case `#if Combine` resolved to true. It's kind of sad we're leaking
…lerPlugin` not being picked up
I'm not clear why we were seeing:
```/__w/swift-dependencies/swift-dependencies/Tests/DependenciesMacrosPluginTests/DependencyClientMacroTests.swift:1:8: error: missing required module 'SwiftCompilerPlugin'
1 | import DependenciesMacrosPlugin
| `- error: missing required module 'SwiftCompilerPlugin'
2 | import MacroTesting
3 | import XCTest
[942/955] Compiling DependenciesMacrosPluginTests BaseTestCase.swift
/__w/swift-dependencies/swift-dependencies/Tests/DependenciesMacrosPluginTests/DependencyClientMacroTests.swift:1:8: error: missing required module 'SwiftCompilerPlugin'
1 | import DependenciesMacrosPlugin
| `- error: missing required module 'SwiftCompilerPlugin'
2 | import MacroTesting
3 | import XCTest
[943/955] Compiling DependenciesMacrosPluginTests DependencyEndpointMacroTests.swift
/__w/swift-dependencies/swift-dependencies/Tests/DependenciesMacrosPluginTests/DependencyClientMacroTests.swift:1:8: error: missing required module 'SwiftCompilerPlugin'
1 | import DependenciesMacrosPlugin
| `- error: missing required module 'SwiftCompilerPlugin'
2 | import MacroTesting
3 | import XCTest
```
on https://github.com/untitled-in-brackets/swift-dependencies/actions/runs/22952803121/job/66621506036
but hoping being explicit fixes it (and we import, so should be fine?)

trying to build
swift-dependenciesagainst the WASM SDK failed because of:NotificationCentertypeExcluding the
NotificationCenterdependency on WASI fixes it.This now also borrows swift-nio's WASM build (saw that recently in swift-distributed-tracing), but given building w/o arguments tries to build
libIssueReporting.wasmas a dynamic library (how is that the default target 😅 ) and complains, we're passing--target Dependenciesand--target DependenciesMacrosalong.