In data binding, setting an attribute actually means calling a method, which might be an issue if the method is added after a certain API. This CL introduces a change which will check called methods per api and add necessary API check code to avoid calling those methods in older platforms. This CL also resurrects the Java Model Analyzer (in testing) and also fixes compiler tests. Bug: 19593398 Change-Id: I0da4194625231cf43125e1b43338069e7d191eb9
89 lines
2.6 KiB
Groovy
89 lines
2.6 KiB
Groovy
/*
|
|
* Copyright (C) 2014 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
|
|
|
buildscript {
|
|
repositories {
|
|
mavenLocal()
|
|
jcenter()
|
|
mavenCentral()
|
|
}
|
|
dependencies {
|
|
classpath "com.android.tools.build:gradle:$androidPluginVersion"
|
|
// NOTE: Do not place your application dependencies here; they belong
|
|
// in the individual module build.gradle files
|
|
}
|
|
}
|
|
|
|
apply plugin: 'com.android.library'
|
|
apply plugin: 'maven'
|
|
|
|
android {
|
|
compileSdkVersion 21
|
|
buildToolsVersion "21.1"
|
|
|
|
defaultConfig {
|
|
minSdkVersion 7
|
|
targetSdkVersion 21
|
|
versionCode 1
|
|
versionName "1.0"
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_7
|
|
targetCompatibility JavaVersion.VERSION_1_7
|
|
}
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled false
|
|
}
|
|
}
|
|
packagingOptions {
|
|
exclude 'META-INF/services/javax.annotation.processing.Processor'
|
|
exclude 'META-INF/LICENSE.txt'
|
|
exclude 'META-INF/NOTICE.txt'
|
|
}
|
|
}
|
|
dependencies {
|
|
compile fileTree(dir: 'libs', include: ['*.jar'])
|
|
compile project(":baseLibrary")
|
|
compile 'com.android.support:support-v4:+'
|
|
provided project(":annotationprocessor")
|
|
provided 'com.android.support:cardview-v7:+'
|
|
provided 'com.android.support:appcompat-v7:+'
|
|
}
|
|
//create jar tasks
|
|
android.libraryVariants.all { variant ->
|
|
def name = variant.buildType.name
|
|
|
|
if (name.equals(com.android.builder.core.BuilderConstants.DEBUG)) {
|
|
return; // Skip debug builds.
|
|
}
|
|
// @Jar version is needed to run compiler tests
|
|
def task = project.tasks.create "jar${name.capitalize()}", Jar
|
|
task.dependsOn variant.javaCompile
|
|
task.from variant.javaCompile.destinationDir
|
|
artifacts.add('archives', task);
|
|
}
|
|
uploadArchives {
|
|
repositories {
|
|
mavenDeployer {
|
|
repository(url: mavenLocal().url)
|
|
pom.artifactId = 'library'
|
|
}
|
|
}
|
|
}
|