Hi David,
First of all, thank you for Aparoksha. I really like the idea behind it, and I think the project is very interesting and promising.
I am currently trying to put together a very simple and easy-to-use cross-platform starter template so other people can try the framework more easily.
While doing that, I ran into a few issues and wanted to ask whether I am missing something, or whether these are current upstream problems.
macOS local build/run failure
On my machine, both ./run-macos.sh and ./build-macos.sh fail while building macbackend.
The error I get is:
error: external macro implementation type 'SwiftUIMacros.EntryMacro' could not be found for macro 'Entry()'; plugin for module 'SwiftUIMacros' not found
error: extensions must not contain stored properties
The failing file is:
.build/checkouts/macbackend/Sources/Core/Model/SwiftUI/SwiftUIWidget.swift
More specifically around:
@Entry var views: [String: ViewStorage]?
This makes it look like the current macbackend setup is failing to resolve or load the SwiftUI macro/plugin correctly when building through Swift Package Manager / CLI.
Linux CI issues
I also ran into Linux build issues in CI while trying to keep the template cross-platform.
From what I could trace, this does not look like a template-specific issue, but rather a mismatch in the current umbrella package setup for Linux.
In aparoksha/Package.swift, the Linux path selects the ADWAITA backend and expects the product .product(name: "Core", package: "adwaita-swift").
However, in the current adwaita-swift/Package.swift, the exported library products appear to be Adwaita and CAdw, not Core.
Because of that, it looks like the umbrella package is currently expecting a product name that adwaita-swift no longer exposes, which seems to break Linux dependency resolution/building in CI.
I included the logs in the repository above so you can inspect the exact failure details.
I really liked Aparoksha, and I am trying to make it easier for myself to use it in my own projects. Since I was already putting this work together, I thought it would make sense to share it as a minimal starter template that could also help others get started. So I would really appreciate your guidance on the best supported setup today.
- Would you be able to help clarify a few things?
- Is the current macOS SwiftUIMacros.EntryMacro failure something known in macbackend?
- Is there a recommended toolchain / Xcode / Swift version combination that should currently be used for macOS?
- For Linux, is there a recommended commit/tag combination that is known to work reliably with the umbrella aparoksha package?
- Would you recommend a different dependency/setup approach for a public cross-platform starter template?
Thanks again for your work on Aparoksha!