普通文本  |  60行  |  1.92 KB

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