blob: a30474621304f9a34111aef5e5b029815104bf6c [file] [log] [blame]
Xavier Ducrohet86fb8ef2013-02-22 15:04:37 -08001apply plugin: 'android-library'
2
3archivesBaseName = 'mediarouter-v7'
4
Xavier Ducrohet855a9222014-01-02 19:00:43 -08005
Xavier Ducrohet86fb8ef2013-02-22 15:04:37 -08006dependencies {
Xavier Ducrohet855a9222014-01-02 19:00:43 -08007 compile project(':support-appcompat-v7')
Xavier Ducrohet86fb8ef2013-02-22 15:04:37 -08008}
9
10// some of the source requires compiling against a newer API.
11// Right now, use normal Java source sets to compile those into a jar and
12// package it as a local dependencies inside the library aar.
13
14sourceSets {
15 jellybean.java.srcDir 'jellybean'
16 jellybeanmr1.java.srcDir 'jellybean-mr1'
17 jellybeanmr2.java.srcDir 'jellybean-mr2'
18}
19
20// create a jar task for the code above
21tasks.create(name: "jar", type: Jar) {
22 from sourceSets.jellybean.output
23 from sourceSets.jellybeanmr1.output
24 from sourceSets.jellybeanmr2.output
25 baseName "internal_impl"
26}
27
28
29dependencies {
30 jellybeanCompile getAndroidPrebuilt('16')
31
32 jellybeanmr1Compile getAndroidPrebuilt('17')
33 jellybeanmr1Compile sourceSets.jellybean.output
34
35 jellybeanmr2Compile getAndroidPrebuilt('current')
36 jellybeanmr2Compile sourceSets.jellybean.output
37 jellybeanmr2Compile sourceSets.jellybeanmr1.output
38
39 compile files(jar.archivePath)
40}
41
42android {
Xavier Ducrohet30bfd592014-06-02 18:41:21 -070043 compileSdkVersion 'current'
Xavier Ducrohet86fb8ef2013-02-22 15:04:37 -080044
45 sourceSets {
46 main.manifest.srcFile 'AndroidManifest.xml'
47 main.java.srcDir 'src'
48 main.res.srcDir 'res'
49 main.assets.srcDir 'assets'
50 main.resources.srcDir 'src'
Xavier Ducrohet86fb8ef2013-02-22 15:04:37 -080051
52 // this moves src/instrumentTest to tests so all folders follow:
53 // tests/java, tests/res, tests/assets, ...
54 // This is a *reset* so it replaces the default paths
Xavier Ducrohet020e4322014-03-18 16:41:30 -070055 androidTest.setRoot('tests')
56 androidTest.java.srcDir 'tests/src'
Xavier Ducrohet86fb8ef2013-02-22 15:04:37 -080057 }
Xavier Ducrohet61becda2014-01-29 19:02:16 -080058
59 lintOptions {
60 // TODO: fix errors and reenable.
61 abortOnError false
62 }
Xavier Ducrohet86fb8ef2013-02-22 15:04:37 -080063}
64
65android.libraryVariants.all { variant ->
66 variant.javaCompile.dependsOn jar
Xavier Ducrohet11b83982015-03-31 15:12:42 -070067
68 def name = variant.buildType.name
69
70 if (name.equals(com.android.builder.core.BuilderConstants.DEBUG)) {
71 return; // Skip debug builds.
72 }
73 def suffix = name.capitalize()
74
75 def jarTask = project.tasks.create(name: "jar${suffix}", type: Jar){
76 dependsOn variant.javaCompile
77 from variant.javaCompile.destinationDir
78 from 'LICENSE.txt'
79 }
80 def javadocTask = project.tasks.create(name: "javadoc${suffix}", type: Javadoc) {
81 source android.sourceSets.main.java
82 classpath = files(variant.javaCompile.classpath.files) + files(
83 "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar")
84 }
85
86 def javadocJarTask = project.tasks.create(name: "javadocJar${suffix}", type: Jar) {
87 classifier = 'javadoc'
88 from 'build/docs/javadoc'
89 }
90
91 def sourcesJarTask = project.tasks.create(name: "sourceJar${suffix}", type: Jar) {
92 classifier = 'sources'
93 from android.sourceSets.main.java.srcDirs
94 }
95
96 javadocTask.source project.sourceSets.jellybean.java
97 sourcesJarTask.from project.sourceSets.jellybean.java.srcDirs
98 javadocTask.source project.sourceSets.jellybeanmr1.java
99 sourcesJarTask.from project.sourceSets.jellybeanmr1.java.srcDirs
100 javadocTask.source project.sourceSets.jellybeanmr2.java
101 sourcesJarTask.from project.sourceSets.jellybeanmr2.java.srcDirs
102
103 artifacts.add('archives', javadocJarTask);
104 artifacts.add('archives', sourcesJarTask);
105}
106
107uploadArchives {
108 repositories {
109 mavenDeployer {
110 repository(url: uri(rootProject.ext.supportRepoOut)) {
111 }
112
113 pom.project {
114 name 'Android Support Library v4'
115 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."
116 url 'http://developer.android.com/tools/extras/support-library.html'
117 inceptionYear '2011'
118
119 licenses {
120 license {
121 name 'The Apache Software License, Version 2.0'
122 url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
123 distribution 'repo'
124 }
125 }
126
127 scm {
128 url "http://source.android.com"
129 connection "scm:git:https://android.googlesource.com/platform/frameworks/support"
130 }
131 developers {
132 developer {
133 name 'The Android Open Source Project'
134 }
135 }
136 }
137 }
138 }
Raphael Moll5057daa2013-10-29 17:01:14 -0700139}