unplugged-system/external/dagger2/javatests/artifacts/hilt-android/simple/app/build.gradle

129 lines
4.7 KiB
Groovy

/*
* 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.
*/
import org.gradle.util.VersionNumber
apply plugin: 'com.android.application'
apply plugin: 'dagger.hilt.android.plugin'
// Gets additional test directories to be added to test and androidTest source
// sets. If the directory name is appended with '-agp-x.x.x' then the directory
// is conditionally added based on the AGP version of the project.
def getAdditionalTestDirs(String variant) {
def testDirs = [
'androidTest': [],
'sharedTest': ['src/sharedTest/java'],
'test': []
]
def suffix = '-agp-'
def agpVersion = VersionNumber.parse(agp_version)
file("${getProjectDir().absolutePath}/src").eachFile { file ->
int indexOf = file.name.indexOf(suffix)
if (file.isDirectory() && indexOf != -1) {
def dirAgpVersion =
VersionNumber.parse(file.name.substring(indexOf + suffix.length()))
if (agpVersion >= dirAgpVersion) {
testDirs[file.name.substring(0, indexOf)].add("src/${file.name}/java")
}
}
}
return testDirs[variant] + testDirs['sharedTest']
}
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
applicationId "dagger.hilt.android.simple"
minSdkVersion 15
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "dagger.hilt.android.simple.SimpleEmulatorTestRunner"
}
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
testOptions {
unitTests.includeAndroidResources = true
}
lintOptions {
checkReleaseBuilds = false
}
sourceSets {
test {
java.srcDirs += getAdditionalTestDirs("test")
}
androidTest {
java.srcDirs += getAdditionalTestDirs("androidTest")
}
}
}
hilt {
enableTransformForLocalTests = true
enableAggregatingTask = true
}
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
if ("$dagger_version" == 'LOCAL-SNAPSHOT'
&& details.requested.group == 'com.google.dagger') {
details.useVersion 'LOCAL-SNAPSHOT'
details.because 'LOCAL-SNAPSHOT should act as latest version.'
}
}
}
dependencies {
implementation project(':feature')
implementation project(':lib')
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation "com.google.dagger:hilt-android:$dagger_version"
annotationProcessor "com.google.dagger:hilt-compiler:$dagger_version"
testImplementation 'com.google.truth:truth:1.0.1'
testImplementation 'junit:junit:4.13'
testImplementation 'org.robolectric:robolectric:4.5-alpha-3'
testImplementation 'androidx.core:core:1.3.2'
testImplementation 'androidx.test.ext:junit:1.1.2'
testImplementation 'androidx.test:runner:1.3.0'
testImplementation 'androidx.test.espresso:espresso-core:3.3.0'
testImplementation "com.google.dagger:hilt-android-testing:$dagger_version"
testAnnotationProcessor "com.google.dagger:hilt-compiler:$dagger_version"
androidTestImplementation 'com.google.truth:truth:1.0.1'
androidTestImplementation 'junit:junit:4.13'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test:runner:1.3.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
androidTestImplementation "com.google.dagger:hilt-android-testing:$dagger_version"
androidTestAnnotationProcessor "com.google.dagger:hilt-compiler:$dagger_version"
// To help us catch usages of Guava APIs for Java 8 in the '-jre' variant.
annotationProcessor'com.google.guava:guava:28.1-android'
testAnnotationProcessor'com.google.guava:guava:28.1-android'
androidTestAnnotationProcessor'com.google.guava:guava:28.1-android'
// To help us catch version skew related issues in hilt extensions.
// TODO(bcorso): Add examples testing the actual API.
implementation 'androidx.hilt:hilt-work:1.0.0'
annotationProcessor 'androidx.hilt:hilt-compiler:1.0.0'
testAnnotationProcessor 'androidx.hilt:hilt-compiler:1.0.0'
androidTestAnnotationProcessor 'androidx.hilt:hilt-compiler:1.0.0'
}