| apply plugin: 'com.android.library' |
| |
| archivesBaseName = 'support-v13' |
| |
| // -------------------------- |
| // TO ADD NEW PLATFORM SPECIFIC CODE, UPDATE THIS: |
| // create and configure the sourcesets/dependencies for platform-specific code. |
| // values are: sourceset name, source folder name, api level, previous sourceset. |
| |
| ext.allSS = [] |
| |
| def icsSS = createApiSourceset('ics', 'ics', '14', null) |
| def icsMr1SS = createApiSourceset('icsmr1', 'ics-mr1', '15', icsSS) |
| def api23SS = createApiSourceset('api23', 'api23', 'current', icsMr1SS) |
| |
| def createApiSourceset(String name, String folder, String apiLevel, SourceSet previousSource) { |
| def sourceSet = sourceSets.create(name) |
| sourceSet.java.srcDirs = [folder] |
| |
| def configName = sourceSet.getCompileConfigurationName() |
| |
| project.getDependencies().add(configName, getAndroidPrebuilt(apiLevel)) |
| if (previousSource != null) { |
| setupDependencies(configName, previousSource) |
| } |
| ext.allSS.add(sourceSet) |
| return sourceSet |
| } |
| |
| def setupDependencies(String configName, SourceSet previousSourceSet) { |
| project.getDependencies().add(configName, previousSourceSet.output) |
| project.getDependencies().add(configName, previousSourceSet.compileClasspath) |
| } |
| |
| // create a jar task for the code above |
| tasks.create(name: "internalJar", type: Jar) { |
| baseName "internal_impl" |
| } |
| |
| ext.allSS.each { ss -> |
| internalJar.from ss.output |
| } |
| |
| dependencies { |
| compile project(':support-v4') |
| |
| // add the internal implementation as a dependency. |
| // this is not enough to make the regular compileJava task |
| // depend on the generation of this jar. This is done below |
| // when manipulating the libraryVariants. |
| compile files(internalJar.archivePath) |
| } |
| |
| android { |
| compileSdkVersion 13 |
| |
| defaultConfig { |
| minSdkVersion 13 |
| // TODO: get target from branch |
| //targetSdkVersion 19 |
| } |
| |
| |
| sourceSets { |
| main.manifest.srcFile 'AndroidManifest.xml' |
| main.java.srcDirs = ['java'] |
| main.aidl.srcDirs = ['java'] |
| |
| androidTest.setRoot('tests') |
| androidTest.java.srcDir 'tests/java' |
| } |
| |
| lintOptions { |
| // TODO: fix errors and reenable. |
| abortOnError false |
| } |
| |
| compileOptions { |
| sourceCompatibility JavaVersion.VERSION_1_7 |
| targetCompatibility JavaVersion.VERSION_1_7 |
| } |
| } |
| |
| android.libraryVariants.all { variant -> |
| variant.javaCompile.dependsOn internalJar |
| |
| def name = variant.buildType.name |
| |
| if (name.equals(com.android.builder.core.BuilderConstants.DEBUG)) { |
| return; // Skip debug builds. |
| } |
| def suffix = name.capitalize() |
| |
| def jarTask = project.tasks.create(name: "jar${suffix}", type: Jar){ |
| dependsOn variant.javaCompile |
| from variant.javaCompile.destinationDir |
| from 'LICENSE.txt' |
| } |
| def javadocTask = project.tasks.create(name: "javadoc${suffix}", type: Javadoc) { |
| source android.sourceSets.main.java |
| classpath = files(variant.javaCompile.classpath.files) + files( |
| "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar") |
| } |
| |
| def javadocJarTask = project.tasks.create(name: "javadocJar${suffix}", type: Jar) { |
| classifier = 'javadoc' |
| from 'build/docs/javadoc' |
| } |
| |
| def sourcesJarTask = project.tasks.create(name: "sourceJar${suffix}", type: Jar) { |
| classifier = 'sources' |
| from android.sourceSets.main.java.srcDirs |
| } |
| |
| project.ext.allSS.each { ss -> |
| javadocTask.source ss.java |
| sourcesJarTask.from ss.java.srcDirs |
| } |
| |
| artifacts.add('archives', javadocJarTask); |
| artifacts.add('archives', sourcesJarTask); |
| } |
| |
| uploadArchives { |
| repositories { |
| mavenDeployer { |
| |
| repository(url: uri(rootProject.ext.supportRepoOut)) { |
| } |
| |
| pom.project { |
| name 'Android Support Library v13' |
| 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. Compatible on devices running API 13 or later." |
| url 'http://developer.android.com/tools/extras/support-library.html' |
| inceptionYear '2011' |
| |
| licenses { |
| license { |
| name 'The Apache Software License, Version 2.0' |
| url 'http://www.apache.org/licenses/LICENSE-2.0.txt' |
| distribution 'repo' |
| } |
| } |
| |
| scm { |
| url "http://source.android.com" |
| connection "scm:git:https://android.googlesource.com/platform/frameworks/support" |
| } |
| developers { |
| developer { |
| name 'The Android Open Source Project' |
| } |
| } |
| } |
| } |
| } |
| } |