Feri Nagy11/06/2023, 9:57 AM
Stylianos Gakis11/06/2023, 10:03 AM
Feri Nagy11/06/2023, 10:30 AM
seem to work too. And the Artifactory provides https://jfrog.com/help/r/jfrog-artifactory-documentation/swift-registry.
Daniel Seither11/06/2023, 11:07 AM
comitting the xcframework to git and linking locally withThis works, but is not a great solution in the long run because the binaries will bloat your repository. If you have a modest 10MB XCFramework and update it 100 times, your repo will grow by 1GB. You can start working around that with Git LFS and the likes, but storing the binaries outside of the repo is probably the cleaner solution in the end. I’m using S3, for example.seem to work too
kpgalligan11/06/2023, 3:53 PM
comitting the xcframework to git and linking locally withOur first SPM build with a client did this. It "works" until you get to huge sizes. In our experience, and that of people we've chatted with, the magic number is about 5g. At that point, Xcode is just angry with you. Also, having a 5g+ repo is not great in general. The size of a framework is not the same as the size it'll be in a deployed app, and framework zips can get rather large. The math above is accurate, except 10m is quite modest. Ours were more like 50m (IIRC), and that was before M1 was common. We were only building the X64 simulator. If you do the math, that's 100 builds, then you're done. Not sustainable, obviously. We had to slice that repo and remove the binaries (which, of course, broke older builds we didn't know were still being used). Storing in repo is, at best, POC-only. That, or you need to create external SPM-only repos. It's not a great solution, in summary.seem to work too
Stylianos Gakis11/06/2023, 4:01 PM
kpgalligan11/06/2023, 4:06 PM
So does KMMBridge have some built-in configuration to target GitHub Packages instead of maven?GitHub Packages is using maven, actually. It's just the repo and access config that's specific to GitHub Packages. We have a helper function for that in KMMBridge, as well as various points in the "helper workflow". If we didn't have that helper function, you'd need to add the repo and auth yourself https://github.com/touchlab/KMMBridge/blob/main/kmmbridge/src/main/kotlin/BuildFileHelper.kt#L31
Feri Nagy11/08/2023, 7:29 AM
It is very difficult to describe the amount of research and work you don’t have to do if you use KMMBridge and the template project.I don’t doubt that and it’s awesome you folks did this. That is exactly why I asked here, so we don’t go and try to do the same kind of research.