1/* 2 * Copyright (C) 2020 The Dagger Authors. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17buildscript { 18 ext { 19 dagger_version = 'LOCAL-SNAPSHOT' 20 kotlin_version = '1.9.20' 21 agp_version = System.getenv('AGP_VERSION') ?: "7.1.2" 22 } 23 repositories { 24 google() 25 mavenCentral() 26 mavenLocal() 27 } 28 dependencies { 29 classpath "com.android.tools.build:gradle:$agp_version" 30 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 31 classpath "com.google.dagger:hilt-android-gradle-plugin:$dagger_version" 32 } 33} 34 35allprojects { 36 repositories { 37 google() 38 mavenCentral() 39 mavenLocal() 40 } 41 // TODO(bcorso): Consider organizing all projects under a single project 42 // that share a build.gradle configuration to reduce the copy-paste. 43 // Local tests: Adds logs for individual local tests 44 tasks.withType(Test) { 45 testLogging { 46 exceptionFormat "full" 47 showCauses true 48 showExceptions true 49 showStackTraces true 50 showStandardStreams true 51 events = ["passed", "skipped", "failed", "standardOut", "standardError"] 52 } 53 } 54} 55subprojects { 56 afterEvaluate { 57 dependencies { 58 // This is needed to align older versions of kotlin-stdlib. 59 // The main issue is that in v1.8.0 the jdk7 and jdk8 artifacts were 60 // merged into kotlin-stdlib, so without this alignment we end up 61 // getting duplicate classes by pulling in both artifacts. 62 // See: https://kotlinlang.org/docs/whatsnew18.html#usage-of-the-latest-kotlin-stdlib-version-in-transitive-dependencies 63 implementation(platform("org.jetbrains.kotlin:kotlin-bom:$kotlin_version")) 64 } 65 } 66} 67 68// Instrumentation tests: Combines test reports for all modules 69apply plugin: 'android-reporting' 70