diff --git a/.github/workflows/compilation-check.yml b/.github/workflows/compilation-check.yml index a85499f..62122c5 100644 --- a/.github/workflows/compilation-check.yml +++ b/.github/workflows/compilation-check.yml @@ -12,10 +12,12 @@ jobs: steps: - uses: actions/checkout@v1 - - name: Set up JDK 11 + - name: Set up JDK 17 uses: actions/setup-java@v1 with: - java-version: 11 + java-version: 17 + - name: Print Xcode version + run: xcodebuild -version - name: Check build run: ./gradlew build publishToMavenLocal syncMultiPlatformLibraryDebugFrameworkIosX64 - name: Install pods diff --git a/.gitignore b/.gitignore index 2a11f92..1d2381e 100755 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .gradle +.kotlin .settings .project .classpath diff --git a/README.md b/README.md index cdf4c07..6d4eb26 100755 --- a/README.md +++ b/README.md @@ -37,13 +37,13 @@ allprojects { project build.gradle ```groovy dependencies { - commonMainApi("dev.icerock.moko:fields-core:0.12.0") + commonMainApi("dev.icerock.moko:fields-core:0.13.0") // integration with reactive flows - commonMainApi("dev.icerock.moko:fields-livedata:0.12.0") - commonMainApi("dev.icerock.moko:fields-flow:0.12.0") + commonMainApi("dev.icerock.moko:fields-livedata:0.13.0") + commonMainApi("dev.icerock.moko:fields-flow:0.13.0") - androidMainApi("dev.icerock.moko:fields-material:0.12.0") + androidMainApi("dev.icerock.moko:fields-material:0.13.0") } ``` diff --git a/fields-core/src/commonMain/kotlin/dev/icerock/moko/fields/core/FormFieldExt.kt b/fields-core/src/commonMain/kotlin/dev/icerock/moko/fields/core/FormFieldExt.kt index 99fd632..d59702e 100644 --- a/fields-core/src/commonMain/kotlin/dev/icerock/moko/fields/core/FormFieldExt.kt +++ b/fields-core/src/commonMain/kotlin/dev/icerock/moko/fields/core/FormFieldExt.kt @@ -4,5 +4,6 @@ package dev.icerock.moko.fields.core -fun List>.validate(): Boolean = - all { it.validate() } +fun List>.validate(): Boolean { + return map { it.validate() }.all { it } +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c0e8bed..e25865a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -kotlinVersion = "1.8.10" +kotlinVersion = "1.9.10" # android androidAppCompatVersion = "1.6.1" @@ -10,10 +10,10 @@ androidLifecycleVersion = "2.6.1" coroutinesVersion = "1.6.4" # moko -mokoResourcesVersion = "0.21.2" +mokoResourcesVersion = "0.24.5" mokoMvvmVersion = "0.16.0" mokoTestVersion = "0.6.1" -mokoFieldsVersion = "0.12.0" +mokoFieldsVersion = "0.13.0" [libraries] # android @@ -41,7 +41,7 @@ mokoTest = { module = "dev.icerock.moko:test-core", version.ref = "mokoTestVersi # gradle plugins kotlinGradlePlugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlinVersion" } -androidGradlePlugin = { module = "com.android.tools.build:gradle", version = "7.4.2" } +androidGradlePlugin = { module = "com.android.tools.build:gradle", version = "8.2.1" } mokoResourcesGradlePlugin = { module = "dev.icerock.moko:resources-generator", version.ref = "mokoResourcesVersion" } -mokoGradlePlugin = { module = "dev.icerock.moko:moko-gradle-plugin", version = "0.3.0" } +mokoGradlePlugin = { module = "dev.icerock.moko:moko-gradle-plugin", version = "0.4.2" } mokoKSwiftGradlePlugin = { module = "dev.icerock.moko:kswift-gradle-plugin", version = "0.6.1" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ae04661..00077cd 100755 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ +#Tue Apr 15 22:30:14 KRAT 2025 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/sample-declarative-ui/androidApp/build.gradle.kts b/sample-declarative-ui/androidApp/build.gradle.kts index 1ae686e..77e7b4c 100644 --- a/sample-declarative-ui/androidApp/build.gradle.kts +++ b/sample-declarative-ui/androidApp/build.gradle.kts @@ -8,14 +8,14 @@ plugins { } android { - compileSdk = 33 + compileSdk = 34 buildFeatures { compose = true } defaultConfig { applicationId = "dev.icerock.moko.fields.sample.declarativeui.android" minSdk = 21 - targetSdk = 33 + targetSdk = 34 versionCode = 1 versionName = "1.0" } @@ -25,7 +25,14 @@ android { } } composeOptions { - kotlinCompilerExtensionVersion = "1.4.4" + kotlinCompilerExtensionVersion = "1.5.15" + } + + namespace = "dev.icerock.sample.declarativeui.android" + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } } diff --git a/sample-declarative-ui/androidApp/src/main/AndroidManifest.xml b/sample-declarative-ui/androidApp/src/main/AndroidManifest.xml index dd51cf2..9e6e5b4 100644 --- a/sample-declarative-ui/androidApp/src/main/AndroidManifest.xml +++ b/sample-declarative-ui/androidApp/src/main/AndroidManifest.xml @@ -1,7 +1,5 @@ - + diff --git a/sample-declarative-ui/shared/build.gradle.kts b/sample-declarative-ui/shared/build.gradle.kts index 4b3586c..7c17bdd 100644 --- a/sample-declarative-ui/shared/build.gradle.kts +++ b/sample-declarative-ui/shared/build.gradle.kts @@ -18,7 +18,7 @@ val dependenciesList = listOf( ) kotlin { - android() + androidTarget() val xcf = XCFramework("MultiPlatformLibrary") listOf( @@ -75,15 +75,22 @@ kotlin { } multiplatformResources { - multiplatformResourcesPackage = "dev.icerock.moko.fields.sample.declarativeui" + resourcesPackage.set("dev.icerock.moko.fields.sample.declarativeui.shared") } android { - compileSdk = 32 + compileSdk = 34 sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") defaultConfig { minSdk = 21 - targetSdk = 32 + targetSdk = 34 + } + + namespace = "dev.icerock.sample.declarativeui.shared" + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } } diff --git a/sample-declarative-ui/shared/src/androidMain/AndroidManifest.xml b/sample-declarative-ui/shared/src/androidMain/AndroidManifest.xml deleted file mode 100644 index 4350a79..0000000 --- a/sample-declarative-ui/shared/src/androidMain/AndroidManifest.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/sample-declarative-ui/shared/src/commonMain/kotlin/dev/icerock/moko/fields/sample/declarativeui/LoginViewModel.kt b/sample-declarative-ui/shared/src/commonMain/kotlin/dev/icerock/moko/fields/sample/declarativeui/LoginViewModel.kt index 9c2a7cb..eca0f06 100644 --- a/sample-declarative-ui/shared/src/commonMain/kotlin/dev/icerock/moko/fields/sample/declarativeui/LoginViewModel.kt +++ b/sample-declarative-ui/shared/src/commonMain/kotlin/dev/icerock/moko/fields/sample/declarativeui/LoginViewModel.kt @@ -14,6 +14,7 @@ import dev.icerock.moko.fields.core.validations.notBlank import dev.icerock.moko.fields.flow.FormField import dev.icerock.moko.fields.flow.flowBlock import dev.icerock.moko.fields.flow.validations.fieldValidation +import dev.icerock.moko.fields.sample.declarativeui.shared.MR import dev.icerock.moko.mvvm.flow.CFlow import dev.icerock.moko.mvvm.flow.cFlow import dev.icerock.moko.mvvm.viewmodel.ViewModel diff --git a/sample-declarative-ui/shared/src/commonMain/resources/MR/base/strings.xml b/sample-declarative-ui/shared/src/commonMain/moko-resources/base/strings.xml similarity index 100% rename from sample-declarative-ui/shared/src/commonMain/resources/MR/base/strings.xml rename to sample-declarative-ui/shared/src/commonMain/moko-resources/base/strings.xml diff --git a/sample/ios-app/Podfile.lock b/sample/ios-app/Podfile.lock index 4fbf6a6..0b09db7 100644 --- a/sample/ios-app/Podfile.lock +++ b/sample/ios-app/Podfile.lock @@ -13,4 +13,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 407e24455d8967c472bda10cdbc0fe637bc20d05 -COCOAPODS: 1.11.3 +COCOAPODS: 1.16.2 diff --git a/sample/ios-app/TestProj.xcodeproj/project.pbxproj b/sample/ios-app/TestProj.xcodeproj/project.pbxproj index 51dfc5c..363e729 100644 --- a/sample/ios-app/TestProj.xcodeproj/project.pbxproj +++ b/sample/ios-app/TestProj.xcodeproj/project.pbxproj @@ -7,19 +7,17 @@ objects = { /* Begin PBXBuildFile section */ - 2223D08027D24BA000DB5F95 /* dev_icerock_moko_mvvm-livedata.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2223D07F27D24BA000DB5F95 /* dev_icerock_moko_mvvm-livedata.swift */; }; - 2223D08227D24D7500DB5F95 /* dev_icerock_moko_mvvm-livedata-resources.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2223D08127D24D7500DB5F95 /* dev_icerock_moko_mvvm-livedata-resources.swift */; }; 2B70A10DE02726CA8E6981EB /* Pods_TestProj.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E8D683A7C91DCD56058C7435 /* Pods_TestProj.framework */; }; 45D74FCC22BFDDFD00CAB0C8 /* TestViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45D74FCB22BFDDFD00CAB0C8 /* TestViewController.swift */; }; 45F4791D219463C7003D25FA /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 45F47912219463C7003D25FA /* LaunchScreen.storyboard */; }; 45F4791E219463C7003D25FA /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 45F47914219463C7003D25FA /* Main.storyboard */; }; 45F47921219463C7003D25FA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 45F4791A219463C7003D25FA /* Assets.xcassets */; }; 45F47922219463C7003D25FA /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45F4791B219463C7003D25FA /* AppDelegate.swift */; }; + DE7B200F2E0A96A400A41F56 /* dev_icerock_moko_mvvm-livedata.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE7B200C2E0A96A400A41F56 /* dev_icerock_moko_mvvm-livedata.swift */; }; + DE7B20102E0A96A400A41F56 /* dev_icerock_moko_mvvm-livedata-resources.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE7B200D2E0A96A400A41F56 /* dev_icerock_moko_mvvm-livedata-resources.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 2223D07F27D24BA000DB5F95 /* dev_icerock_moko_mvvm-livedata.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "dev_icerock_moko_mvvm-livedata.swift"; path = "../mpp-library/build/cocoapods/framework/MultiPlatformLibrarySwift/dev_icerock_moko_mvvm-livedata.swift"; sourceTree = ""; }; - 2223D08127D24D7500DB5F95 /* dev_icerock_moko_mvvm-livedata-resources.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "dev_icerock_moko_mvvm-livedata-resources.swift"; path = "../mpp-library/build/cocoapods/framework/MultiPlatformLibrarySwift/dev_icerock_moko_mvvm-livedata-resources.swift"; sourceTree = ""; }; 287627FF1F319065007FA12B /* mokoSampleFields.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = mokoSampleFields.app; sourceTree = BUILT_PRODUCTS_DIR; }; 45964D362282A1FD00C16658 /* mpp-library */ = {isa = PBXFileReference; lastKnownFileType = folder; name = "mpp-library"; path = "../mpp-library"; sourceTree = ""; }; 45D74FCB22BFDDFD00CAB0C8 /* TestViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestViewController.swift; sourceTree = ""; }; @@ -29,6 +27,8 @@ 45F4791B219463C7003D25FA /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 45F4791C219463C7003D25FA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; A644D2F1C5377C40A53FCD6A /* Pods-TestProj.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TestProj.release.xcconfig"; path = "Pods/Target Support Files/Pods-TestProj/Pods-TestProj.release.xcconfig"; sourceTree = ""; }; + DE7B200C2E0A96A400A41F56 /* dev_icerock_moko_mvvm-livedata.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "dev_icerock_moko_mvvm-livedata.swift"; sourceTree = ""; }; + DE7B200D2E0A96A400A41F56 /* dev_icerock_moko_mvvm-livedata-resources.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "dev_icerock_moko_mvvm-livedata-resources.swift"; sourceTree = ""; }; DFBDF7D3559D080FDCA444A6 /* Pods-TestProj.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TestProj.debug.xcconfig"; path = "Pods/Target Support Files/Pods-TestProj/Pods-TestProj.debug.xcconfig"; sourceTree = ""; }; E8D683A7C91DCD56058C7435 /* Pods_TestProj.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TestProj.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -54,20 +54,11 @@ name = Pods; sourceTree = ""; }; - 2223D07E27D24B8900DB5F95 /* kswift */ = { - isa = PBXGroup; - children = ( - 2223D08127D24D7500DB5F95 /* dev_icerock_moko_mvvm-livedata-resources.swift */, - 2223D07F27D24BA000DB5F95 /* dev_icerock_moko_mvvm-livedata.swift */, - ); - name = kswift; - sourceTree = ""; - }; 287627F61F319065007FA12B = { isa = PBXGroup; children = ( + DE7B200E2E0A96A400A41F56 /* kswift */, 45964D362282A1FD00C16658 /* mpp-library */, - 2223D07E27D24B8900DB5F95 /* kswift */, 45F47910219463C7003D25FA /* src */, 287628001F319065007FA12B /* Products */, EE1ABB3E79CE541540D3155F /* Frameworks */, @@ -107,6 +98,15 @@ path = Resources; sourceTree = ""; }; + DE7B200E2E0A96A400A41F56 /* kswift */ = { + isa = PBXGroup; + children = ( + DE7B200C2E0A96A400A41F56 /* dev_icerock_moko_mvvm-livedata.swift */, + DE7B200D2E0A96A400A41F56 /* dev_icerock_moko_mvvm-livedata-resources.swift */, + ); + path = kswift; + sourceTree = ""; + }; EE1ABB3E79CE541540D3155F /* Frameworks */ = { isa = PBXGroup; children = ( @@ -126,7 +126,7 @@ 287627FB1F319065007FA12B /* Sources */, 287627FC1F319065007FA12B /* Frameworks */, 287627FD1F319065007FA12B /* Resources */, - 1F30FEA104DFAFA202996FA6 /* [CP] Embed Pods Frameworks */, + A0E6ACB974C03BCECAC12349 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -187,7 +187,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 1F30FEA104DFAFA202996FA6 /* [CP] Embed Pods Frameworks */ = { + A0E6ACB974C03BCECAC12349 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -231,10 +231,10 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2223D08227D24D7500DB5F95 /* dev_icerock_moko_mvvm-livedata-resources.swift in Sources */, 45D74FCC22BFDDFD00CAB0C8 /* TestViewController.swift in Sources */, + DE7B200F2E0A96A400A41F56 /* dev_icerock_moko_mvvm-livedata.swift in Sources */, + DE7B20102E0A96A400A41F56 /* dev_icerock_moko_mvvm-livedata-resources.swift in Sources */, 45F47922219463C7003D25FA /* AppDelegate.swift in Sources */, - 2223D08027D24BA000DB5F95 /* dev_icerock_moko_mvvm-livedata.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/sample/ios-app/kswift/dev_icerock_moko_mvvm-livedata-resources.swift b/sample/ios-app/kswift/dev_icerock_moko_mvvm-livedata-resources.swift new file mode 100644 index 0000000..3032c16 --- /dev/null +++ b/sample/ios-app/kswift/dev_icerock_moko_mvvm-livedata-resources.swift @@ -0,0 +1,14 @@ +// This file automatically generated by MOKO KSwift (https://github.com/icerockdev/moko-kswift) +// +import MultiPlatformLibrary +import UIKit + +public extension UIKit.UILabel { + /** + * selector: PackageFunctionContext/dev.icerock.moko:mvvm-livedata-resources/dev.icerock.moko.mvvm.livedata.resources/Class(name=platform/UIKit/UILabel)/bindText/liveData:Class(name=dev/icerock/moko/mvvm/livedata/LiveData) + */ + @discardableResult + public func bindText(liveData: LiveData) -> Closeable { + return UILabelBindingKt.bindText(self, liveData: liveData as! MultiPlatformLibrary.LiveData) + } +} diff --git a/sample/ios-app/kswift/dev_icerock_moko_mvvm-livedata.swift b/sample/ios-app/kswift/dev_icerock_moko_mvvm-livedata.swift new file mode 100644 index 0000000..ea309c2 --- /dev/null +++ b/sample/ios-app/kswift/dev_icerock_moko_mvvm-livedata.swift @@ -0,0 +1,15 @@ +// This file automatically generated by MOKO KSwift (https://github.com/icerockdev/moko-kswift) +// +import Foundation +import MultiPlatformLibrary +import UIKit + +public extension UIKit.UITextField { + /** + * selector: PackageFunctionContext/dev.icerock.moko:mvvm-livedata/dev.icerock.moko.mvvm.livedata/Class(name=platform/UIKit/UITextField)/bindTextTwoWay/liveData:Class(name=dev/icerock/moko/mvvm/livedata/MutableLiveData) + */ + @discardableResult + public func bindTextTwoWay(liveData: MutableLiveData) -> Closeable { + return UITextFieldBindingsKt.bindTextTwoWay(self, liveData: liveData) + } +} diff --git a/sample/mpp-library/MultiPlatformLibrarySwift.podspec b/sample/mpp-library/MultiPlatformLibrarySwift.podspec new file mode 100644 index 0000000..96b68a6 --- /dev/null +++ b/sample/mpp-library/MultiPlatformLibrarySwift.podspec @@ -0,0 +1,15 @@ +Pod::Spec.new do |spec| + spec.name = 'MultiPlatformLibrarySwift' + spec.version = '1.0' + spec.homepage = 'Link to a Kotlin/Native module homepage' + spec.source = { :git => "Not Published", :tag => "Cocoapods/#{spec.name}/#{spec.version}" } + spec.authors = '' + spec.license = '' + spec.summary = 'Some description for a Kotlin/Native module' + spec.module_name = "MultiPlatformLibrarySwift" + + + spec.static_framework = false + spec.dependency 'MultiPlatformLibrary' + spec.source_files = "build/cocoapods/framework/MultiPlatformLibrarySwift/**/*.{h,m,swift}" +end \ No newline at end of file diff --git a/sample/mpp-library/build.gradle.kts b/sample/mpp-library/build.gradle.kts index 8890cb3..9b55b8c 100644 --- a/sample/mpp-library/build.gradle.kts +++ b/sample/mpp-library/build.gradle.kts @@ -1,3 +1,7 @@ +import io.gitlab.arturbosch.detekt.Detekt +import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget +import java.util.Locale + /* * Copyright 2019 IceRock MAG Inc. Use of this source code is governed by the Apache 2.0 license. */ @@ -25,10 +29,12 @@ dependencies { commonMainApi(libs.mokoMvvmLiveData) commonMainApi(libs.mokoMvvmLiveDataResources) commonMainApi(projects.fieldsLivedata) + + iosMainImplementation("dev.icerock.moko:parcelize:0.9.0") } multiplatformResources { - multiplatformResourcesPackage = "com.icerockdev.library" + resourcesPackage.set("com.icerockdev.library") } framework { @@ -40,5 +46,24 @@ framework { } kswift { - install(dev.icerock.moko.kswift.plugin.feature.PlatformExtensionFunctionsFeature) + projectPodspecName.set("MultiPlatformLibrary") + + install(dev.icerock.moko.kswift.plugin.feature.PlatformExtensionFunctionsFeature) { + filter = includeFilter( + "PackageFunctionContext/dev.icerock.moko:mvvm-livedata/dev.icerock.moko.mvvm.livedata/Class(name=platform/UIKit/UITextField)/bindTextTwoWay/liveData:Class(name=dev/icerock/moko/mvvm/livedata/MutableLiveData)", + "PackageFunctionContext/dev.icerock.moko:mvvm-livedata-resources/dev.icerock.moko.mvvm.livedata.resources/Class(name=platform/UIKit/UILabel)/bindText/liveData:Class(name=dev/icerock/moko/mvvm/livedata/LiveData)" + ) + } +} + +kotlin.targets.withType().configureEach { + binaries.withType().configureEach { + embedBitcodeMode.set(org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode.DISABLE) + linkTask.doLast { + val file = File(outputDirectory, "${baseName}Swift") + val from = file.takeIf { it.exists() } ?: return@doLast + val to = File(rootDir, "sample/ios-app/kswift") + from.copyRecursively(to, overwrite = true) + } + } } diff --git a/sample/mpp-library/src/commonMain/resources/MR/base/strings.xml b/sample/mpp-library/src/commonMain/moko-resources/base/strings.xml similarity index 100% rename from sample/mpp-library/src/commonMain/resources/MR/base/strings.xml rename to sample/mpp-library/src/commonMain/moko-resources/base/strings.xml diff --git a/settings.gradle.kts b/settings.gradle.kts index c892581..1e0bd15 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,7 +1,6 @@ /* * Copyright 2019 IceRock MAG Inc. Use of this source code is governed by the Apache 2.0 license. */ -enableFeaturePreview("VERSION_CATALOGS") enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") dependencyResolutionManagement {