1*e07d83d3SAndroid Build Coastguard Workerplugins { 2*e07d83d3SAndroid Build Coastguard Worker id "com.android.application" 3*e07d83d3SAndroid Build Coastguard Worker id "com.google.protobuf" 4*e07d83d3SAndroid Build Coastguard Worker} 5*e07d83d3SAndroid Build Coastguard Worker 6*e07d83d3SAndroid Build Coastguard Workerdescription = 'gRPC: Android Integration Testing' 7*e07d83d3SAndroid Build Coastguard Worker 8*e07d83d3SAndroid Build Coastguard Workerrepositories { 9*e07d83d3SAndroid Build Coastguard Worker google() 10*e07d83d3SAndroid Build Coastguard Worker mavenCentral() 11*e07d83d3SAndroid Build Coastguard Worker} 12*e07d83d3SAndroid Build Coastguard Worker 13*e07d83d3SAndroid Build Coastguard Workerandroid { 14*e07d83d3SAndroid Build Coastguard Worker namespace 'io.grpc.android.integrationtest' 15*e07d83d3SAndroid Build Coastguard Worker sourceSets { 16*e07d83d3SAndroid Build Coastguard Worker main { 17*e07d83d3SAndroid Build Coastguard Worker java { 18*e07d83d3SAndroid Build Coastguard Worker srcDirs += "${projectDir}/../interop-testing/src/main/java/" 19*e07d83d3SAndroid Build Coastguard Worker setIncludes(["io/grpc/android/integrationtest/**", 20*e07d83d3SAndroid Build Coastguard Worker "io/grpc/testing/integration/AbstractInteropTest.java", 21*e07d83d3SAndroid Build Coastguard Worker "io/grpc/testing/integration/TestServiceImpl.java", 22*e07d83d3SAndroid Build Coastguard Worker "io/grpc/testing/integration/Util.java"]) 23*e07d83d3SAndroid Build Coastguard Worker } 24*e07d83d3SAndroid Build Coastguard Worker proto { 25*e07d83d3SAndroid Build Coastguard Worker srcDirs += "${projectDir}/../interop-testing/src/main/proto/" 26*e07d83d3SAndroid Build Coastguard Worker } 27*e07d83d3SAndroid Build Coastguard Worker } 28*e07d83d3SAndroid Build Coastguard Worker } 29*e07d83d3SAndroid Build Coastguard Worker compileOptions { 30*e07d83d3SAndroid Build Coastguard Worker sourceCompatibility JavaVersion.VERSION_1_8 31*e07d83d3SAndroid Build Coastguard Worker targetCompatibility JavaVersion.VERSION_1_8 32*e07d83d3SAndroid Build Coastguard Worker } 33*e07d83d3SAndroid Build Coastguard Worker compileSdkVersion 33 34*e07d83d3SAndroid Build Coastguard Worker 35*e07d83d3SAndroid Build Coastguard Worker defaultConfig { 36*e07d83d3SAndroid Build Coastguard Worker applicationId "io.grpc.android.integrationtest" 37*e07d83d3SAndroid Build Coastguard Worker minSdkVersion 19 38*e07d83d3SAndroid Build Coastguard Worker targetSdkVersion 33 39*e07d83d3SAndroid Build Coastguard Worker versionCode 1 40*e07d83d3SAndroid Build Coastguard Worker versionName "1.0" 41*e07d83d3SAndroid Build Coastguard Worker testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 42*e07d83d3SAndroid Build Coastguard Worker multiDexEnabled true 43*e07d83d3SAndroid Build Coastguard Worker } 44*e07d83d3SAndroid Build Coastguard Worker buildTypes { 45*e07d83d3SAndroid Build Coastguard Worker debug { minifyEnabled false } 46*e07d83d3SAndroid Build Coastguard Worker release { 47*e07d83d3SAndroid Build Coastguard Worker minifyEnabled true 48*e07d83d3SAndroid Build Coastguard Worker proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 49*e07d83d3SAndroid Build Coastguard Worker } 50*e07d83d3SAndroid Build Coastguard Worker } 51*e07d83d3SAndroid Build Coastguard Worker lintOptions { 52*e07d83d3SAndroid Build Coastguard Worker disable 'InvalidPackage', 'HardcodedText', 'UsingOnClickInXml', 53*e07d83d3SAndroid Build Coastguard Worker 'MissingClass' // https://github.com/grpc/grpc-java/issues/8799 54*e07d83d3SAndroid Build Coastguard Worker } 55*e07d83d3SAndroid Build Coastguard Worker packagingOptions { 56*e07d83d3SAndroid Build Coastguard Worker exclude 'META-INF/INDEX.LIST' 57*e07d83d3SAndroid Build Coastguard Worker exclude 'META-INF/io.netty.versions.properties' 58*e07d83d3SAndroid Build Coastguard Worker } 59*e07d83d3SAndroid Build Coastguard Worker} 60*e07d83d3SAndroid Build Coastguard Worker 61*e07d83d3SAndroid Build Coastguard Workerdependencies { 62*e07d83d3SAndroid Build Coastguard Worker implementation 'androidx.appcompat:appcompat:1.3.0' 63*e07d83d3SAndroid Build Coastguard Worker implementation 'androidx.multidex:multidex:2.0.0' 64*e07d83d3SAndroid Build Coastguard Worker implementation libraries.androidx.annotation 65*e07d83d3SAndroid Build Coastguard Worker implementation 'com.google.android.gms:play-services-base:18.0.1' 66*e07d83d3SAndroid Build Coastguard Worker 67*e07d83d3SAndroid Build Coastguard Worker implementation project(':grpc-android'), 68*e07d83d3SAndroid Build Coastguard Worker project(':grpc-auth'), 69*e07d83d3SAndroid Build Coastguard Worker project(':grpc-census'), 70*e07d83d3SAndroid Build Coastguard Worker project(':grpc-okhttp'), 71*e07d83d3SAndroid Build Coastguard Worker project(':grpc-protobuf-lite'), 72*e07d83d3SAndroid Build Coastguard Worker project(':grpc-stub'), 73*e07d83d3SAndroid Build Coastguard Worker project(':grpc-testing'), 74*e07d83d3SAndroid Build Coastguard Worker libraries.hdrhistogram, 75*e07d83d3SAndroid Build Coastguard Worker libraries.junit, 76*e07d83d3SAndroid Build Coastguard Worker libraries.truth, 77*e07d83d3SAndroid Build Coastguard Worker libraries.androidx.test.rules, 78*e07d83d3SAndroid Build Coastguard Worker libraries.opencensus.contrib.grpc.metrics 79*e07d83d3SAndroid Build Coastguard Worker 80*e07d83d3SAndroid Build Coastguard Worker implementation (libraries.google.auth.oauth2Http) { 81*e07d83d3SAndroid Build Coastguard Worker exclude group: 'org.apache.httpcomponents' 82*e07d83d3SAndroid Build Coastguard Worker } 83*e07d83d3SAndroid Build Coastguard Worker 84*e07d83d3SAndroid Build Coastguard Worker implementation (project(':grpc-services')) { 85*e07d83d3SAndroid Build Coastguard Worker exclude group: 'com.google.protobuf' 86*e07d83d3SAndroid Build Coastguard Worker exclude group: 'com.google.guava' 87*e07d83d3SAndroid Build Coastguard Worker } 88*e07d83d3SAndroid Build Coastguard Worker 89*e07d83d3SAndroid Build Coastguard Worker compileOnly libraries.javax.annotation 90*e07d83d3SAndroid Build Coastguard Worker 91*e07d83d3SAndroid Build Coastguard Worker androidTestImplementation project(':grpc-netty'), 92*e07d83d3SAndroid Build Coastguard Worker 'androidx.test.ext:junit:1.1.3', 93*e07d83d3SAndroid Build Coastguard Worker 'androidx.test:runner:1.4.0' 94*e07d83d3SAndroid Build Coastguard Worker} 95*e07d83d3SAndroid Build Coastguard Worker 96*e07d83d3SAndroid Build Coastguard Worker// Checkstyle doesn't run automatically with android 97*e07d83d3SAndroid Build Coastguard Workertask checkStyleMain(type: Checkstyle) { 98*e07d83d3SAndroid Build Coastguard Worker source 'src/main/java' 99*e07d83d3SAndroid Build Coastguard Worker include '**/*.java' 100*e07d83d3SAndroid Build Coastguard Worker classpath = files() 101*e07d83d3SAndroid Build Coastguard Worker} 102*e07d83d3SAndroid Build Coastguard Worker 103*e07d83d3SAndroid Build Coastguard Workertask checkStyleTest(type: Checkstyle) { 104*e07d83d3SAndroid Build Coastguard Worker source 'src/androidTest/java' 105*e07d83d3SAndroid Build Coastguard Worker include '**/*.java' 106*e07d83d3SAndroid Build Coastguard Worker classpath = files() 107*e07d83d3SAndroid Build Coastguard Worker} 108*e07d83d3SAndroid Build Coastguard Worker 109*e07d83d3SAndroid Build Coastguard Workerproject.tasks['check'].dependsOn checkStyleMain, checkStyleTest 110*e07d83d3SAndroid Build Coastguard Worker 111*e07d83d3SAndroid Build Coastguard Workerimport net.ltgt.gradle.errorprone.CheckSeverity 112*e07d83d3SAndroid Build Coastguard Worker 113*e07d83d3SAndroid Build Coastguard Workertasks.withType(JavaCompile).configureEach { 114*e07d83d3SAndroid Build Coastguard Worker options.compilerArgs += [ 115*e07d83d3SAndroid Build Coastguard Worker "-Xlint:-cast" 116*e07d83d3SAndroid Build Coastguard Worker ] 117*e07d83d3SAndroid Build Coastguard Worker appendToProperty(it.options.errorprone.excludedPaths, ".*/R.java", "|") 118*e07d83d3SAndroid Build Coastguard Worker appendToProperty( 119*e07d83d3SAndroid Build Coastguard Worker it.options.errorprone.excludedPaths, 120*e07d83d3SAndroid Build Coastguard Worker ".*/src/generated/.*", 121*e07d83d3SAndroid Build Coastguard Worker "|") 122*e07d83d3SAndroid Build Coastguard Worker} 123*e07d83d3SAndroid Build Coastguard Worker 124*e07d83d3SAndroid Build Coastguard WorkerconfigureProtoCompilation() 125