summaryrefslogtreecommitdiffstats
path: root/mobile/android/exoplayer2/build.gradle
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/exoplayer2/build.gradle')
-rw-r--r--mobile/android/exoplayer2/build.gradle108
1 files changed, 108 insertions, 0 deletions
diff --git a/mobile/android/exoplayer2/build.gradle b/mobile/android/exoplayer2/build.gradle
new file mode 100644
index 0000000000..bb35924000
--- /dev/null
+++ b/mobile/android/exoplayer2/build.gradle
@@ -0,0 +1,108 @@
+buildDir "${topobjdir}/gradle/build/mobile/android/exoplayer2"
+
+apply plugin: 'com.android.library'
+
+dependencies {
+ // For exoplayer.
+ compileOnly "com.google.code.findbugs:jsr305:3.0.2"
+ compileOnly "org.checkerframework:checker-compat-qual:2.5.0"
+ compileOnly "org.checkerframework:checker-qual:2.5.0"
+ compileOnly "org.jetbrains.kotlin:kotlin-annotations-jvm:1.7.10"
+
+ androidTestImplementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
+
+ implementation "androidx.annotation:annotation:1.1.0"
+}
+
+android {
+ buildToolsVersion project.ext.buildToolsVersion
+ compileSdkVersion project.ext.compileSdkVersion
+
+ defaultConfig {
+ targetSdkVersion project.ext.targetSdkVersion
+ minSdkVersion project.ext.minSdkVersion
+
+ versionCode project.ext.versionCode
+ versionName project.ext.versionName
+ }
+
+ sourceSets {
+ main {
+ java {
+ srcDir "${topsrcdir}/mobile/android/exoplayer2/src/main/java"
+ }
+ }
+ }
+}
+
+apply plugin: 'maven-publish'
+
+version = getVersionNumber()
+group = 'org.mozilla.geckoview'
+
+android.libraryVariants.all { variant ->
+ def javadoc = task "javadoc${name.capitalize()}"(type: Javadoc) {
+ }
+ task("javadocJar${name.capitalize()}", type: Jar, dependsOn: javadoc) {
+ archiveClassifier = 'javadoc'
+ destinationDirectory = javadoc.destinationDir
+ }
+ task("sourcesJar${name.capitalize()}", type: Jar) {
+ classifier 'sources'
+ description = "Generate Javadoc for build variant $name"
+ destinationDirectory =
+ file("${topobjdir}/mobile/android/geckoview-exoplayer2/sources/${variant.baseName}")
+ from files(variant.sourceSets.collect({ it.java.srcDirs }).flatten())
+ }
+}
+
+publishing {
+ publications {
+ android.libraryVariants.all { variant ->
+ "${variant.name}"(MavenPublication) {
+ from components.findByName(variant.name)
+
+ pom {
+ afterEvaluate {
+ artifactId = "geckoview-exoplayer2" + project.ext.artifactSuffix
+ }
+
+ url = 'https://geckoview.dev'
+
+ licenses {
+ license {
+ name = 'The Mozilla Public License, v. 2.0'
+ url = 'http://mozilla.org/MPL/2.0/'
+ distribution = 'repo'
+ }
+ }
+
+ scm {
+ if (mozconfig.substs.MOZ_INCLUDE_SOURCE_INFO) {
+ // URL is like "https://hg.mozilla.org/mozilla-central/rev/1e64b8a0c546a49459d404aaf930d5b1f621246a".
+ connection = "scm::hg::${mozconfig.substs.MOZ_SOURCE_REPO}"
+ url = mozconfig.substs.MOZ_SOURCE_URL
+ tag = mozconfig.substs.MOZ_SOURCE_CHANGESET
+ } else {
+ // Default to mozilla-central.
+ connection = 'scm::hg::https://hg.mozilla.org/mozilla-central/'
+ url = 'https://hg.mozilla.org/mozilla-central/'
+ }
+ }
+ }
+
+ // Javadoc and sources for developer ergononomics.
+ artifact tasks["javadocJar${variant.name.capitalize()}"]
+ artifact tasks["sourcesJar${variant.name.capitalize()}"]
+ }
+ }
+ }
+ repositories {
+ maven {
+ url = "${topobjdir}/gradle/maven"
+ }
+ }
+}
+
+sourceCompatibility = JavaVersion.VERSION_1_8
+targetCompatibility = JavaVersion.VERSION_1_8