Skip to content

Commit

Permalink
Merge pull request #1624 from oas004/feature/testharness-kts
Browse files Browse the repository at this point in the history
[Testharness] Migrate gradle module to Kotlin DSL
  • Loading branch information
bentrengrove committed Jun 8, 2023
2 parents 2b97d11 + b776a64 commit 52b0011
Show file tree
Hide file tree
Showing 2 changed files with 137 additions and 149 deletions.
149 changes: 0 additions & 149 deletions testharness/build.gradle

This file was deleted.

137 changes: 137 additions & 0 deletions testharness/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
/*
* Copyright 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
@file:Suppress("UnstableApiUsage")

plugins {
id(libs.plugins.android.library.get().pluginId)
id(libs.plugins.android.kotlin.get().pluginId)
id(libs.plugins.jetbrains.dokka.get().pluginId)
id(libs.plugins.gradle.metalava.get().pluginId)
id(libs.plugins.vanniktech.maven.publish.get().pluginId)
}

kotlin {
explicitApi()
}

android {
namespace = "com.google.accompanist.testharness"

compileSdk = 33

defaultConfig {
minSdk = 21
// targetSdkVersion has no effect for libraries. This is only used for the test APK
targetSdk = 33
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}

compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}

buildTypes {
getByName("debug") {
enableUnitTestCoverage = true
}
}

buildFeatures {
buildConfig = false
compose = true
}

composeOptions {
kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get()
}

lint {
textReport = true
textOutput = File("stdout")
// We run a full lint analysis as build part in CI, so skip vital checks for assemble tasks
checkReleaseBuilds = false
}

packaging {
// Some of the META-INF files conflict with coroutines-test. Exclude them to enable
// our test APK to build (has no effect on our AARs)
resources {
excludes += listOf("/META-INF/AL2.0", "/META-INF/LGPL2.1")
}
}

testOptions {
unitTests {
isIncludeAndroidResources = true
}
unitTests.all {
it.useJUnit {
excludeCategories("com.google.accompanist.internal.test.IgnoreOnRobolectric")
}
}
animationsDisabled = true
}

sourceSets {
named("test") {
java.srcDirs("src/sharedTest/kotlin")
res.srcDirs("src/sharedTest/res")
}
named("androidTest") {
java.srcDirs("src/sharedTest/kotlin")
res.srcDirs("src/sharedTest/res")
}
}
}

metalava {
sourcePaths.setFrom("src/main")
filename.set("api/current.api")
reportLintsAsErrors.set(true)
}

dependencies {
implementation(libs.compose.foundation.foundation)
implementation(libs.androidx.core)
testImplementation(libs.androidx.core)
implementation(libs.napier)
implementation(libs.kotlin.coroutines.android)

// ======================
// Test dependencies
// ======================

androidTestImplementation(project(":internal-testutils"))
testImplementation(project(":internal-testutils"))

androidTestImplementation(libs.junit)
testImplementation(libs.junit)

androidTestImplementation(libs.truth)
testImplementation(libs.truth)

androidTestImplementation(libs.compose.ui.test.junit4)
testImplementation(libs.compose.ui.test.junit4)

androidTestImplementation(libs.compose.ui.test.manifest)
testImplementation(libs.compose.ui.test.manifest)

androidTestImplementation(libs.androidx.test.runner)
testImplementation(libs.androidx.test.runner)

testImplementation(libs.robolectric)
}

0 comments on commit 52b0011

Please sign in to comment.