118 lines
4 KiB
Groovy
118 lines
4 KiB
Groovy
plugins {
|
|
id 'com.android.application'
|
|
id 'kotlin-android'
|
|
id 'kotlin-kapt'
|
|
id 'com.google.gms.google-services'
|
|
id 'com.google.firebase.crashlytics'
|
|
}
|
|
|
|
// Flutter properties
|
|
|
|
def localProperties = new Properties()
|
|
def localPropertiesFile = rootProject.file('local.properties')
|
|
if (localPropertiesFile.exists()) {
|
|
localPropertiesFile.withReader('UTF-8') { reader ->
|
|
localProperties.load(reader)
|
|
}
|
|
}
|
|
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
|
|
def flutterVersionName = localProperties.getProperty('flutter.versionName')
|
|
def flutterRoot = localProperties.getProperty('flutter.sdk')
|
|
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
|
|
|
|
// Keys
|
|
|
|
def keystoreProperties = new Properties()
|
|
def keystorePropertiesFile = rootProject.file('key.properties')
|
|
if (keystorePropertiesFile.exists()) {
|
|
// for release using credentials stored in a local file
|
|
keystorePropertiesFile.withReader('UTF-8') { reader ->
|
|
keystoreProperties.load(reader)
|
|
}
|
|
} else {
|
|
// for release using credentials in environment variables set up by Github Actions
|
|
// warning: in property file, single quotes should be escaped with a backslash
|
|
// but they should not be escaped when stored in env variables
|
|
keystoreProperties['storeFile'] = System.getenv('AVES_STORE_FILE')
|
|
keystoreProperties['storePassword'] = System.getenv('AVES_STORE_PASSWORD')
|
|
keystoreProperties['keyAlias'] = System.getenv('AVES_KEY_ALIAS')
|
|
keystoreProperties['keyPassword'] = System.getenv('AVES_KEY_PASSWORD')
|
|
keystoreProperties['googleApiKey'] = System.getenv('AVES_GOOGLE_API_KEY')
|
|
}
|
|
|
|
android {
|
|
compileSdkVersion 30
|
|
|
|
sourceSets {
|
|
main.java.srcDirs += 'src/main/kotlin'
|
|
}
|
|
|
|
lintOptions {
|
|
disable 'InvalidPackage'
|
|
}
|
|
|
|
defaultConfig {
|
|
applicationId "deckers.thibault.aves"
|
|
minSdkVersion 19
|
|
targetSdkVersion 30 // same as compileSdkVersion
|
|
versionCode flutterVersionCode.toInteger()
|
|
versionName flutterVersionName
|
|
manifestPlaceholders = [googleApiKey: keystoreProperties['googleApiKey']]
|
|
}
|
|
|
|
signingConfigs {
|
|
release {
|
|
keyAlias keystoreProperties['keyAlias']
|
|
keyPassword keystoreProperties['keyPassword']
|
|
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
|
|
storePassword keystoreProperties['storePassword']
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
applicationIdSuffix ".debug"
|
|
}
|
|
profile {
|
|
applicationIdSuffix ".profile"
|
|
}
|
|
release {
|
|
// specify architectures, to specifically exclude native libs for x86,
|
|
// which lead to: UnsatisfiedLinkError...couldn't find "libflutter.so"
|
|
// cf https://github.com/flutter/flutter/issues/37566#issuecomment-640879500
|
|
ndk {
|
|
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64'
|
|
}
|
|
|
|
signingConfig signingConfigs.release
|
|
|
|
minifyEnabled true
|
|
shrinkResources true
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
}
|
|
|
|
flutter {
|
|
source '../..'
|
|
}
|
|
|
|
repositories {
|
|
maven { url 'https://jitpack.io' }
|
|
maven { url "https://s3.amazonaws.com/repo.commonsware.com" }
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9'
|
|
implementation 'androidx.core:core-ktx:1.5.0-beta01' // v1.5.0-alpha02+ for ShortcutManagerCompat.setDynamicShortcuts
|
|
implementation 'androidx.exifinterface:exifinterface:1.3.2'
|
|
implementation 'com.commonsware.cwac:document:0.4.1'
|
|
implementation 'com.drewnoakes:metadata-extractor:2.15.0'
|
|
implementation 'com.github.deckerst:Android-TiffBitmapFactory:f87db4305d' // forked, built by JitPack
|
|
implementation 'com.github.bumptech.glide:glide:4.12.0'
|
|
|
|
kapt 'androidx.annotation:annotation:1.1.0'
|
|
kapt 'com.github.bumptech.glide:compiler:4.12.0'
|
|
|
|
compileOnly rootProject.findProject(':streams_channel')
|
|
}
|