1apply plugin: 'android-library'
2
3archivesBaseName = 'mediarouter-v7'
4
5
6dependencies {
7    compile project(':support-appcompat-v7')
8}
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 {
43    compileSdkVersion 'current'
44
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'
51
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
55        androidTest.setRoot('tests')
56        androidTest.java.srcDir 'tests/src'
57    }
58
59    lintOptions {
60        // TODO: fix errors and reenable.
61        abortOnError false
62    }
63}
64
65android.libraryVariants.all { variant ->
66    variant.javaCompile.dependsOn jar
67
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    }
139}
140