Skip to content
Snippets Groups Projects
Select Git revision
  • a4be275f882ce8abac196dd435ba50a402d28291
  • master default protected
  • greenkeeper/webpack-4.10.1
  • greenkeeper/webpack-4.10.0
  • greenkeeper/webpack-4.9.2
  • greenkeeper/promise-polyfill-8.0.0
  • greenkeeper/webpack-4.9.1
  • greenkeeper/webpack-4.9.0
  • greenkeeper/webpack-manifest-plugin-2.0.3
  • greenkeeper/update-to-node-10
  • gh-pages
  • greenkeeper/webpack-4.8.3
  • greenkeeper/webpack-4.8.2
  • greenkeeper/webpack-4.7.0
  • greenkeeper/webpack-manifest-plugin-2.0.2
  • greenkeeper/webpack-manifest-plugin-2.0.1
  • greenkeeper/style-loader-0.21.0
  • greenkeeper/webpack-4.6.0
  • greenkeeper/sass-loader-7.0.1
  • greenkeeper/sass-loader-7.0.0
  • greenkeeper/webpack-manifest-plugin-2.0.0
  • 2.7.3
  • 2.7.2
  • 2.7.1
  • 2.7.0
  • 2.6.6
  • 2.6.5
  • 2.6.4
  • 2.6.3
  • 2.6.2
  • 2.6.1
  • 2.6.0
  • 2.5.5
  • 2.5.4
  • 2.5.3
  • 2.5.2
  • 2.5.1
  • 2.5.0
  • 2.4.0
  • 2.3.0
  • 2.2.6
41 results

specimen.md

Blame
  • AndroidApplicationConvention.kt 2.45 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.git
    import util.properties
    import java.util.Locale
    
    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)}"
    
              val commit = git("rev-parse", "HEAD")
              val name = git("describe", "--always", "--tags", "HEAD")
    
              versionCode = git("rev-list", "--count", "HEAD")?.toIntOrNull() ?: 1
              versionName = git("describe", "--always", "--tags", "HEAD") ?: "1.0.0"
    
              val fancyVersionName = if (commit == null || name == null) name
              else "<a href=\\\"https://git.kuschku.de/justJanne/QuasselDroid-ng/commit/$commit\\\">$name</a>"
    
              buildConfigField("String", "GIT_HEAD", "\"${git("rev-parse", "HEAD") ?: ""}\"")
              buildConfigField("String", "FANCY_VERSION_NAME", "\"${fancyVersionName ?: ""}\"")
              buildConfigField("long", "GIT_COMMIT_DATE", "${git("show", "-s", "--format=%ct") ?: 0}L")
    
              signingConfig = signingConfigs.findByName("default")
    
              setProperty("archivesBaseName", "${rootProject.name}-$versionName")
    
              // Disable test runner analytics
              testInstrumentationRunnerArguments["disableAnalytics"] = "true"
            }
    
            buildFeatures {
              buildConfig = 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_11
              targetCompatibility = JavaVersion.VERSION_11
            }
    
            testOptions {
              unitTests.isIncludeAndroidResources = true
            }
    
            lint {
              warningsAsErrors = true
              lintConfig = file("../lint.xml")
            }
          }
        }
      }
    }