blob: 03dc6c32fc03c4ac1e6f47d65c4b847c3b8b942c [file] [log] [blame]
plugins {
id "com.android.application"
id "com.google.protobuf"
}
description = 'gRPC: Android Integration Testing'
repositories {
google()
mavenCentral()
}
android {
sourceSets {
main {
java {
srcDirs += "${projectDir}/../interop-testing/src/main/java/"
setIncludes(["io/grpc/android/integrationtest/**",
"io/grpc/testing/integration/AbstractInteropTest.java",
"io/grpc/testing/integration/TestServiceImpl.java",
"io/grpc/testing/integration/Util.java"])
}
proto {
srcDirs += "${projectDir}/../interop-testing/src/main/proto/"
}
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
compileSdkVersion 29
defaultConfig {
applicationId "io.grpc.android.integrationtest"
minSdkVersion 19
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
debug { minifyEnabled false }
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
disable 'InvalidPackage', 'HardcodedText',
'MissingClass' // https://github.com/grpc/grpc-java/issues/8799
}
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'androidx.multidex:multidex:2.0.0'
implementation libraries.androidx.annotation
implementation 'com.google.android.gms:play-services-base:18.0.1'
implementation project(':grpc-auth'),
project(':grpc-census'),
project(':grpc-okhttp'),
project(':grpc-protobuf-lite'),
project(':grpc-stub'),
project(':grpc-testing'),
libraries.hdrhistogram,
libraries.junit,
libraries.truth,
libraries.opencensus.contrib.grpc.metrics
implementation (libraries.google.auth.oauth2Http) {
exclude group: 'org.apache.httpcomponents'
}
implementation (project(':grpc-services')) {
exclude group: 'com.google.protobuf'
}
compileOnly libraries.javax.annotation
androidTestImplementation 'androidx.test.ext:junit:1.1.3',
'androidx.test:runner:1.4.0'
}
// Checkstyle doesn't run automatically with android
task checkStyleMain(type: Checkstyle) {
source 'src/main/java'
include '**/*.java'
classpath = files()
}
task checkStyleTest(type: Checkstyle) {
source 'src/androidTest/java'
include '**/*.java'
classpath = files()
}
project.tasks['check'].dependsOn checkStyleMain, checkStyleTest
import net.ltgt.gradle.errorprone.CheckSeverity
tasks.withType(JavaCompile) {
options.compilerArgs += [
"-Xlint:-cast"
]
appendToProperty(it.options.errorprone.excludedPaths, ".*/R.java", "|")
appendToProperty(
it.options.errorprone.excludedPaths,
".*/src/generated/.*",
"|")
// Reuses source code from grpc-interop-testing, which targets Java 7 (no method references)
options.errorprone.check("UnnecessaryAnonymousClass", CheckSeverity.OFF)
}
configureProtoCompilation()