-
-
Notifications
You must be signed in to change notification settings - Fork 617
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The introduced swift templates caching using precompiled binary helper framework will not work because Swift lacks ABI stability. #309
Comments
Hey @eugeneego |
@ilyapuchka Sourcery uses CocoaPods for distributing and probably can compile SourceryRuntime framework during project build. |
Currently with CocoaPods we distribute only release archive, not a source code. So to build runtime framework with CocoaPods will make us probably to include its source code into release archive, so that CocoaPods can use it to build the framework as a post step somehow. Or we will need to switch to distributing the whole source code instead of just release artefacts. But I'm not sure how it will behave in this case. Most likely it will link user project with SourcercyRuntime framework which is not needed at all and will require other hacks to disable that. And I'm not even sure if CocoaPods supports building binaries. SourceryRuntime framework is used not only by the swift templates but also by Sourcery itself. Sourcery when it compiles swift templates (as a step of rendering) simply copy this framework from its bundle to the build path of templates. To use different version of SourceryFramework in this case we will have to provide additional CLI argument for the path to this binary. Sounds for me like a lot of work and much more complicated setup comparing with building from source code. |
I will close this for now, if you will have any further questions or suggestions feel free to reopen it. |
#229 #240
The user can have different Swift compiler version than that was used for compilation of
SourceryRuntime.framework
.Currently Swift does not have ABI stability. All frameworks and the swift source code files should be compiled using the same compiler.
Also ABI stability is deferred from Swift 4 https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170213/032116.html
The text was updated successfully, but these errors were encountered: