xref: /aosp_15_r20/external/grpc-grpc-java/android-interop-testing/build.gradle (revision e07d83d3ffcef9ecfc9f7f475418ec639ff0e5fe)
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