xref: /aosp_15_r20/external/mobly-bundled-snippets/build.gradle (revision f8709298c7f2c449bb8c80b03fabe16c67b8969c)
1*f8709298SAndroid Build Coastguard Workerbuildscript {
2*f8709298SAndroid Build Coastguard Worker    repositories {
3*f8709298SAndroid Build Coastguard Worker        google()
4*f8709298SAndroid Build Coastguard Worker        mavenCentral()
5*f8709298SAndroid Build Coastguard Worker    }
6*f8709298SAndroid Build Coastguard Worker    dependencies {
7*f8709298SAndroid Build Coastguard Worker        classpath 'com.android.tools.build:gradle:7.3.1'
8*f8709298SAndroid Build Coastguard Worker
9*f8709298SAndroid Build Coastguard Worker        // NOTE: Do not place your application dependencies here.
10*f8709298SAndroid Build Coastguard Worker    }
11*f8709298SAndroid Build Coastguard Worker}
12*f8709298SAndroid Build Coastguard Worker
13*f8709298SAndroid Build Coastguard Workerplugins {
14*f8709298SAndroid Build Coastguard Worker    id "com.github.sherter.google-java-format" version "0.9"
15*f8709298SAndroid Build Coastguard Worker}
16*f8709298SAndroid Build Coastguard Worker
17*f8709298SAndroid Build Coastguard Workerallprojects {
18*f8709298SAndroid Build Coastguard Worker    repositories {
19*f8709298SAndroid Build Coastguard Worker        google()
20*f8709298SAndroid Build Coastguard Worker        mavenCentral()
21*f8709298SAndroid Build Coastguard Worker    }
22*f8709298SAndroid Build Coastguard Worker    gradle.projectsEvaluated {
23*f8709298SAndroid Build Coastguard Worker        tasks.withType(JavaCompile) {
24*f8709298SAndroid Build Coastguard Worker            options.compilerArgs << "-Xlint:all"
25*f8709298SAndroid Build Coastguard Worker        }
26*f8709298SAndroid Build Coastguard Worker    }
27*f8709298SAndroid Build Coastguard Worker}
28*f8709298SAndroid Build Coastguard Worker
29*f8709298SAndroid Build Coastguard Workerapply plugin: 'com.android.application'
30*f8709298SAndroid Build Coastguard Worker
31*f8709298SAndroid Build Coastguard Workerandroid {
32*f8709298SAndroid Build Coastguard Worker    compileSdk 33
33*f8709298SAndroid Build Coastguard Worker
34*f8709298SAndroid Build Coastguard Worker    defaultConfig {
35*f8709298SAndroid Build Coastguard Worker        applicationId "com.google.android.mobly.snippet.bundled"
36*f8709298SAndroid Build Coastguard Worker        minSdk 26
37*f8709298SAndroid Build Coastguard Worker        targetSdk 33
38*f8709298SAndroid Build Coastguard Worker        versionCode 1
39*f8709298SAndroid Build Coastguard Worker        versionName "0.0.1"
40*f8709298SAndroid Build Coastguard Worker        setProperty("archivesBaseName", "mobly-bundled-snippets")
41*f8709298SAndroid Build Coastguard Worker        multiDexEnabled true
42*f8709298SAndroid Build Coastguard Worker    }
43*f8709298SAndroid Build Coastguard Worker    compileOptions {
44*f8709298SAndroid Build Coastguard Worker        sourceCompatibility JavaVersion.VERSION_1_8
45*f8709298SAndroid Build Coastguard Worker        targetCompatibility JavaVersion.VERSION_1_8
46*f8709298SAndroid Build Coastguard Worker    }
47*f8709298SAndroid Build Coastguard Worker    lintOptions {
48*f8709298SAndroid Build Coastguard Worker        abortOnError false
49*f8709298SAndroid Build Coastguard Worker        checkAllWarnings true
50*f8709298SAndroid Build Coastguard Worker        warningsAsErrors true
51*f8709298SAndroid Build Coastguard Worker        disable 'HardwareIds','MissingApplicationIcon','GoogleAppIndexingWarning','InvalidPackage','OldTargetApi'
52*f8709298SAndroid Build Coastguard Worker    }
53*f8709298SAndroid Build Coastguard Worker}
54*f8709298SAndroid Build Coastguard Worker
55*f8709298SAndroid Build Coastguard Worker// Produces a jar of source files. Needed for compliance reasons.
56*f8709298SAndroid Build Coastguard Workertask sourcesJar(type: Jar) {
57*f8709298SAndroid Build Coastguard Worker    from android.sourceSets.main.java.srcDirs
58*f8709298SAndroid Build Coastguard Worker    classifier = 'src'
59*f8709298SAndroid Build Coastguard Worker}
60*f8709298SAndroid Build Coastguard Worker
61*f8709298SAndroid Build Coastguard Workertask javadoc(type: Javadoc) {
62*f8709298SAndroid Build Coastguard Worker    source = android.sourceSets.main.java.srcDirs
63*f8709298SAndroid Build Coastguard Worker    classpath += project.files(
64*f8709298SAndroid Build Coastguard Worker        android.getBootClasspath().join(File.pathSeparator))
65*f8709298SAndroid Build Coastguard Worker}
66*f8709298SAndroid Build Coastguard Worker
67*f8709298SAndroid Build Coastguard Workerartifacts {
68*f8709298SAndroid Build Coastguard Worker    archives sourcesJar
69*f8709298SAndroid Build Coastguard Worker}
70*f8709298SAndroid Build Coastguard Worker
71*f8709298SAndroid Build Coastguard Workerdependencies {
72*f8709298SAndroid Build Coastguard Worker    implementation 'androidx.test:runner:1.5.2'
73*f8709298SAndroid Build Coastguard Worker    implementation 'com.android.support:multidex:1.0.3'
74*f8709298SAndroid Build Coastguard Worker    implementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.3'
75*f8709298SAndroid Build Coastguard Worker    implementation 'com.google.android.mobly:mobly-snippet-lib:1.4.0'
76*f8709298SAndroid Build Coastguard Worker    implementation 'com.google.code.gson:gson:2.8.6'
77*f8709298SAndroid Build Coastguard Worker    implementation 'com.google.guava:guava:31.0.1-jre'
78*f8709298SAndroid Build Coastguard Worker    implementation 'com.google.errorprone:error_prone_annotations:2.15.0'
79*f8709298SAndroid Build Coastguard Worker    implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10'
80*f8709298SAndroid Build Coastguard Worker
81*f8709298SAndroid Build Coastguard Worker    testImplementation 'com.google.errorprone:error_prone_annotations:2.15.0'
82*f8709298SAndroid Build Coastguard Worker    testImplementation 'com.google.guava:guava:31.0.1-jre'
83*f8709298SAndroid Build Coastguard Worker    testImplementation 'com.google.truth:truth:1.1.2'
84*f8709298SAndroid Build Coastguard Worker    testImplementation 'junit:junit:4.13.2'
85*f8709298SAndroid Build Coastguard Worker}
86*f8709298SAndroid Build Coastguard Worker
87*f8709298SAndroid Build Coastguard WorkergoogleJavaFormat {
88*f8709298SAndroid Build Coastguard Worker    options style: 'AOSP'
89*f8709298SAndroid Build Coastguard Worker}
90*f8709298SAndroid Build Coastguard Worker
91*f8709298SAndroid Build Coastguard Worker// Open lint's HTML report in your default browser or viewer.
92*f8709298SAndroid Build Coastguard Workertask openLintReport(type: Exec) {
93*f8709298SAndroid Build Coastguard Worker    def lint_report = "build/reports/lint-results.html"
94*f8709298SAndroid Build Coastguard Worker    def cmd = "cat"
95*f8709298SAndroid Build Coastguard Worker    def platform = System.getProperty('os.name').toLowerCase(Locale.ROOT)
96*f8709298SAndroid Build Coastguard Worker    if (platform.contains("linux")) {
97*f8709298SAndroid Build Coastguard Worker        cmd = "xdg-open"
98*f8709298SAndroid Build Coastguard Worker    } else if (platform.contains("mac os x")) {
99*f8709298SAndroid Build Coastguard Worker        cmd = "open"
100*f8709298SAndroid Build Coastguard Worker    } else if (platform.contains("windows")) {
101*f8709298SAndroid Build Coastguard Worker        cmd = "launch"
102*f8709298SAndroid Build Coastguard Worker    }
103*f8709298SAndroid Build Coastguard Worker    commandLine cmd, lint_report
104*f8709298SAndroid Build Coastguard Worker}
105*f8709298SAndroid Build Coastguard Worker
106*f8709298SAndroid Build Coastguard Workertask presubmit {
107*f8709298SAndroid Build Coastguard Worker    dependsOn { ['googleJavaFormat', 'lint', 'openLintReport'] }
108*f8709298SAndroid Build Coastguard Worker    doLast {
109*f8709298SAndroid Build Coastguard Worker        println "Fix any lint issues you see. When it looks good, submit the pull request."
110*f8709298SAndroid Build Coastguard Worker    }
111*f8709298SAndroid Build Coastguard Worker}
112*f8709298SAndroid Build Coastguard Worker
113