| buildscript { |
| repositories { |
| mavenCentral() |
| google() |
| } |
| } |
| |
| plugins { |
| id 'com.github.sherter.google-java-format' version '0.9' |
| id 'maven-publish' |
| id 'signing' |
| } |
| |
| apply plugin: 'com.android.library' |
| |
| android { |
| compileSdkVersion 31 |
| |
| defaultConfig { |
| minSdkVersion 26 |
| targetSdkVersion 31 |
| versionCode VERSION_CODE.toInteger() |
| versionName VERSION_NAME |
| |
| // Need to set up some project properties to publish to bintray. |
| project.group = GROUP_ID |
| project.archivesBaseName = ARTIFACT_ID |
| project.version = VERSION_NAME |
| } |
| |
| splits { |
| abi { |
| enable true |
| reset() |
| // Specifies a list of ABIs that Gradle should create APKs for. |
| include "arm64-v8a", "armeabi-v7a", "armeabi" |
| universalApk true |
| } |
| } |
| |
| lintOptions { |
| abortOnError false |
| checkAllWarnings true |
| warningsAsErrors true |
| disable 'HardwareIds','MissingApplicationIcon','GoogleAppIndexingWarning','InvalidPackage','OldTargetApi' |
| } |
| |
| compileOptions { |
| sourceCompatibility JavaVersion.VERSION_1_8 |
| targetCompatibility JavaVersion.VERSION_1_8 |
| } |
| } |
| |
| dependencies { |
| implementation 'junit:junit:4.13.2' |
| implementation 'androidx.test:runner:1.4.0' |
| } |
| |
| googleJavaFormat { |
| options style: 'AOSP' |
| } |
| |
| task sourcesJar(type: Jar) { |
| from android.sourceSets.main.java.srcDirs |
| classifier = 'sources' |
| } |
| |
| task javadoc(type: Javadoc) { |
| source = android.sourceSets.main.java.srcDirs |
| classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) |
| options.addStringOption('Xdoclint:none', '-quiet') |
| options.addStringOption('encoding', 'UTF-8') |
| options.addStringOption('charSet', 'UTF-8') |
| failOnError false |
| } |
| |
| task javadocJar(type: Jar, dependsOn: javadoc) { |
| classifier = 'javadoc' |
| from javadoc.destinationDir |
| } |
| |
| artifacts { |
| archives javadocJar |
| archives sourcesJar |
| } |
| |
| |
| afterEvaluate { |
| publishing { |
| publications { |
| release(MavenPublication) { |
| groupId GROUP_ID |
| artifactId ARTIFACT_ID |
| version VERSION_NAME |
| from components.release |
| |
| artifact sourcesJar |
| artifact javadocJar |
| |
| pom { |
| name = ARTIFACT_ID |
| description = 'Android library for triggering device-side ' + |
| 'code from host-side Mobly tests.' |
| url = 'https://github.com/google/mobly-snippet-lib' |
| licenses { |
| license { |
| name = 'The Apache Software License, Version 2.0' |
| url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' |
| distribution = 'repo' |
| } |
| } |
| developers { |
| developer { |
| name = 'The Mobly Team' |
| } |
| } |
| scm { |
| connection = 'https://github.com/google/mobly-snippet-lib.git' |
| url = 'https://github.com/google/mobly-snippet-lib' |
| } |
| } |
| } |
| } |
| |
| repositories { |
| maven { |
| def releasesRepoUrl = 'https://oss.sonatype.org/service/local/staging/deploy/maven2/' |
| def snapshotsRepoUrl = 'https://oss.sonatype.org/content/repositories/snapshots/' |
| url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl |
| credentials { |
| username ossrhUsername |
| password ossrhPassword |
| } |
| } |
| } |
| } |
| signing { |
| sign publishing.publications.release |
| } |
| } |
| |
| // Open lint's HTML report in your default browser or viewer. |
| task openLintReport(type: Exec) { |
| def lint_report = "build/reports/lint-results-debug.html" |
| def cmd = "cat" |
| def platform = System.getProperty('os.name').toLowerCase(Locale.ROOT) |
| if (platform.contains("linux")) { |
| cmd = "xdg-open" |
| } else if (platform.contains("mac os x")) { |
| cmd = "open" |
| } else if (platform.contains("windows")) { |
| cmd = "launch" |
| } |
| commandLine cmd, lint_report |
| } |
| |
| task presubmit { |
| dependsOn { ['googleJavaFormat', 'lint', 'openLintReport'] } |
| doLast { |
| println "Fix any lint issues you see. When it looks good, submit the pull request." |
| } |
| } |
| |