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