blob: ac3230e96dc616ca9fb594e8e079e93453e80381 [file] [log] [blame]
/*
* Copyright (C) 2020 The Dagger Authors.
*
* 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
*
* http://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.
*/
buildscript {
ext {
dagger_version = 'LOCAL-SNAPSHOT'
kotlin_version = '1.8.0'
agp_version = System.getenv('AGP_VERSION') ?: "7.1.2"
}
repositories {
google()
mavenCentral()
mavenLocal()
}
dependencies {
classpath "com.android.tools.build:gradle:$agp_version"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "com.google.dagger:hilt-android-gradle-plugin:$dagger_version"
}
}
allprojects {
repositories {
google()
mavenCentral()
mavenLocal()
}
// TODO(bcorso): Consider organizing all projects under a single project
// that share a build.gradle configuration to reduce the copy-paste.
// Local tests: Adds logs for individual local tests
tasks.withType(Test) {
testLogging {
exceptionFormat "full"
showCauses true
showExceptions true
showStackTraces true
showStandardStreams true
events = ["passed", "skipped", "failed", "standardOut", "standardError"]
}
}
}
subprojects {
afterEvaluate {
dependencies {
// This is needed to align older versions of kotlin-stdlib.
// The main issue is that in v1.8.0 the jdk7 and jdk8 artifacts were
// merged into kotlin-stdlib, so without this alignment we end up
// getting duplicate classes by pulling in both artifacts.
// See: https://kotlinlang.org/docs/whatsnew18.html#usage-of-the-latest-kotlin-stdlib-version-in-transitive-dependencies
implementation(platform("org.jetbrains.kotlin:kotlin-bom:$kotlin_version"))
}
}
}
// Instrumentation tests: Combines test reports for all modules
apply plugin: 'android-reporting'