From d928433590b970edad0bcaea80f03a13b955ae25 Mon Sep 17 00:00:00 2001 From: Evgeny Dubravin Date: Fri, 12 Apr 2024 19:27:45 +0700 Subject: [PATCH] review fix --- .gitignore | 5 +++ app/.gitignore | 2 + app/build.gradle.kts | 6 +-- app/google-services.json | 40 ------------------- app/src/main/res/values/strings.xml | 4 -- build.gradle.kts | 4 +- buildSrc/src/main/kotlin/BuildType.kt | 8 ++-- buildSrc/src/main/kotlin/Plugins.kt | 10 ----- .../main/kotlin/plugins/AndroidAppPlugin.kt | 7 +--- .../main/kotlin/plugins/AndroidLibPlugin.kt | 4 +- .../main/kotlin/plugins/BaseAndroidPlugin.kt | 28 ++++++------- .../VersionCatalogLibraries.kt | 4 +- .../versioncatalog/VersionCatalogPlugins.kt | 15 +++++++ .../VersionCatalogVersions.kt | 8 ++-- data/build.gradle.kts | 2 +- domain/build.gradle.kts | 2 +- gradle/libs.versions.toml | 3 ++ mobile_services/build.gradle.kts | 2 +- 18 files changed, 59 insertions(+), 95 deletions(-) delete mode 100644 app/google-services.json delete mode 100644 app/src/main/res/values/strings.xml delete mode 100644 buildSrc/src/main/kotlin/Plugins.kt rename buildSrc/src/main/kotlin/{ => versioncatalog}/VersionCatalogLibraries.kt (56%) create mode 100644 buildSrc/src/main/kotlin/versioncatalog/VersionCatalogPlugins.kt rename buildSrc/src/main/kotlin/{ => versioncatalog}/VersionCatalogVersions.kt (79%) diff --git a/.gitignore b/.gitignore index 4b2cb01..eb1b6a4 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,8 @@ local.properties *.iml app/src/main/res/*/*strings.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties diff --git a/app/.gitignore b/app/.gitignore index 796b96d..b615a9d 100644 --- a/app/.gitignore +++ b/app/.gitignore @@ -1 +1,3 @@ /build + +app/src/main/res/*/*strings.xml diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 5103e8c..c62fc50 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,9 +1,5 @@ plugins { - id(Plugins.ANDROID_APP_PLUGIN_WITH_DEFAULT_CONFIG) - id(libs.plugins.android.application.get().pluginId) - id(libs.plugins.kotlin.android.get().pluginId) - id(libs.plugins.kotlin.kapt.get().pluginId) - alias(libs.plugins.google.services) + id(libs.plugins.android.app.get().pluginId) alias(libs.plugins.firebase.crashlytics) alias(libs.plugins.firebase.perf) id(libs.plugins.google.oss.licenses.plugin.get().pluginId) diff --git a/app/google-services.json b/app/google-services.json deleted file mode 100644 index 2fdeca4..0000000 --- a/app/google-services.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "project_info": { - "project_number": "1084813714260", - "firebase_url": "https://testproject-ac7fe.firebaseio.com", - "project_id": "testproject-ac7fe", - "storage_bucket": "testproject-ac7fe.appspot.com" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:1084813714260:android:b6d7bb18a0acfe96255ec1", - "android_client_info": { - "package_name": "ru.touchin.template" - } - }, - "oauth_client": [ - { - "client_id": "1084813714260-ijq13dkdc1h5i5j87t45tiibl8eg2v9e.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyBVsh_CN-RCfU3LkHuvhLdqVS-ZUJbOljE" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "1084813714260-ijq13dkdc1h5i5j87t45tiibl8eg2v9e.apps.googleusercontent.com", - "client_type": 3 - } - ] - } - } - } - ], - "configuration_version": "1" -} diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml deleted file mode 100644 index 35af9e2..0000000 --- a/app/src/main/res/values/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - android-project-template - \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index aed3f06..2c88a96 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,9 +8,7 @@ buildscript { dependencies { classpath(libs.android.gradle.plugin) classpath(libs.kotlin.gradle.plugin) - classpath(libs.google.oss.licenses.plugin) { - exclude(group = "com.google.protobuf") - } + classpath(libs.google.oss.licenses.plugin) } } diff --git a/buildSrc/src/main/kotlin/BuildType.kt b/buildSrc/src/main/kotlin/BuildType.kt index 0777af2..33ad92c 100644 --- a/buildSrc/src/main/kotlin/BuildType.kt +++ b/buildSrc/src/main/kotlin/BuildType.kt @@ -2,6 +2,7 @@ import com.android.build.gradle.BaseExtension import org.gradle.api.Project import org.gradle.api.artifacts.VersionCatalog import org.gradle.kotlin.dsl.extra +import versioncatalog.versionName fun BaseExtension.addFlavors(dimensionName: String, vararg flavorNames: String) { if (flavorNames.isEmpty()) return @@ -34,9 +35,9 @@ fun BaseExtension.addBuildType( isShrinkResources = type.optimizeAndObfuscate setMatchingFallbacks(type.matchingFallbacks) -// if (listOf(BuildType.Develop, BuildType.Debug).contains(type)) { -// applicationIdSuffix = ".${type.name}" -// } + if (listOf(BuildType.Develop, BuildType.Debug).contains(type)) { + applicationIdSuffix = ".${type.name}" + } if (type.optimizeAndObfuscate) { setProguardFiles( @@ -65,6 +66,7 @@ fun BaseExtension.addLibBuildType( buildTypes { maybeCreate(type.name) getByName(type.name) { + isDebuggable = !type.optimizeAndObfuscate isMinifyEnabled = type.optimizeAndObfuscate setMatchingFallbacks(type.matchingFallbacks) buildConfigField("String", "VERSION_NAME", "\"${versionCatalog.versionName}\"") diff --git a/buildSrc/src/main/kotlin/Plugins.kt b/buildSrc/src/main/kotlin/Plugins.kt deleted file mode 100644 index 5fe4bab..0000000 --- a/buildSrc/src/main/kotlin/Plugins.kt +++ /dev/null @@ -1,10 +0,0 @@ -object Plugins { - const val ANDROID_APPLICATION = "com.android.application" - const val ANDROID_LIBRARY = "com.android.library" - - const val ANDROID_APP_PLUGIN_WITH_DEFAULT_CONFIG = "android_app" - const val ANDROID_LIB_PLUGIN_WITH_DEFAULT_CONFIG = "android_lib" - - const val KOTLIN_ANDROID = "org.jetbrains.kotlin.android" - const val KOTLIN_KAPT = "kotlin-kapt" -} diff --git a/buildSrc/src/main/kotlin/plugins/AndroidAppPlugin.kt b/buildSrc/src/main/kotlin/plugins/AndroidAppPlugin.kt index f907f23..7c2d004 100644 --- a/buildSrc/src/main/kotlin/plugins/AndroidAppPlugin.kt +++ b/buildSrc/src/main/kotlin/plugins/AndroidAppPlugin.kt @@ -1,15 +1,12 @@ package plugins -import Plugins +import versioncatalog.androidApplicationPlugin import org.gradle.api.Project -import org.gradle.api.artifacts.VersionCatalog -import org.gradle.api.artifacts.VersionCatalogsExtension -import org.gradle.kotlin.dsl.getByType class AndroidAppPlugin : BaseAndroidPlugin() { override fun apply(target: Project) { - target.plugins.apply(Plugins.ANDROID_APPLICATION) + target.plugins.apply(target.libs.androidApplicationPlugin) super.apply(target) } diff --git a/buildSrc/src/main/kotlin/plugins/AndroidLibPlugin.kt b/buildSrc/src/main/kotlin/plugins/AndroidLibPlugin.kt index ca976ba..f3dbb4b 100644 --- a/buildSrc/src/main/kotlin/plugins/AndroidLibPlugin.kt +++ b/buildSrc/src/main/kotlin/plugins/AndroidLibPlugin.kt @@ -1,12 +1,12 @@ package plugins -import Plugins import org.gradle.api.Project +import versioncatalog.androidLibraryPlugin class AndroidLibPlugin : BaseAndroidPlugin() { override fun apply(target: Project) { - target.plugins.apply(Plugins.ANDROID_LIBRARY) + target.plugins.apply(target.libs.androidLibraryPlugin) super.apply(target) } diff --git a/buildSrc/src/main/kotlin/plugins/BaseAndroidPlugin.kt b/buildSrc/src/main/kotlin/plugins/BaseAndroidPlugin.kt index c658367..34f9e6d 100644 --- a/buildSrc/src/main/kotlin/plugins/BaseAndroidPlugin.kt +++ b/buildSrc/src/main/kotlin/plugins/BaseAndroidPlugin.kt @@ -1,10 +1,7 @@ package plugins -import AndroidConfig -import BuildType -import Plugins import com.android.build.gradle.BaseExtension -import jvmBytecode +import versioncatalog.jvmBytecode import org.gradle.api.JavaVersion import org.gradle.api.Plugin import org.gradle.api.Project @@ -12,15 +9,16 @@ import org.gradle.api.artifacts.Dependency import org.gradle.api.artifacts.VersionCatalog import org.gradle.api.artifacts.VersionCatalogsExtension import org.gradle.api.artifacts.dsl.DependencyHandler -import org.gradle.internal.impldep.junit.runner.Version.id import org.gradle.kotlin.dsl.dependencies import org.gradle.kotlin.dsl.getByType import org.jetbrains.kotlin.gradle.tasks.KotlinCompile -import sdkCompile -import sdkMin -import sdkTarget -import versionCode -import versionName +import versioncatalog.compileSdk +import versioncatalog.kotlinAndroidPlugin +import versioncatalog.kotlinKaptPlugin +import versioncatalog.minSdk +import versioncatalog.targetSdk +import versioncatalog.versionCode +import versioncatalog.versionName abstract class BaseAndroidPlugin : Plugin { override fun apply(target: Project) { @@ -30,16 +28,16 @@ abstract class BaseAndroidPlugin : Plugin { } private fun Project.configurePlugins() { - plugins.apply(Plugins.KOTLIN_ANDROID) - plugins.apply(Plugins.KOTLIN_KAPT) + plugins.apply(libs.kotlinAndroidPlugin) + plugins.apply(libs.kotlinKaptPlugin) } private fun Project.configureAndroid() = extensions.getByType().run { - compileSdkVersion(libs.sdkCompile.toInt()) + compileSdkVersion(libs.compileSdk.toInt()) defaultConfig { - minSdk = libs.sdkMin.toInt() - targetSdk = libs.sdkTarget.toInt() + minSdk = libs.minSdk.toInt() + targetSdk = libs.targetSdk.toInt() versionCode = libs.versionCode.toInt() versionName = libs.versionName } diff --git a/buildSrc/src/main/kotlin/VersionCatalogLibraries.kt b/buildSrc/src/main/kotlin/versioncatalog/VersionCatalogLibraries.kt similarity index 56% rename from buildSrc/src/main/kotlin/VersionCatalogLibraries.kt rename to buildSrc/src/main/kotlin/versioncatalog/VersionCatalogLibraries.kt index faaf8dd..aa630e5 100644 --- a/buildSrc/src/main/kotlin/VersionCatalogLibraries.kt +++ b/buildSrc/src/main/kotlin/versioncatalog/VersionCatalogLibraries.kt @@ -1,6 +1,6 @@ -import org.gradle.api.artifacts.MinimalExternalModuleDependency +package versioncatalog + import org.gradle.api.artifacts.VersionCatalog -import org.gradle.api.provider.Provider private fun VersionCatalog.getLibrary(library: String) = findLibrary(library).get() diff --git a/buildSrc/src/main/kotlin/versioncatalog/VersionCatalogPlugins.kt b/buildSrc/src/main/kotlin/versioncatalog/VersionCatalogPlugins.kt new file mode 100644 index 0000000..2c74f0b --- /dev/null +++ b/buildSrc/src/main/kotlin/versioncatalog/VersionCatalogPlugins.kt @@ -0,0 +1,15 @@ +package versioncatalog + +import org.gradle.api.artifacts.VersionCatalog + +val VersionCatalog.androidApplicationPlugin: String + get() = findPlugin("android-application").get().orNull?.pluginId.toString() + +val VersionCatalog.androidLibraryPlugin: String + get() = findPlugin("android-library").get().orNull?.pluginId.toString() + +val VersionCatalog.kotlinAndroidPlugin: String + get() = findPlugin("kotlin-android").get().orNull?.pluginId.toString() + +val VersionCatalog.kotlinKaptPlugin: String + get() = findPlugin("kotlin-kapt").get().orNull?.pluginId.toString() diff --git a/buildSrc/src/main/kotlin/VersionCatalogVersions.kt b/buildSrc/src/main/kotlin/versioncatalog/VersionCatalogVersions.kt similarity index 79% rename from buildSrc/src/main/kotlin/VersionCatalogVersions.kt rename to buildSrc/src/main/kotlin/versioncatalog/VersionCatalogVersions.kt index e556827..f97febb 100644 --- a/buildSrc/src/main/kotlin/VersionCatalogVersions.kt +++ b/buildSrc/src/main/kotlin/versioncatalog/VersionCatalogVersions.kt @@ -1,12 +1,14 @@ +package versioncatalog + import org.gradle.api.artifacts.VersionCatalog -val VersionCatalog.sdkCompile: String +val VersionCatalog.compileSdk: String get() = findVersion("compileSdk").get().requiredVersion -val VersionCatalog.sdkMin: String +val VersionCatalog.minSdk: String get() = findVersion("minSdk").get().requiredVersion -val VersionCatalog.sdkTarget: String +val VersionCatalog.targetSdk: String get() = findVersion("targetSdk").get().requiredVersion val VersionCatalog.jvmBytecode: String diff --git a/data/build.gradle.kts b/data/build.gradle.kts index d08ce66..4c55b8f 100644 --- a/data/build.gradle.kts +++ b/data/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - id(Plugins.ANDROID_LIB_PLUGIN_WITH_DEFAULT_CONFIG) + id(libs.plugins.android.lib.get().pluginId) } private val serverType = Environment.SERVER_ENVIRONMENT.getenv()?.takeIf(String::isNotBlank) diff --git a/domain/build.gradle.kts b/domain/build.gradle.kts index a1ad7cc..dc77d4f 100644 --- a/domain/build.gradle.kts +++ b/domain/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - id(Plugins.ANDROID_LIB_PLUGIN_WITH_DEFAULT_CONFIG) + id(libs.plugins.android.lib.get().pluginId) } private val versionCatalog: VersionCatalog diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index cbf06e1..def2a24 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -167,6 +167,9 @@ google-oss-licenses-plugin = { id = "com.google.android.gms.oss-licenses-plugin" firebase-crashlytics = { id = "com.google.firebase.crashlytics", version.ref = "firebaseCrashlytics" } firebase-perf = { id = "com.google.firebase.firebase-perf", version.ref = "firebasePerf" } +android-app = { id = "android_app" } +android-lib = { id = "android_lib" } + [bundles] androidX = ["androidx-compat", "androidx-constraint", "androidx-core", "androidx-recycler"] diff --git a/mobile_services/build.gradle.kts b/mobile_services/build.gradle.kts index 8c49402..e5d0c43 100644 --- a/mobile_services/build.gradle.kts +++ b/mobile_services/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - id(Plugins.ANDROID_LIB_PLUGIN_WITH_DEFAULT_CONFIG) + id(libs.plugins.android.lib.get().pluginId) } private val versionCatalog: VersionCatalog