apply plugin: android.support.SupportJavaLibraryPlugin sourceSets { main.java.srcDir 'src' } 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('android/support/annotation/ProductionVisibility.class') exclude('android/support/annotation/DimensionUnit.class') preserveFileTimestamps = false } // 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) } } } // custom tasks for creating source/javadoc jars task sourcesJar(type: Jar, dependsOn:classes) { classifier = 'sources' from sourceSets.main.allSource } 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 sourcesJar archives javadocJar archives annotationsZip } supportLibrary { name 'Android Support Library Annotations' publish true 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." }