diff --git a/build.gradle.kts b/build.gradle.kts index 91904f4d34..8ceb8869c1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -73,4 +73,29 @@ val assembleQA by tasks.registering { dependsOn(assembleInternalQA) dependsOn(assembleExternalQA) +} + +val generateComposeMetrics by tasks.registering { + group = "other" + description = "Build external APK and generates compose metrics to 'build/compose-metrics' directory" + + subprojects { + tasks.withType { + compilerOptions { + val outputDirectory = "${project.buildDir.absolutePath}/compose_metrics" + // Metrics + freeCompilerArgs.addAll( + "-P", + "plugin:androidx.compose.compiler.plugins.kotlin:metricsDestination=$outputDirectory", + ) + // Reports + freeCompilerArgs.addAll( + "-P", + "plugin:androidx.compose.compiler.plugins.kotlin:reportsDestination=$outputDirectory", + ) + } + } + } + + finalizedBy(assembleExternalQA) } \ No newline at end of file diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index f7f6cb31df..5ad6f0a810 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -6,7 +6,7 @@ androidGradlePlugin = "7.4.2" firebaseCrashlytics = "2.9.4" googleServices = "4.3.10" -kotlin = "1.8.10" +kotlin = "1.8.21" # endregion Classpath # region AndroidX @@ -21,14 +21,14 @@ androidx-paging = "3.1.1" # endregion AndroidX # region Compose -compose-compiler = "1.4.3" -compose-runtime = "1.3.3" -compose-foundation = "1.3.1" -compose-material = "1.4.2" +compose-compiler = "1.4.7" +compose-runtime = "1.4.3" +compose-foundation = "1.4.3" +compose-material = "1.4.3" compose-material3 = "1.1.0" compose-constraint = "1.0.1" compose-navigation = "2.5.3" -compose-accompanist = "0.28.0" +compose-accompanist = "0.30.1" compose-paging = "1.0.0-alpha18" # endregion Compose diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ddde06c17d..135c32a8de 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Tue Mar 07 14:45:01 MSK 2023 distributionBase = GRADLE_USER_HOME -distributionUrl = https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip +distributionUrl = https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip distributionPath = wrapper/dists zipStorePath = wrapper/dists zipStoreBase = GRADLE_USER_HOME diff --git a/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/ConfigurationPlugin.kt b/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/ConfigurationPlugin.kt index 53b9d53e1c..26359f8f2d 100644 --- a/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/ConfigurationPlugin.kt +++ b/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/ConfigurationPlugin.kt @@ -12,12 +12,12 @@ import org.gradle.api.Project import org.gradle.kotlin.dsl.configure class ConfigurationPlugin : Plugin { - override fun apply(target: Project) { - target.plugins.all(startConfigurationAction(project = target)) + override fun apply(project: Project) { + project.configure() + project.plugins.all(startPluginConfigurationAction(project)) } - private fun startConfigurationAction(project: Project) = Action> { - project.configure() + private fun startPluginConfigurationAction(project: Project) = Action> { when (this) { is AppPlugin -> { project.configure { configure(project) }