1*fa44fe6aSInna Palant /* 2*fa44fe6aSInna Palant * Copyright 2023 The Android Open Source Project 3*fa44fe6aSInna Palant * 4*fa44fe6aSInna Palant * Licensed under the Apache License, Version 2.0 (the "License"); 5*fa44fe6aSInna Palant * you may not use this file except in compliance with the License. 6*fa44fe6aSInna Palant * You may obtain a copy of the License at 7*fa44fe6aSInna Palant * 8*fa44fe6aSInna Palant * https://www.apache.org/licenses/LICENSE-2.0 9*fa44fe6aSInna Palant * 10*fa44fe6aSInna Palant * Unless required by applicable law or agreed to in writing, software 11*fa44fe6aSInna Palant * distributed under the License is distributed on an "AS IS" BASIS, 12*fa44fe6aSInna Palant * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*fa44fe6aSInna Palant * See the License for the specific language governing permissions and 14*fa44fe6aSInna Palant * limitations under the License. 15*fa44fe6aSInna Palant */ 16*fa44fe6aSInna Palant @file:Suppress("UnstableApiUsage") 17*fa44fe6aSInna Palant <lambda>null18*fa44fe6aSInna Palantplugins { 19*fa44fe6aSInna Palant id(libs.plugins.android.library.get().pluginId) 20*fa44fe6aSInna Palant id(libs.plugins.android.kotlin.get().pluginId) 21*fa44fe6aSInna Palant id(libs.plugins.jetbrains.dokka.get().pluginId) 22*fa44fe6aSInna Palant id(libs.plugins.gradle.metalava.get().pluginId) 23*fa44fe6aSInna Palant id(libs.plugins.vanniktech.maven.publish.get().pluginId) 24*fa44fe6aSInna Palant } 25*fa44fe6aSInna Palant <lambda>null26*fa44fe6aSInna Palantkotlin { 27*fa44fe6aSInna Palant explicitApi() 28*fa44fe6aSInna Palant } 29*fa44fe6aSInna Palant <lambda>null30*fa44fe6aSInna Palantandroid { 31*fa44fe6aSInna Palant namespace = "com.google.accompanist.testharness" 32*fa44fe6aSInna Palant 33*fa44fe6aSInna Palant compileSdk = 34 34*fa44fe6aSInna Palant 35*fa44fe6aSInna Palant defaultConfig { 36*fa44fe6aSInna Palant minSdk = 21 37*fa44fe6aSInna Palant // targetSdkVersion has no effect for libraries. This is only used for the test APK 38*fa44fe6aSInna Palant targetSdk = 33 39*fa44fe6aSInna Palant testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" 40*fa44fe6aSInna Palant } 41*fa44fe6aSInna Palant 42*fa44fe6aSInna Palant compileOptions { 43*fa44fe6aSInna Palant sourceCompatibility = JavaVersion.VERSION_1_8 44*fa44fe6aSInna Palant targetCompatibility = JavaVersion.VERSION_1_8 45*fa44fe6aSInna Palant } 46*fa44fe6aSInna Palant 47*fa44fe6aSInna Palant buildTypes { 48*fa44fe6aSInna Palant getByName("debug") { 49*fa44fe6aSInna Palant enableUnitTestCoverage = true 50*fa44fe6aSInna Palant } 51*fa44fe6aSInna Palant } 52*fa44fe6aSInna Palant 53*fa44fe6aSInna Palant buildFeatures { 54*fa44fe6aSInna Palant buildConfig = false 55*fa44fe6aSInna Palant compose = true 56*fa44fe6aSInna Palant } 57*fa44fe6aSInna Palant 58*fa44fe6aSInna Palant composeOptions { 59*fa44fe6aSInna Palant kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get() 60*fa44fe6aSInna Palant } 61*fa44fe6aSInna Palant 62*fa44fe6aSInna Palant lint { 63*fa44fe6aSInna Palant textReport = true 64*fa44fe6aSInna Palant textOutput = File("stdout") 65*fa44fe6aSInna Palant // We run a full lint analysis as build part in CI, so skip vital checks for assemble tasks 66*fa44fe6aSInna Palant checkReleaseBuilds = false 67*fa44fe6aSInna Palant disable += setOf("GradleOverrides") 68*fa44fe6aSInna Palant } 69*fa44fe6aSInna Palant 70*fa44fe6aSInna Palant packaging { 71*fa44fe6aSInna Palant // Some of the META-INF files conflict with coroutines-test. Exclude them to enable 72*fa44fe6aSInna Palant // our test APK to build (has no effect on our AARs) 73*fa44fe6aSInna Palant resources { 74*fa44fe6aSInna Palant excludes += listOf("/META-INF/AL2.0", "/META-INF/LGPL2.1") 75*fa44fe6aSInna Palant } 76*fa44fe6aSInna Palant } 77*fa44fe6aSInna Palant 78*fa44fe6aSInna Palant testOptions { 79*fa44fe6aSInna Palant unitTests { 80*fa44fe6aSInna Palant isIncludeAndroidResources = true 81*fa44fe6aSInna Palant } 82*fa44fe6aSInna Palant unitTests.all { 83*fa44fe6aSInna Palant it.useJUnit { 84*fa44fe6aSInna Palant excludeCategories("com.google.accompanist.internal.test.IgnoreOnRobolectric") 85*fa44fe6aSInna Palant } 86*fa44fe6aSInna Palant } 87*fa44fe6aSInna Palant animationsDisabled = true 88*fa44fe6aSInna Palant } 89*fa44fe6aSInna Palant 90*fa44fe6aSInna Palant sourceSets { 91*fa44fe6aSInna Palant named("test") { 92*fa44fe6aSInna Palant java.srcDirs("src/sharedTest/kotlin") 93*fa44fe6aSInna Palant res.srcDirs("src/sharedTest/res") 94*fa44fe6aSInna Palant } 95*fa44fe6aSInna Palant named("androidTest") { 96*fa44fe6aSInna Palant java.srcDirs("src/sharedTest/kotlin") 97*fa44fe6aSInna Palant res.srcDirs("src/sharedTest/res") 98*fa44fe6aSInna Palant } 99*fa44fe6aSInna Palant } 100*fa44fe6aSInna Palant } 101*fa44fe6aSInna Palant <lambda>null102*fa44fe6aSInna Palantmetalava { 103*fa44fe6aSInna Palant sourcePaths.setFrom("src/main") 104*fa44fe6aSInna Palant filename.set("api/current.api") 105*fa44fe6aSInna Palant reportLintsAsErrors.set(true) 106*fa44fe6aSInna Palant } 107*fa44fe6aSInna Palant <lambda>null108*fa44fe6aSInna Palantdependencies { 109*fa44fe6aSInna Palant implementation(libs.compose.foundation.foundation) 110*fa44fe6aSInna Palant implementation(libs.androidx.core) 111*fa44fe6aSInna Palant testImplementation(libs.androidx.core) 112*fa44fe6aSInna Palant implementation(libs.kotlin.coroutines.android) 113*fa44fe6aSInna Palant 114*fa44fe6aSInna Palant // ====================== 115*fa44fe6aSInna Palant // Test dependencies 116*fa44fe6aSInna Palant // ====================== 117*fa44fe6aSInna Palant 118*fa44fe6aSInna Palant androidTestImplementation(project(":internal-testutils")) 119*fa44fe6aSInna Palant testImplementation(project(":internal-testutils")) 120*fa44fe6aSInna Palant 121*fa44fe6aSInna Palant androidTestImplementation(libs.junit) 122*fa44fe6aSInna Palant testImplementation(libs.junit) 123*fa44fe6aSInna Palant 124*fa44fe6aSInna Palant androidTestImplementation(libs.truth) 125*fa44fe6aSInna Palant testImplementation(libs.truth) 126*fa44fe6aSInna Palant 127*fa44fe6aSInna Palant androidTestImplementation(libs.compose.ui.test.junit4) 128*fa44fe6aSInna Palant testImplementation(libs.compose.ui.test.junit4) 129*fa44fe6aSInna Palant 130*fa44fe6aSInna Palant androidTestImplementation(libs.compose.ui.test.manifest) 131*fa44fe6aSInna Palant testImplementation(libs.compose.ui.test.manifest) 132*fa44fe6aSInna Palant 133*fa44fe6aSInna Palant androidTestImplementation(libs.androidx.test.runner) 134*fa44fe6aSInna Palant testImplementation(libs.androidx.test.runner) 135*fa44fe6aSInna Palant 136*fa44fe6aSInna Palant testImplementation(libs.robolectric) 137*fa44fe6aSInna Palant } 138