Skip to content

Releases: frankois944/spm4Kmp

0.0.6

14 Jan 14:26
535d3cd
Compare
Choose a tag to compare

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

10 Jan 16:52
cf57c26
Compare
Choose a tag to compare
  • 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

08 Jan 07:04
199d1ee
Compare
Choose a tag to compare
  • 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

05 Jan 09:18
3a0c0f2
Compare
Choose a tag to compare
  • 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

03 Jan 12:23
5032db0
Compare
Choose a tag to compare
  • 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 the swift build command

0.0.1

02 Jan 08:24
3326865
Compare
Choose a tag to compare

First public release