Releases: frankois944/spm4Kmp
Releases · frankois944/spm4Kmp
0.0.6
Breaking change
- Update the way the dependencies are declared
Before
swiftPackageConfig {
create("nativeExample") { // same name as the one in `cinterops.create("...")`
// add your own swift code and/or your external dependencies, it's optional
dependency(
// available only in your own Swift code
SwiftDependency.Package.Remote.Version(
url = "https://github.com/krzyzanowskim/CryptoSwift.git", // Repository URL
names = listOf("CryptoSwift"), // Library names
version = "1.8.4", // Package version
)
)
dependency(
// available in the Swift and Kolin code
SwiftDependency.Package.Remote.Version(
url = "https://github.com/firebase/firebase-ios-sdk.git", // Repository URL
names = listOf("FirebaseAnalytics", "FirebaseCore"), // Libraries from the package
packageName = "firebase-ios-sdk", // (Optional) Package name, can be required in some cases
version = "11.6.0", // Package version
exportToKotlin = true // Export to Kotlin for usage in shared Kotlin code
)
)
}
}
After
swiftPackageConfig {
create("nativeExample") { // same name as the one in `cinterops.create("...")`
// add your embedded swift code and/or your external dependencies, it's optional
dependency(
SwiftDependency.Package.Remote.Version(
// Repository URL
url = URI("https://github.com/firebase/firebase-ios-sdk.git"),
// Libraries from the package
products = {
// Export to Kotlin for use in shared Kotlin code and use it in your swift code
add("FirebaseCore", "FirebaseAnalytics", exportToKotlin = true)
// Add FirebaseDatabase to your swift code but don't export it
add(ProductName("FirebaseDatabase"))
},
// (Optional) Package name, can be required in some cases
packageName = "firebase-ios-sdk",
// Package version
version = "11.6.0",
),
SwiftDependency.Package.Remote.Version(
url = URI("https://github.com/krzyzanowskim/CryptoSwift.git"),
version = "1.8.1",
products = {
// Can be only used in your "src/swift" code.
add("CryptoSwift")
},
),
// see SwiftDependency class for more use cases
)
}
}
0.0.5
- Better support (by a lot) for importing your own code and third-party dependencies to your Kotlin
A local package need to be added to the xcode project when exporting swift code
- A fully working example for using the plugin with iOS
- Better performance and caching
- Bug fix and a lot of improvement
0.0.4
- Add more compatibility with complex package
Firebase (and others) should be completely exportable.
- Code factorization
Expected Breaking change for the next release:
I will change the names parameter from a list of strings to a list of configuration classes.
0.0.3
- Decrease build time and reduce storage usage
Update gradle build cache and change the way the package is built
- Add a better example project.
A fully shared KMP library is available in the example folder
- Update logs
Remove default output and print only in case of error with more informations
0.0.2
- Fix X64 targets; they are now correctly handled.
- Add new configurations for customizing the generated location content.
sharedCachePath
/sharedConfigPath
/sharedSecurityPath
which are the equivalent of--cache-path
/--config-path
/--security-path
of theswift build
command
0.0.1
First public release