import androidx.build.LibraryGroups
import androidx.build.LibraryVersions
plugins {
id("SupportJavaLibraryPlugin")
}
jar {
from sourceSets.main.output
// Strip out typedef classes. For Android libraries, this is done
// automatically by the Gradle plugin, but the Annotation library is a
// plain jar, built by the regular Gradle java plugin. The typedefs
// themselves have been manually extracted into the
// external-annotations directory, and those are packaged separately
// below by the annotationsZip task.
exclude('androidx/annotation/ProductionVisibility.class')
exclude('androidx/annotation/DimensionUnit.class')
preserveFileTimestamps = false
reproducibleFileOrder = true
}
// configuration for the javadoc to include all source sets.
javadoc {
source sourceSets.main.allJava
}
// Disable strict javadoc lint checks with javadoc v8 builds on Mac. http://b/26744780
if (JavaVersion.current().isJava8Compatible()) {
tasks.withType(Javadoc) {
if (options.doclet == null) {
options.addBooleanOption('Xdoclint:none', true)
}
}
}
task javadocJar(type: Jar, dependsOn:javadoc) {
classifier 'javadoc'
from javadoc.destinationDir
}
task annotationsZip(type: Zip) {
classifier 'annotations'
from 'external-annotations'
}
// add javadoc/source/annotations jar tasks as artifacts
artifacts {
archives jar
archives javadocJar
archives annotationsZip
}
supportLibrary {
name = "Android Support Library Annotations"
publish = true
mavenVersion = LibraryVersions.SUPPORT_LIBRARY
mavenGroup = LibraryGroups.ANNOTATION
inceptionYear = "2013"
description = "The Support Library is a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren't a part of the framework APIs."
}