| plugins { |
| id "com.android.application" |
| id "com.google.protobuf" |
| } |
| |
| description = 'gRPC: Android Integration Testing' |
| |
| repositories { |
| google() |
| mavenCentral() |
| } |
| |
| android { |
| namespace 'io.grpc.android.integrationtest' |
| 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 33 |
| |
| defaultConfig { |
| applicationId "io.grpc.android.integrationtest" |
| minSdkVersion 19 |
| targetSdkVersion 33 |
| 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', 'UsingOnClickInXml', |
| 'MissingClass' // https://github.com/grpc/grpc-java/issues/8799 |
| } |
| packagingOptions { |
| exclude 'META-INF/INDEX.LIST' |
| exclude 'META-INF/io.netty.versions.properties' |
| } |
| } |
| |
| 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-android'), |
| 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.androidx.test.rules, |
| libraries.opencensus.contrib.grpc.metrics |
| |
| implementation (libraries.google.auth.oauth2Http) { |
| exclude group: 'org.apache.httpcomponents' |
| } |
| |
| implementation (project(':grpc-services')) { |
| exclude group: 'com.google.protobuf' |
| exclude group: 'com.google.guava' |
| } |
| |
| compileOnly libraries.javax.annotation |
| |
| androidTestImplementation project(':grpc-netty'), |
| '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).configureEach { |
| options.compilerArgs += [ |
| "-Xlint:-cast" |
| ] |
| appendToProperty(it.options.errorprone.excludedPaths, ".*/R.java", "|") |
| appendToProperty( |
| it.options.errorprone.excludedPaths, |
| ".*/src/generated/.*", |
| "|") |
| } |
| |
| configureProtoCompilation() |