Any reason why dependency managers can’t be config...
# touchlab-tools
k
Any reason why dependency managers can’t be configured on their own with KMMBridge? It seems to complains that I have to set up artifact manager. I just want to generate Swift packages for all of my KMM modules and integrate into iOS app / other packages without needing to publish KMM modules as artifacts anywhere.
This configuration
Copy code
kmmbridge {
  spm()
}
Throws
Copy code
You must apply an artifact manager! Call `artifactManager.set(...)` or a configuration function like `githubRelease()` in your `kmmbridge {}` block.
Adding github managers seems to work though, looks like these could be optional?
Copy code
kmmbridge {
  spm()
   githubReleaseVersions()
   githubReleaseArtifacts()
}
r
What do you want that configuration to do? The main thing that KMMBridge does is publish binary artifacts so that the iOS team doesn't need to build Kotlin every time. It doesn't really make sense if you don't put that binary somewhere.
k
I want to have a task that generates XCFramework + Swift package for a KMM module. I am super new to iOS ecosystem so I might be misunderstanding something here 🙂
So far has been using this plugin for this https://github.com/ge-org/multiplatform-swiftpackage
I don’t want to publish KMM’s Swift packages anywhere by the way, I want to depend on them directly in the iOS app using Swift packages.
I guess the part that interests me is generating
Swift.package
, since KMP plugin already provides a task for generating XCFramework, if I’m understanding correctly
r
It's late so I'm not going to describe this very well, but you shouldn't think of KMMBridge as a replacement for multiplatform-swiftpackage or things like it. That plugin is built for a flow where you're building Kotlin locally and wrapping it in a Swift Package. KMMBridge is designed for a flow where you're publishing your Kotlin as a versioned library and then consuming it from elsewhere. If you're not pushing binaries somewhere, you don't really need a plugin to manage your package file because you can write it once and it shouldn't ever need to change.