blob: 4da210093462579885536633ad062104a20e2be7 [file] [log] [blame]
Yigit Boyar02a9e8c2016-01-26 20:41:00 -08001apply plugin: 'com.android.library'
Xavier Ducrohet86fb8ef2013-02-22 15:04:37 -08002archivesBaseName = 'support-v4'
3
Xavier Ducrohet9acddc72014-05-28 22:20:01 -07004
Yigit Boyar3986e042016-02-08 18:31:38 -08005createApiSourceSets(project, gradle.ext.studioCompat.modules.v4.apiTargets)
Xavier Ducrohet86fb8ef2013-02-22 15:04:37 -08006dependencies {
Kirill Grouchnikov39e84472016-01-25 14:25:41 -05007 androidTestCompile ('com.android.support.test:runner:0.4.1') {
8 exclude module: 'support-annotations'
9 }
10 androidTestCompile ('com.android.support.test.espresso:espresso-core:2.2.1') {
11 exclude module: 'support-annotations'
12 }
Kirill Grouchnikov74bad8b2016-02-02 14:52:23 -050013 androidTestCompile 'org.mockito:mockito-core:1.9.5'
Kirill Grouchnikova9f4a782016-02-03 11:37:47 -050014 androidTestCompile 'com.google.dexmaker:dexmaker:1.2'
15 androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'
Kirill Grouchnikovd9d9aec2015-11-18 15:57:56 -050016 testCompile 'junit:junit:4.12'
Griff Hazen43227bb2014-05-28 07:59:33 -070017}
18
Justin Klaassen68e7adb2016-01-21 12:50:47 -080019sourceCompatibility = JavaVersion.VERSION_1_7
20targetCompatibility = JavaVersion.VERSION_1_7
Yigit Boyar3986e042016-02-08 18:31:38 -080021setApiModuleDependencies(project, dependencies, gradle.ext.studioCompat.modules.v4.dependencies)
Justin Klaassen68e7adb2016-01-21 12:50:47 -080022
Griff Hazen43227bb2014-05-28 07:59:33 -070023android {
24 compileSdkVersion 4
Griff Hazen43227bb2014-05-28 07:59:33 -070025
26 defaultConfig {
27 minSdkVersion 4
28 // TODO: get target from branch
29 //targetSdkVersion 19
Kirill Grouchnikovd9d9aec2015-11-18 15:57:56 -050030
31 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
Griff Hazen43227bb2014-05-28 07:59:33 -070032 }
33
34 sourceSets {
35 main.manifest.srcFile 'AndroidManifest.xml'
36 main.java.srcDirs = ['java']
37 main.aidl.srcDirs = ['java']
38
39 androidTest.setRoot('tests')
40 androidTest.java.srcDir 'tests/java'
Kirill Grouchnikovd9d9aec2015-11-18 15:57:56 -050041 androidTest.res.srcDir 'tests/res'
42 androidTest.manifest.srcFile 'tests/AndroidManifest.xml'
Griff Hazen43227bb2014-05-28 07:59:33 -070043 }
44
45 lintOptions {
46 // TODO: fix errors and reenable.
47 abortOnError false
48 }
Chris Banesaf26d9f2015-01-20 19:13:52 +000049
Chris Banes8f276032016-04-04 13:28:51 +010050 buildTypes.all {
51 consumerProguardFiles 'proguard-rules.pro'
52 }
53
Chris Banesaf26d9f2015-01-20 19:13:52 +000054 compileOptions {
55 sourceCompatibility JavaVersion.VERSION_1_7
56 targetCompatibility JavaVersion.VERSION_1_7
57 }
Kirill Grouchnikovd9d9aec2015-11-18 15:57:56 -050058
59 testOptions {
60 unitTests.returnDefaultValues = true
Yigit Boyar02a9e8c2016-01-26 20:41:00 -080061 compileSdkVersion project.ext.currentSdk
Kirill Grouchnikovd9d9aec2015-11-18 15:57:56 -050062 }
Griff Hazen43227bb2014-05-28 07:59:33 -070063}
64
65android.libraryVariants.all { variant ->
Griff Hazen43227bb2014-05-28 07:59:33 -070066 def name = variant.buildType.name
67
Chris Banes4efd0382015-03-05 20:04:05 +000068 if (name.equals(com.android.builder.core.BuilderConstants.DEBUG)) {
Griff Hazen43227bb2014-05-28 07:59:33 -070069 return; // Skip debug builds.
70 }
71 def suffix = name.capitalize()
72
73 def jarTask = project.tasks.create(name: "jar${suffix}", type: Jar){
74 dependsOn variant.javaCompile
75 from variant.javaCompile.destinationDir
76 from 'LICENSE.txt'
77 }
78 def javadocTask = project.tasks.create(name: "javadoc${suffix}", type: Javadoc) {
Chris Banes4efd0382015-03-05 20:04:05 +000079 source android.sourceSets.main.java
Griff Hazen43227bb2014-05-28 07:59:33 -070080 classpath = files(variant.javaCompile.classpath.files) + files(
Chris Banes4efd0382015-03-05 20:04:05 +000081 "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar")
Griff Hazen43227bb2014-05-28 07:59:33 -070082 }
83
84 def javadocJarTask = project.tasks.create(name: "javadocJar${suffix}", type: Jar) {
85 classifier = 'javadoc'
86 from 'build/docs/javadoc'
87 }
88
89 def sourcesJarTask = project.tasks.create(name: "sourceJar${suffix}", type: Jar) {
90 classifier = 'sources'
Chris Banes4efd0382015-03-05 20:04:05 +000091 from android.sourceSets.main.java.srcDirs
Sungsoo Lim9703a1e2015-10-24 00:25:29 +090092 exclude('android/content/pm/**')
93 exclude('android/service/media/**')
Griff Hazen43227bb2014-05-28 07:59:33 -070094 }
95
96 project.ext.allSS.each { ss ->
Chris Banes4efd0382015-03-05 20:04:05 +000097 javadocTask.source ss.java
98 sourcesJarTask.from ss.java.srcDirs
Griff Hazen43227bb2014-05-28 07:59:33 -070099 }
100
101 artifacts.add('archives', javadocJarTask);
102 artifacts.add('archives', sourcesJarTask);
Xavier Ducrohet86fb8ef2013-02-22 15:04:37 -0800103}
104
Xavier Ducrohet86fb8ef2013-02-22 15:04:37 -0800105uploadArchives {
106 repositories {
107 mavenDeployer {
Xavier Ducrohet855a9222014-01-02 19:00:43 -0800108 repository(url: uri(rootProject.ext.supportRepoOut)) {
Xavier Ducrohet86fb8ef2013-02-22 15:04:37 -0800109 }
110
111 pom.project {
112 name 'Android Support Library v4'
113 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 4 or later."
114 url 'http://developer.android.com/tools/extras/support-library.html'
115 inceptionYear '2011'
116
117 licenses {
118 license {
119 name 'The Apache Software License, Version 2.0'
120 url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
121 distribution 'repo'
122 }
123 }
124
125 scm {
126 url "http://source.android.com"
127 connection "scm:git:https://android.googlesource.com/platform/frameworks/support"
128 }
129 developers {
130 developer {
131 name 'The Android Open Source Project'
132 }
133 }
134 }
135 }
136 }
Yigit Boyar3986e042016-02-08 18:31:38 -0800137}