xref: /aosp_15_r20/external/dagger2/javatests/artifacts/hilt-android/simple/build.gradle (revision f585d8a307d0621d6060bd7e80091fdcbf94fe27)
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