| apply plugin: 'com.android.application' |
| apply plugin: 'kotlin-android' |
| |
| android { |
| lintOptions { |
| abortOnError true |
| checkAllWarnings true |
| showAll true |
| warningsAsErrors true |
| checkTestSources true |
| textOutput 'stdout' |
| htmlReport false |
| xmlReport true |
| xmlOutput file("${rootProject.buildDir}/reports/lint-results.xml") |
| // UnpackedNativeCode can break stack unwinding - see b/193408481 |
| // NewerVersionAvailable and GradleDependency need to be taken care of |
| // by a roller rather than as part of CI. |
| // The others are irrelevant for a test application. |
| disable 'UnpackedNativeCode','MissingApplicationIcon','GoogleAppIndexingApiWarning','GoogleAppIndexingWarning','GradleDependency','NewerVersionAvailable','Registered' |
| } |
| buildToolsVersion = '34.0.0' |
| compileSdkVersion 34 |
| compileOptions { |
| sourceCompatibility JavaVersion.VERSION_11 |
| targetCompatibility JavaVersion.VERSION_11 |
| } |
| defaultConfig { |
| applicationId 'dev.flutter.scenarios' |
| minSdkVersion 21 |
| targetSdkVersion 34 |
| versionCode 1 |
| versionName '1.0' |
| testInstrumentationRunner 'dev.flutter.TestRunner' |
| testInstrumentationRunnerArgument 'listener', 'leakcanary.FailTestOnLeakRunListener' |
| testInstrumentationRunnerArguments clearPackageData: 'true' |
| } |
| buildTypes { |
| release { |
| minifyEnabled false |
| proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' |
| } |
| } |
| sourceSets.main { |
| assets.srcDirs += "${project.buildDir}/assets" |
| if (project.hasProperty('libapp')) { |
| jni.srcDirs = [] |
| jniLibs.srcDirs = [project.property('libapp')] |
| } |
| } |
| } |
| |
| dependencies { |
| // Please *don't* add embedding dependencies to this file. |
| // The embedding dependencies are configured in tools/androidx/files.json. |
| // Only add test dependencies. |
| |
| if (project.hasProperty('flutter_jar')) { |
| implementation files(project.property('flutter_jar')) |
| } |
| implementation 'androidx.constraintlayout:constraintlayout:1.1.3' |
| implementation 'com.google.android.material:material:1.0.0' |
| implementation 'androidx.test.ext:junit:1.1.5' |
| androidTestImplementation 'junit:junit:4.12' |
| androidTestImplementation 'androidx.test:runner:1.2.0' |
| androidTestImplementation 'androidx.test:rules:1.2.0' |
| androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' |
| androidTestImplementation 'com.google.guava:guava:30.1-android' |
| |
| def leakcanary_version = '2.7' |
| androidTestImplementation "com.squareup.leakcanary:leakcanary-android:$leakcanary_version" |
| androidTestImplementation "com.squareup.leakcanary:leakcanary-android-instrumentation:$leakcanary_version" |
| } |
| |
| // Configure the embedding dependencies. |
| apply from: new File(rootDir, '../../../tools/androidx/configure.gradle').absolutePath; |
| configureDependencies(new File(rootDir, '../../..')) { dependency -> |
| dependencies { |
| implementation "$dependency" |
| } |
| } |
| |
| tasks.register('generateLockfiles') { |
| rootProject.subprojects.each { subproject -> |
| def gradle = "${rootProject.projectDir}/../../../../third_party/gradle/bin/gradle" |
| rootProject.exec { |
| workingDir rootProject.projectDir |
| executable gradle |
| args ":${subproject.name}:dependencies", "--write-locks" |
| } |
| } |
| } |
| |
| // Override the kotlin language/api version to avoid warnings from |
| // usages in leakcanaary. |
| tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { |
| sourceCompatibility = JavaVersion.VERSION_1_8 |
| targetCompatibility = JavaVersion.VERSION_1_8 |
| |
| kotlinOptions { |
| jvmTarget = '1.8' |
| apiVersion = '1.4' |
| languageVersion = '1.4' |
| } |
| } |