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." }