Skip to content
Snippets Groups Projects
Select Git revision
  • 3da1a34db16261f3e58cbc99b1076c10131ead71
  • master default
  • method_check
  • custom_prefix
  • package
  • cookies
  • v2.1.1
  • v2.1.0
  • v2.1.0-rc5
  • v2.1.0-rc4
  • v2.1.0-rc3
  • v2.1.0-rc2
  • v2.1.0-rc1
  • v2.0.7
  • v2.0.6
  • v2.0.5
  • v2.0.4
  • v2.0.3
  • v2.0.2
  • v2.0.1
  • v2.0.0
  • v1.2.8
  • v1.2.7
  • v1.2.6
  • v1.2.5
  • v1.2.4
26 results

handlers.go

Blame
  • AndroidApplicationConvention.kt 1.88 KiB
    import com.android.build.api.dsl.ApplicationExtension
    import org.gradle.api.JavaVersion
    import org.gradle.api.Plugin
    import org.gradle.api.Project
    import org.gradle.kotlin.dsl.configure
    import util.cmd
    import util.properties
    import java.util.*
    
    class AndroidApplicationConvention : Plugin<Project> {
      override fun apply(target: Project) {
        with(target) {
          with(pluginManager) {
            apply("com.android.application")
            apply("justjanne.kotlin.android")
          }
    
          extensions.configure<ApplicationExtension> {
            compileSdk = 34
    
            defaultConfig {
              minSdk = 21
              targetSdk = 34
    
              applicationId = "${rootProject.group}.${rootProject.name.lowercase(Locale.ROOT)}"
              versionCode = cmd("git", "rev-list", "--count", "HEAD")?.toIntOrNull() ?: 1
              versionName = cmd("git", "describe", "--always", "--tags", "HEAD") ?: "1.0.0"
    
              signingConfig = signingConfigs.findByName("default")
    
              setProperty("archivesBaseName", "${rootProject.name}-$versionName")
    
              // Disable test runner analytics
              testInstrumentationRunnerArguments["disableAnalytics"] = "true"
            }
    
            signingConfigs {
              SigningData.of(project.rootProject.properties("signing.properties"))?.let {
                create("default") {
                  storeFile = file(it.storeFile)
                  storePassword = it.storePassword
                  keyAlias = it.keyAlias
                  keyPassword = it.keyPassword
                }
              }
            }
    
            compileOptions {
              sourceCompatibility = JavaVersion.VERSION_17
              targetCompatibility = JavaVersion.VERSION_17
    
              isCoreLibraryDesugaringEnabled = true
            }
    
            testOptions {
              unitTests.isIncludeAndroidResources = true
            }
    
            lint {
              warningsAsErrors = true
              lintConfig = file("../lint.xml")
            }
          }
        }
      }
    }