build.gradle (3763B)
1 apply plugin: 'com.android.library' 2 3 dependencies { 4 // For exoplayer. 5 compileOnly "com.google.code.findbugs:jsr305:3.0.2" 6 compileOnly "org.checkerframework:checker-compat-qual:2.5.0" 7 compileOnly "org.checkerframework:checker-qual:2.5.0" 8 compileOnly libs.kotlin.annotations.jvm 9 10 implementation libs.androidx.annotation 11 } 12 13 android { 14 buildToolsVersion = project.ext.buildToolsVersion 15 compileSdk { 16 version = release(project.ext.compileSdkMajorVersion) { minorApiLevel = project.ext.compileSdkMinorVersion } 17 } 18 19 defaultConfig { 20 targetSdk project.ext.targetSdkVersion 21 minSdk project.ext.minSdkVersion 22 23 versionCode project.ext.versionCode 24 versionName project.ext.versionName 25 } 26 27 sourceSets { 28 main { 29 java { 30 srcDir "${topsrcdir}/mobile/android/exoplayer2/src/main/java" 31 } 32 } 33 } 34 35 publishing { 36 singleVariant("debug") 37 } 38 39 namespace = 'org.mozilla.geckoview.thirdparty' 40 } 41 42 apply plugin: 'maven-publish' 43 44 version = getVersionNumber() 45 group = 'org.mozilla.geckoview' 46 47 android.libraryVariants.all { variant -> 48 def javadoc = task "javadoc${name.capitalize()}"(type: Javadoc) { 49 } 50 task("javadocJar${name.capitalize()}", type: Jar, dependsOn: javadoc) { 51 archiveClassifier = 'javadoc' 52 destinationDirectory = javadoc.destinationDir 53 } 54 task("sourcesJar${name.capitalize()}", type: Jar) { 55 archiveClassifier = 'sources' 56 description = "Generate Javadoc for build variant $name" 57 destinationDirectory = 58 file("${topobjdir}/mobile/android/geckoview-exoplayer2/sources/${variant.baseName}") 59 from files(variant.sourceSets.collect({ it.java.srcDirs }).flatten()) 60 } 61 } 62 63 publishing { 64 publications { 65 android.libraryVariants.all { variant -> 66 "${variant.name}"(MavenPublication) { 67 from components.findByName(variant.name) 68 69 pom { 70 afterEvaluate { 71 artifactId = "geckoview-exoplayer2" + project.ext.artifactSuffix 72 } 73 74 url = 'https://geckoview.dev' 75 76 licenses { 77 license { 78 name = 'The Mozilla Public License, v. 2.0' 79 url = 'http://mozilla.org/MPL/2.0/' 80 distribution = 'repo' 81 } 82 } 83 84 scm { 85 if (gradle.mozconfig.substs.MOZ_INCLUDE_SOURCE_INFO) { 86 // URL is like "https://hg.mozilla.org/mozilla-central/rev/1e64b8a0c546a49459d404aaf930d5b1f621246a". 87 connection = "scm:hg:${gradle.mozconfig.source_repo.MOZ_SOURCE_REPO}" 88 url = gradle.mozconfig.source_repo.MOZ_SOURCE_URL 89 tag = gradle.mozconfig.source_repo.MOZ_SOURCE_STAMP 90 } else { 91 // Default to mozilla-central. 92 connection = 'scm:hg:https://hg.mozilla.org/mozilla-central/' 93 url = 'https://hg.mozilla.org/mozilla-central/' 94 } 95 } 96 } 97 98 // Javadoc and sources for developer ergononomics. 99 artifact tasks["javadocJar${variant.name.capitalize()}"] 100 artifact tasks["sourcesJar${variant.name.capitalize()}"] 101 } 102 } 103 } 104 repositories { 105 maven { 106 url = "${topobjdir}/gradle/maven" 107 } 108 } 109 } 110 111 java { 112 sourceCompatibility = JavaVersion.VERSION_1_8 113 targetCompatibility = JavaVersion.VERSION_1_8 114 }