build.gradle revision d437f7eeb199ed9bf9fb9bed664258dbbcd87130
1/* 2 * Copyright (C) 2015 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16buildscript { 17 dependencies { 18 classpath "com.android.tools.build:gradle:${dataBindingConfig.androidPluginVersion}" 19 // NOTE: Do not place your application dependencies here; they belong 20 // in the individual module build.gradle files 21 } 22} 23apply plugin: 'com.android.library' 24 25android { 26 compileSdkVersion dataBindingConfig.compileSdkVersion 27 buildToolsVersion dataBindingConfig.buildToolsVersion 28 dataBinding { 29 enabled = true 30 addDefaultAdapters = false 31 } 32 defaultConfig { 33 minSdkVersion 7 34 targetSdkVersion 21 35 versionCode 1 36 versionName "1.0" 37 } 38 buildTypes { 39 release { 40 minifyEnabled false 41 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 42 } 43 } 44 45 packagingOptions { 46 exclude 'META-INF/services/javax.annotation.processing.Processor' 47 exclude 'META-INF/LICENSE.txt' 48 exclude 'META-INF/NOTICE.txt' 49 } 50} 51 52dependencies { 53 provided 'com.android.support:support-v4:+' 54 provided 'com.android.support:cardview-v7:+' 55 provided 'com.android.support:appcompat-v7:+' 56} 57 58//create jar tasks 59android.libraryVariants.all { variant -> 60 def name = variant.buildType.name 61 62 if (name.equals(com.android.builder.core.BuilderConstants.DEBUG)) { 63 return; // Skip debug builds. 64 } 65 def suffix = name.capitalize() 66 67 def javadocTask = project.tasks.create(name: "javadoc${suffix}", type: Javadoc) { 68 source variant.javaCompile.source 69 classpath = files(variant.javaCompile.classpath.files) + files( 70 "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar") 71 } 72 73 def javadocJarTask = project.tasks.create(name: "javadocJar${suffix}", type: Jar) { 74 classifier = 'javadoc' 75 from 'build/docs/javadoc' 76 } 77 javadocJarTask.dependsOn javadocTask 78 79 def sourcesJarTask = project.tasks.create(name: "sourceJar${suffix}", type: Jar) { 80 classifier = 'sources' 81 from android.sourceSets.main.java.srcDirs 82 } 83 84 artifacts.add('archives', javadocJarTask); 85 artifacts.add('archives', sourcesJarTask); 86} 87 88uploadArchives { 89 repositories { 90 mavenDeployer { 91 pom.artifactId = "adapters" 92 pom.project { 93 licenses { 94 license { 95 name dataBindingConfig.licenseName 96 url dataBindingConfig.licenseUrl 97 distribution dataBindingConfig.licenseDistribution 98 } 99 } 100 } 101 } 102 } 103} 104 105 106task prebuild(type : Copy) { 107 dependsOn uploadArchives 108 from "$buildDir/outputs/aar/baseAdapters-release.aar" 109 into dataBindingConfig.prebuildFolder 110 rename { String fileName -> 111 "databinding-adapters.aar" 112 } 113}