diff --git a/buildSrc/src/main/kotlin/Config.kt b/buildSrc/src/main/kotlin/Config.kt index 72dcf78..d5e658c 100644 --- a/buildSrc/src/main/kotlin/Config.kt +++ b/buildSrc/src/main/kotlin/Config.kt @@ -18,7 +18,7 @@ object Config { object Plugin { - const val android = "com.android.tools.build:gradle:4.1.2" + const val android = "com.android.tools.build:gradle:4.2.2" const val kotlin = "org.jetbrains.kotlin:kotlin-gradle-plugin:${Dependencies.Kotlin.version}" const val serialization = @@ -30,7 +30,7 @@ object Config { const val aboutLibraries = "com.mikepenz.aboutlibraries.plugin:aboutlibraries-plugin:${Dependencies.AboutLibraries.version}" const val dependencies = - "com.github.ben-manes:gradle-versions-plugin:0.36.0" + "com.github.ben-manes:gradle-versions-plugin:0.39.0" const val shadow = "com.github.jengelman.gradle.plugins:shadow:6.1.0" } diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index f427430..569e4e8 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -18,45 +18,45 @@ object Dependencies { object Kotlin { - const val version = "1.4.31" + const val version = "1.5.30" const val core = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${version}" const val serializationJson = "org.jetbrains.kotlinx:kotlinx-serialization-json:1.1.0" - const val coroutinesCore = "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2-native-mt" + const val coroutinesCore = "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2-native-mt" const val coroutinesAndroid = - "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.2-native-mt" + "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2-native-mt" } object AndroidX { - const val appcompat = "androidx.appcompat:appcompat:1.2.0" - const val core = "androidx.core:core-ktx:1.3.2" - const val constraintLayout = "androidx.constraintlayout:constraintlayout:2.0.4" + const val appcompat = "androidx.appcompat:appcompat:1.3.1" + const val core = "androidx.core:core-ktx:1.6.0" + const val constraintLayout = "androidx.constraintlayout:constraintlayout:2.1.0" const val swipeRefreshLayout = "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0" const val lifecycleExtensions = "androidx.lifecycle:lifecycle-extensions:2.2.0" const val lifecycleLiveData = "androidx.lifecycle:lifecycle-livedata-ktx:2.3.0" const val preference = "androidx.preference:preference-ktx:1.1.1" const val browser = "androidx.browser:browser:1.3.0" - private const val navigationVersion = "2.3.3" + private const val navigationVersion = "2.3.5" const val navigationFragment = "androidx.navigation:navigation-fragment-ktx:${navigationVersion}" const val navigationUi = "androidx.navigation:navigation-ui-ktx:${navigationVersion}" - const val workManager = "androidx.work:work-runtime-ktx:2.5.0" + const val workManager = "androidx.work:work-runtime-ktx:2.6.0" } object Google { - const val material = "com.google.android.material:material:1.3.0" + const val material = "com.google.android.material:material:1.4.0" } object Firebase { - const val bom = "com.google.firebase:firebase-bom:26.5.0" + const val bom = "com.google.firebase:firebase-bom:28.4.1" const val messaging = "com.google.firebase:firebase-messaging-ktx" - const val adminSDK = "com.google.firebase:firebase-admin:7.1.0" + const val adminSDK = "com.google.firebase:firebase-admin:8.0.1" } object Ktor { - private const val version = "1.5.2" + private const val version = "1.6.3" const val ktorCore = "io.ktor:ktor-client-core:$version" const val ktorOkhttp = "io.ktor:ktor-client-okhttp:$version" const val ktorIos = "io.ktor:ktor-client-ios:$version" @@ -67,7 +67,7 @@ object Dependencies { } object SQLDelight { - const val version = "1.4.4" + const val version = "1.5.1" const val sqlDelightRuntime = "com.squareup.sqldelight:runtime:$version" const val sqlDelightCoroutines = "com.squareup.sqldelight:coroutines-extensions:$version" const val sqlDelightAndroid = "com.squareup.sqldelight:android-driver:$version" @@ -76,13 +76,13 @@ object Dependencies { } object AboutLibraries { - const val version = "8.8.2" + const val version = "8.9.1" const val aboutLibrariesCore = "com.mikepenz:aboutlibraries-core:$version" const val aboutLibraries = "com.mikepenz:aboutlibraries:$version" } object Misc { - const val jsoup = "org.jsoup:jsoup:1.13.1" + const val jsoup = "org.jsoup:jsoup:1.14.2" const val appIntro = "com.github.AppIntro:AppIntro:6.1.0" const val materialSpinner = "com.github.tiper:MaterialSpinner:1.4.2" const val materialProgressBar = "me.zhanghai.android.materialprogressbar:library:1.6.1" diff --git a/shared/build.gradle.kts b/shared/build.gradle.kts index 9c36698..662e736 100644 --- a/shared/build.gradle.kts +++ b/shared/build.gradle.kts @@ -1,5 +1,3 @@ -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget - plugins { kotlin("multiplatform") kotlin("native.cocoapods") @@ -30,7 +28,7 @@ kotlin { // KotlinX implementation(Dependencies.Kotlin.coroutinesCore) { version { - strictly("1.4.2-native-mt") + strictly("1.5.2-native-mt") } } implementation(Dependencies.Kotlin.serializationJson) @@ -106,18 +104,3 @@ sqldelight { sourceFolders = listOf("sqldelight") } } - -val packForXcode by tasks.creating(Sync::class) { - group = "build" - val mode = System.getenv("CONFIGURATION") ?: "DEBUG" - val sdkName = System.getenv("SDK_NAME") ?: "iphonesimulator" - val targetName = "ios" + if (sdkName.startsWith("iphoneos")) "Arm64" else "X64" - val framework = kotlin.targets.getByName(targetName).binaries.getFramework(mode) - inputs.property("mode", mode) - dependsOn(framework.linkTask) - val targetDir = File(buildDir, "xcode-frameworks") - from({ framework.outputDirectory }) - into(targetDir) -} - -tasks.getByName("build").dependsOn(packForXcode) diff --git a/shared/shared.podspec b/shared/shared.podspec index e5b97a9..5f3855b 100644 --- a/shared/shared.podspec +++ b/shared/shared.podspec @@ -7,7 +7,6 @@ Pod::Spec.new do |spec| spec.license = '' spec.summary = 'Shared module for Circolapp' - spec.static_framework = true spec.vendored_frameworks = "build/cocoapods/framework/Shared.framework" spec.libraries = "c++" spec.module_name = "#{spec.name}_umbrella" @@ -17,13 +16,8 @@ Pod::Spec.new do |spec| spec.dependency 'HTMLKit', '~> 3.1.0' spec.pod_target_xcconfig = { - 'KOTLIN_TARGET[sdk=iphonesimulator*]' => 'ios_x64', - 'KOTLIN_TARGET[sdk=iphoneos*]' => 'ios_arm', - 'KOTLIN_TARGET[sdk=watchsimulator*]' => 'watchos_x64', - 'KOTLIN_TARGET[sdk=watchos*]' => 'watchos_arm', - 'KOTLIN_TARGET[sdk=appletvsimulator*]' => 'tvos_x64', - 'KOTLIN_TARGET[sdk=appletvos*]' => 'tvos_arm64', - 'KOTLIN_TARGET[sdk=macosx*]' => 'macos_x64' + 'KOTLIN_PROJECT_PATH' => ':shared', + 'PRODUCT_MODULE_NAME' => 'shared', } spec.script_phases = [ @@ -32,10 +26,15 @@ Pod::Spec.new do |spec| :execution_position => :before_compile, :shell_path => '/bin/sh', :script => <<-SCRIPT + if [ "YES" = "$COCOAPODS_SKIP_KOTLIN_BUILD" ]; then + echo "Skipping Gradle build task invocation due to COCOAPODS_SKIP_KOTLIN_BUILD environment variable set to \"YES\"" + exit 0 + fi set -ev REPO_ROOT="$PODS_TARGET_SRCROOT" - "$REPO_ROOT/../gradlew" -p "$REPO_ROOT" :shared:syncFramework \ - -Pkotlin.native.cocoapods.target=$KOTLIN_TARGET \ + "$REPO_ROOT/../gradlew" -p "$REPO_ROOT" $KOTLIN_PROJECT_PATH:syncFramework \ + -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME \ + -Pkotlin.native.cocoapods.archs="$ARCHS" \ -Pkotlin.native.cocoapods.configuration=$CONFIGURATION \ -Pkotlin.native.cocoapods.cflags="$OTHER_CFLAGS" \ -Pkotlin.native.cocoapods.paths.headers="$HEADER_SEARCH_PATHS" \