diff options
Diffstat (limited to 'third_party/sl4a/build.gradle')
-rw-r--r-- | third_party/sl4a/build.gradle | 163 |
1 files changed, 163 insertions, 0 deletions
diff --git a/third_party/sl4a/build.gradle b/third_party/sl4a/build.gradle new file mode 100644 index 0000000..48446b4 --- /dev/null +++ b/third_party/sl4a/build.gradle @@ -0,0 +1,163 @@ +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." + } +} + |