plugins { id 'com.android.application' id 'io.sentry.android.gradle' // https://github.com/Triple-T/gradle-play-publisher/issues/947#issuecomment-843634852 id 'com.github.triplet.play' version '3.5.0' apply false id 'name.remal.default-plugins' } ext.rootPath = '../../' apply from: "$rootPath/version.gradle" android { compileSdkVersion 30 buildToolsVersion "30.0.2" // Don't compress kmp files so they can be copied via AssetManager aaptOptions { noCompress "kmp" } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } defaultConfig { applicationId "com.tavultesoft.kmapro" minSdkVersion 21 targetSdkVersion 30 //println "===DUMPING PROPERTIES===" //dumpProperties(project) // Use this to dump all external properties for debugging TeamCity integration //println "===END DUMP===" // VERSION strings from version.gradle versionCode VERSION_CODE as Integer versionName VERSION_NAME buildConfigField 'String', 'VERSION_ENVIRONMENT', '"'+VERSION_ENVIRONMENT+'"' } String env_release_store_file = System.getenv("release_store_file") String env_release_store_password = System.getenv("release_store_password") String env_release_key_alias = System.getenv("release_key_alias") String env_release_key_password = System.getenv("release_key_password") if (env_release_store_file != null && file(env_release_store_file).exists()) { signingConfigs { release { println "Using signing from environment" storeFile file(String.valueOf(env_release_store_file)) storePassword env_release_store_password keyAlias env_release_key_alias keyPassword env_release_key_password } } } buildTypes { debug { applicationIdSuffix ".debug" pseudoLocalesEnabled true debuggable true } release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' if (env_release_store_file != null && file(env_release_store_file).exists()) { signingConfig signingConfigs.release } } } productFlavors { } lintOptions { disable 'MissingQuantity', 'MissingTranslation' lintConfig file("lint.xml") } } // how to configure the sentry android gradle plugin sentry { // Disables or enables the automatic configuration of Native symbols uploadNativeSymbols = true // Does or doesn't include the source code of native code for Sentry includeNativeSources = true } String env_keys_json_file = System.getenv("keys_json_file") if (env_keys_json_file != null && file(env_keys_json_file).exists()) { apply plugin: 'com.github.triplet.play' play { serviceAccountCredentials = file(String.valueOf(env_keys_json_file)) // Deactivate lower conflicting version APKs resolutionStrategy.set(com.github.triplet.gradle.androidpublisher.ResolutionStrategy.IGNORE) switch (System.env.TIER) { case 'beta': track.set("beta") println "TIER set to beta" break case 'stable': track.set("production") println "TIER set to production" break default: track.set("alpha") println "TIER set to alpha" } } } repositories { flatDir { dirs 'libs' } google() jcenter() } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.3.0-rc01' implementation 'com.google.android.material:material:1.3.0' implementation 'com.stepstone.stepper:material-stepper:4.3.1' api(name: 'keyman-engine', ext: 'aar') implementation 'io.sentry:sentry-android:4.3.0' implementation 'androidx.preference:preference:1.1.1' implementation "com.android.installreferrer:installreferrer:2.2" // Add dependency for generating QR Codes // (Even though it's embedded in KMEA, because we're manually copying keyman-engine.aar, // we "lose" it in the dependency management) implementation ('com.github.kenglxn.QRGen:android:2.6.0') { transitive = true } } /*def void dumpProperties(it){ //println "Examining $it.name:" //println "Meta:" //println it.metaClass.metaMethods*.name.sort().unique() //println "Methods:" //println it.metaClass.methods*.name.sort().unique() //println "Depends On:" //println it.dependsOn.collect({it*.getName()}) println "Properties:" println it.properties.entrySet()*.toString() .sort().toString().replaceAll(", ","\n") }*/