diff --git a/.gitignore b/.gitignore index 57bf9a1..792085b 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ captures !*.xcodeproj/project.xcworkspace/ !*.xcworkspace/contents.xcworkspacedata **/xcshareddata/WorkspaceSettings.xcsettings +.kotlin \ No newline at end of file diff --git a/README.md b/README.md index 390dc2e..6a3d43f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # KMPRevenueCat - Kotlin Multiplatform RevenueCat Library [![Build](https://github.com/mirzemehdi/KMPRevenueCat/actions/workflows/build_and_publish.yml/badge.svg)](https://github.com/mirzemehdi/KMPRevenueCat/actions/workflows/build_and_publish.yml) -[![Kotlin](https://img.shields.io/badge/Kotlin-1.9.21-blue.svg?style=flat&logo=kotlin)](https://kotlinlang.org) +[![Kotlin](https://img.shields.io/badge/Kotlin-2.0.0-blue.svg?style=flat&logo=kotlin)](https://kotlinlang.org) [![Maven Central](https://img.shields.io/maven-central/v/io.github.mirzemehdi/kmprevenuecat-purchases?color=blue)](https://search.maven.org/search?q=g:io.github.mirzemehdi+kmprevenuecat) ![badge-android](http://img.shields.io/badge/platform-android-6EDB8D.svg?style=flat) @@ -19,8 +19,8 @@ Related Blog Post (if you want to integrate it yourself without this library): h - **Android:** `minSdkVersion 24` - **iOS:** `minDeploymentTarget 15.0` -- **RevenueCat Android version:** `7.9.0` -- **RevenueCat iOS version:** `4.41.1` +- **RevenueCat Android version:** `7.11.0` +- **RevenueCat iOS version:** `4.43.0` ### Gradle Setup KMPRevenueCat is available on Maven Central. In your root project `build.gradle.kts` file (or `settings.gradle` file) add `mavenCentral()` to repositories. diff --git a/build.gradle.kts b/build.gradle.kts index 26b0437..08c0146 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,6 +5,7 @@ plugins { // this is necessary to avoid the plugins to be loaded multiple times // in each subproject's classloader alias(libs.plugins.jetbrainsCompose) apply false + alias(libs.plugins.composeCompiler) apply false alias(libs.plugins.androidApplication) apply false alias(libs.plugins.androidLibrary) apply false alias(libs.plugins.kotlinMultiplatform) apply false diff --git a/gradle.properties b/gradle.properties index 919dab7..f16124f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,4 +18,4 @@ kotlin.mpp.enableCInteropCommonization=true #Development development=true -kmpRevenueCatVersion=0.3.1 \ No newline at end of file +kmpRevenueCatVersion=1.0.0 \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 74fb1f0..13a261a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,27 +1,26 @@ [versions] -compose = "1.5.4" -compose-plugin = "1.6.1" -compose-compiler = "1.5.4" -agp = "8.1.3" +compose = "1.6.7" +compose-plugin = "1.6.10" +agp = "8.1.4" android-minSdk = "24" android-compileSdk = "34" android-targetSdk = "34" -androidx-activityCompose = "1.8.0" -androidx-core-ktx = "1.12.0" -androidx-appcompat = "1.6.1" -androidx-material = "1.10.0" +androidx-activityCompose = "1.9.0" +androidx-core-ktx = "1.13.1" +androidx-appcompat = "1.7.0" +androidx-material = "1.12.0" androidx-constraintlayout = "2.1.4" androidx-test-junit = "1.1.5" androidx-espresso-core = "3.5.1" androidx-startup-runtime = "1.1.1" -kotlin = "1.9.23" +kotlin = "2.0.0" junit = "4.13.2" -koin = "3.5.4" +koin = "3.5.6" kotlinx-binary-validator = "0.13.2" dokka = "1.9.20" -koinCompose = "1.1.0" -revenueCatAndroid="7.9.0" -revenueCatIos="4.41.1" +koinCompose = "1.1.5" +revenueCatAndroid="7.11.0" +revenueCatIos="4.43.0" @@ -54,6 +53,7 @@ revenuecat-purchases-ui = { group = "com.revenuecat.purchases", name = "purchase [plugins] jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" } +composeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } androidApplication = { id = "com.android.application", version.ref = "agp" } androidLibrary = { id = "com.android.library", version.ref = "agp" } kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } diff --git a/kmprevenuecat-purchases-ui/build.gradle.kts b/kmprevenuecat-purchases-ui/build.gradle.kts index df90ae8..9f356f2 100644 --- a/kmprevenuecat-purchases-ui/build.gradle.kts +++ b/kmprevenuecat-purchases-ui/build.gradle.kts @@ -3,6 +3,7 @@ plugins { alias(libs.plugins.androidLibrary) alias(libs.plugins.kotlinNativeCocoaPods) alias(libs.plugins.jetbrainsCompose) + alias(libs.plugins.composeCompiler) } kotlin { diff --git a/kmprevenuecat-purchases-ui/kmprevenuecat_purchases_ui.podspec b/kmprevenuecat-purchases-ui/kmprevenuecat_purchases_ui.podspec index 53188bb..b4966f6 100644 --- a/kmprevenuecat-purchases-ui/kmprevenuecat_purchases_ui.podspec +++ b/kmprevenuecat-purchases-ui/kmprevenuecat_purchases_ui.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |spec| spec.name = 'kmprevenuecat_purchases_ui' - spec.version = '0.3.1' + spec.version = '1.0.0' spec.homepage = '' spec.source = { :http=> ''} spec.authors = '' @@ -8,9 +8,9 @@ Pod::Spec.new do |spec| spec.summary = '' spec.vendored_frameworks = 'build/cocoapods/framework/KMPRevenueCatPurchasesUI.framework' spec.libraries = 'c++' - spec.ios.deployment_target = '15.0' - spec.dependency 'RevenueCat', '4.41.1' - spec.dependency 'RevenueCatUI', '4.41.1' + spec.ios.deployment_target = '15.0' + spec.dependency 'RevenueCat', '4.43.0' + spec.dependency 'RevenueCatUI', '4.43.0' if !Dir.exist?('build/cocoapods/framework/KMPRevenueCatPurchasesUI.framework') || Dir.empty?('build/cocoapods/framework/KMPRevenueCatPurchasesUI.framework') raise " @@ -23,6 +23,10 @@ Pod::Spec.new do |spec| Alternatively, proper pod installation is performed during Gradle sync in the IDE (if Podfile location is set)" end + spec.xcconfig = { + 'ENABLE_USER_SCRIPT_SANDBOXING' => 'NO', + } + spec.pod_target_xcconfig = { 'KOTLIN_PROJECT_PATH' => ':kmprevenuecat-purchases-ui', 'PRODUCT_MODULE_NAME' => 'KMPRevenueCatPurchasesUI', @@ -47,5 +51,5 @@ Pod::Spec.new do |spec| SCRIPT } ] - spec.resources = ['build/compose/ios/KMPRevenueCatPurchasesUI/compose-resources'] + spec.resources = ['build/compose/cocoapods/compose-resources'] end \ No newline at end of file diff --git a/kmprevenuecat-purchases/kmprevenuecat_purchases.podspec b/kmprevenuecat-purchases/kmprevenuecat_purchases.podspec index 2060cc2..6d91618 100644 --- a/kmprevenuecat-purchases/kmprevenuecat_purchases.podspec +++ b/kmprevenuecat-purchases/kmprevenuecat_purchases.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |spec| spec.name = 'kmprevenuecat_purchases' - spec.version = '0.3.1' + spec.version = '1.0.0' spec.homepage = '' spec.source = { :http=> ''} spec.authors = '' @@ -8,8 +8,8 @@ Pod::Spec.new do |spec| spec.summary = '' spec.vendored_frameworks = 'build/cocoapods/framework/KMPRevenueCatPurchases.framework' spec.libraries = 'c++' - spec.ios.deployment_target = '15.0' - spec.dependency 'RevenueCat', '4.41.1' + spec.ios.deployment_target = '15.0' + spec.dependency 'RevenueCat', '4.43.0' if !Dir.exist?('build/cocoapods/framework/KMPRevenueCatPurchases.framework') || Dir.empty?('build/cocoapods/framework/KMPRevenueCatPurchases.framework') raise " @@ -22,6 +22,10 @@ Pod::Spec.new do |spec| Alternatively, proper pod installation is performed during Gradle sync in the IDE (if Podfile location is set)" end + spec.xcconfig = { + 'ENABLE_USER_SCRIPT_SANDBOXING' => 'NO', + } + spec.pod_target_xcconfig = { 'KOTLIN_PROJECT_PATH' => ':kmprevenuecat-purchases', 'PRODUCT_MODULE_NAME' => 'KMPRevenueCatPurchases', diff --git a/sampleApp/composeApp/build.gradle.kts b/sampleApp/composeApp/build.gradle.kts index 33dceac..8db4522 100644 --- a/sampleApp/composeApp/build.gradle.kts +++ b/sampleApp/composeApp/build.gradle.kts @@ -4,6 +4,7 @@ plugins { alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.androidApplication) alias(libs.plugins.jetbrainsCompose) + alias(libs.plugins.composeCompiler) } kotlin { @@ -62,9 +63,6 @@ android { buildFeatures { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.compose.compiler.get() - } packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" diff --git a/sampleApp/iosApp/iosApp.xcodeproj/project.pbxproj b/sampleApp/iosApp/iosApp.xcodeproj/project.pbxproj index 4c5f51f..ca64796 100644 --- a/sampleApp/iosApp/iosApp.xcodeproj/project.pbxproj +++ b/sampleApp/iosApp/iosApp.xcodeproj/project.pbxproj @@ -428,7 +428,7 @@ repositoryURL = "https://github.com/RevenueCat/purchases-ios"; requirement = { kind = exactVersion; - version = 4.41.1; + version = 4.43.0; }; }; /* End XCRemoteSwiftPackageReference section */ diff --git a/sampleApp/iosApp/iosApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/sampleApp/iosApp/iosApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index f7e8ebc..d3ea95b 100644 --- a/sampleApp/iosApp/iosApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/sampleApp/iosApp/iosApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -140,8 +140,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/RevenueCat/purchases-ios", "state" : { - "revision" : "9f46bb70940087ec9a95b1e9288710bb439549d8", - "version" : "4.41.1" + "revision" : "7ec1091a6f929c40be2a1c695a63471f5d0c330d", + "version" : "4.43.0" } }, {