yubioath-flutter/android/app/build.gradle

112 lines
3.3 KiB
Groovy
Raw Normal View History

2022-03-04 14:20:01 +03:00
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new FileNotFoundException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
//noinspection GroovyUnusedAssignment
2022-03-04 14:20:01 +03:00
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
//noinspection GroovyUnusedAssignment
2022-03-04 14:20:01 +03:00
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlinx-serialization'
2022-03-04 14:20:01 +03:00
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
2022-08-31 16:49:43 +03:00
apply plugin: 'com.google.android.gms.oss-licenses-plugin'
2022-03-04 14:20:01 +03:00
2022-09-19 12:51:09 +03:00
import com.android.build.OutputFile
2022-03-04 14:20:01 +03:00
android {
2022-04-04 18:02:06 +03:00
2023-01-24 11:28:31 +03:00
namespace 'com.yubico.authenticator'
compileSdkVersion project.compileSdkVersion
2022-03-04 14:20:01 +03:00
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
defaultConfig {
2022-09-09 12:44:19 +03:00
applicationId "com.yubico.yubioath"
2022-03-04 14:20:01 +03:00
minSdkVersion project.minSdkVersion
targetSdkVersion project.targetSdkVersion
2022-05-13 11:46:36 +03:00
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
2022-03-04 14:20:01 +03:00
}
2022-04-08 15:21:09 +03:00
2022-03-04 14:20:01 +03:00
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
2022-03-22 18:43:48 +03:00
lint {
2022-03-04 14:20:01 +03:00
abortOnError false
}
2022-03-22 18:43:48 +03:00
2022-09-19 12:51:09 +03:00
applicationVariants.all { variant ->
variant.outputs.each { output ->
def abiCodes = ['armeabi-v7a': 1, 'arm64-v8a': 2, x86: 3, x86_64: 4]
def abiCode = abiCodes.get(output.getFilter(OutputFile.ABI))
output.versionCodeOverride = variant.versionCode * 10 + (abiCode != null ? abiCode : 0)
}
}
2022-03-04 14:20:01 +03:00
}
2022-04-05 09:38:57 +03:00
apply from: "signing.gradle"
2022-08-31 16:49:43 +03:00
apply from: "collect_licenses.gradle"
2022-04-05 09:38:57 +03:00
2022-03-04 14:20:01 +03:00
flutter {
source '../..'
}
dependencies {
api "com.yubico.yubikit:android:$project.yubiKitVersion"
api "com.yubico.yubikit:management:$project.yubiKitVersion"
api "com.yubico.yubikit:oath:$project.yubiKitVersion"
api "com.yubico.yubikit:support:$project.yubiKitVersion"
2022-03-04 14:20:01 +03:00
2022-11-23 19:18:00 +03:00
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-core:1.4.1'
2022-11-24 10:44:25 +03:00
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1'
2022-03-04 14:20:01 +03:00
// Lifecycle
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1'
2022-03-04 14:20:01 +03:00
2022-12-19 18:18:23 +03:00
implementation 'androidx.fragment:fragment-ktx:1.5.5'
implementation 'androidx.preference:preference-ktx:1.2.0'
2022-03-18 18:16:12 +03:00
2023-02-08 19:44:14 +03:00
implementation 'com.google.android.material:material:1.8.0'
2022-08-31 16:49:43 +03:00
2022-03-18 18:16:12 +03:00
// testing dependencies
testImplementation "junit:junit:$project.junitVersion"
testImplementation "org.mockito:mockito-core:$project.mockitoVersion"
testImplementation 'android.arch.core:core-testing:1.1.1'
2022-03-04 14:20:01 +03:00
}