Updated build.gradle from the SDK to correct use proguard file from a AAR library Adjusted build.gradle sample app to use the thumb proguard file Added proguard config for SDK, added thumb config for sample project Updated build.gradle from the SDK to correct use proguard file from a AAR library Adjusted build.gradle sample app to use the thumb proguard file Added proguard config for SDK, added thumb config for sample project Updated build.gradle from the SDK to correct use proguard file from a AAR library Adjusted build.gradle sample app to use the thumb proguard file
256 lines
7.1 KiB
Groovy
256 lines
7.1 KiB
Groovy
buildscript {
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
dependencies {
|
|
classpath 'com.android.tools.build:gradle:1.3.0'
|
|
classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.0'
|
|
}
|
|
}
|
|
|
|
apply plugin: 'android-sdk-manager'
|
|
apply plugin: 'com.android.library'
|
|
apply plugin: 'checkstyle'
|
|
apply plugin: 'maven'
|
|
apply plugin: 'signing'
|
|
|
|
allprojects {
|
|
group project.GROUP
|
|
version project.VERSION_NAME
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
compile 'com.android.support:support-annotations:23.0.0'
|
|
compile 'com.android.support:support-v4:23.0.0'
|
|
compile 'com.android.support:design:23.0.0'
|
|
compile 'com.squareup.okhttp:okhttp:2.4.0'
|
|
compile 'com.mapzen.android:lost:1.0.1'
|
|
}
|
|
|
|
android {
|
|
compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
|
|
buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION
|
|
|
|
defaultConfig {
|
|
minSdkVersion Integer.parseInt(project.ANDROID_MIN_SDK)
|
|
targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_7
|
|
targetCompatibility JavaVersion.VERSION_1_7
|
|
}
|
|
|
|
lintOptions {
|
|
checkAllWarnings true
|
|
warningsAsErrors true
|
|
disable 'InvalidPackage'
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
jniDebuggable true
|
|
}
|
|
|
|
release {
|
|
jniDebuggable false
|
|
consumerProguardFiles 'proguard-rules.pro'
|
|
}
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
all*.exclude group: 'commons-logging', module: 'commons-logging'
|
|
all*.exclude group: 'commons-collections', module: 'commons-collections'
|
|
}
|
|
|
|
|
|
android.libraryVariants.all { variant ->
|
|
def name = variant.name
|
|
task "javadoc$name"(type: Javadoc) {
|
|
description = "Generates javadoc for build $name"
|
|
failOnError = false
|
|
destinationDir = new File(destinationDir, variant.baseName)
|
|
source = files(variant.javaCompile.source)
|
|
classpath = files(variant.javaCompile.classpath.files) + files(android.bootClasspath)
|
|
options.links("http://docs.oracle.com/javase/7/docs/api/")
|
|
options.links("http://d.android.com/reference/")
|
|
exclude '**/R.html', '**/R.*.html'
|
|
}
|
|
}
|
|
|
|
checkstyle {
|
|
configFile project.file('../checks.xml')
|
|
showViolations true
|
|
}
|
|
|
|
/*
|
|
task cleanJNIBuilds {
|
|
def jniLibsDir = new File("MapboxGLAndroidSDK/src/main/jniLibs")
|
|
delete jniLibsDir.absolutePath
|
|
}
|
|
*/
|
|
|
|
android.libraryVariants.all { variant ->
|
|
def name = variant.buildType.name
|
|
def checkstyle = project.tasks.create "checkstyle${name.capitalize()}", Checkstyle
|
|
checkstyle.dependsOn variant.javaCompile
|
|
checkstyle.source variant.javaCompile.source
|
|
checkstyle.classpath = project.fileTree(variant.javaCompile.destinationDir)
|
|
checkstyle.exclude('**/BuildConfig.java')
|
|
checkstyle.exclude('**/R.java')
|
|
checkstyle.exclude('**/com/almeros/android/multitouch/**')
|
|
project.tasks.getByName("check").dependsOn checkstyle
|
|
}
|
|
|
|
// From https://raw.github.com/mcxiaoke/gradle-mvn-push/master/jar.gradle
|
|
android.libraryVariants.all { variant ->
|
|
def jarTask = project.tasks.create(name: "jar${variant.name.capitalize()}", type: Jar) {
|
|
from variant.javaCompile.destinationDir
|
|
exclude "**/R.class"
|
|
exclude "**/BuildConfig.class"
|
|
}
|
|
jarTask.dependsOn variant.javaCompile
|
|
artifacts.add('archives', jarTask);
|
|
}
|
|
|
|
// From https://raw.github.com/mcxiaoke/gradle-mvn-push/master/gradle-mvn-push.gradle
|
|
def isReleaseBuild() {
|
|
return VERSION_NAME.contains("SNAPSHOT") == false
|
|
}
|
|
|
|
def getReleaseRepositoryUrl() {
|
|
return hasProperty('RELEASE_REPOSITORY_URL') ? RELEASE_REPOSITORY_URL :
|
|
"https://oss.sonatype.org/service/local/staging/deploy/maven2/"
|
|
}
|
|
|
|
def getSnapshotRepositoryUrl() {
|
|
return hasProperty('SNAPSHOT_REPOSITORY_URL') ? SNAPSHOT_REPOSITORY_URL :
|
|
"https://oss.sonatype.org/content/repositories/snapshots/"
|
|
}
|
|
|
|
def getRepositoryUsername() {
|
|
return hasProperty('USERNAME') ? USERNAME :
|
|
(hasProperty('NEXUS_USERNAME') ? NEXUS_USERNAME : "")
|
|
}
|
|
|
|
def getRepositoryPassword() {
|
|
return hasProperty('PASSWORD') ? PASSWORD :
|
|
(hasProperty('NEXUS_PASSWORD') ? NEXUS_PASSWORD : "")
|
|
}
|
|
|
|
|
|
task apklib(type: Zip) {
|
|
appendix = extension = 'apklib'
|
|
|
|
from 'AndroidManifest.xml'
|
|
into('res') {
|
|
from 'res'
|
|
}
|
|
into('src') {
|
|
from 'src'
|
|
}
|
|
}
|
|
|
|
artifacts {
|
|
archives apklib
|
|
}
|
|
|
|
afterEvaluate { project ->
|
|
uploadArchives {
|
|
repositories {
|
|
mavenDeployer {
|
|
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
|
|
|
|
pom.groupId = GROUP
|
|
pom.artifactId = POM_ARTIFACT_ID
|
|
pom.version = VERSION_NAME
|
|
|
|
repository(url: getReleaseRepositoryUrl()) {
|
|
authentication(userName: getRepositoryUsername(),
|
|
password: getRepositoryPassword())
|
|
}
|
|
snapshotRepository(url: getSnapshotRepositoryUrl()) {
|
|
authentication(userName: getRepositoryUsername(),
|
|
password: getRepositoryPassword())
|
|
}
|
|
|
|
/*
|
|
// Leaving out as artifact was incorrectly named when found
|
|
addFilter('aar') { artifact, file ->
|
|
artifact.name == archivesBaseName
|
|
}
|
|
addFilter('apklib') { artifact, file ->
|
|
artifact.name == archivesBaseName + '-apklib'
|
|
}
|
|
*/
|
|
|
|
pom.project {
|
|
name POM_NAME
|
|
packaging POM_PACKAGING
|
|
description POM_DESCRIPTION
|
|
url POM_URL
|
|
|
|
scm {
|
|
url POM_SCM_URL
|
|
connection POM_SCM_CONNECTION
|
|
developerConnection POM_SCM_DEV_CONNECTION
|
|
}
|
|
|
|
licenses {
|
|
license {
|
|
name POM_LICENCE_NAME
|
|
url POM_LICENCE_URL
|
|
distribution POM_LICENCE_DIST
|
|
}
|
|
}
|
|
|
|
developers {
|
|
developer {
|
|
id POM_DEVELOPER_ID
|
|
name POM_DEVELOPER_NAME
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
signing {
|
|
required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") }
|
|
sign configurations.archives
|
|
}
|
|
|
|
task androidJavadocs(type: Javadoc) {
|
|
source = android.sourceSets.main.java.sourceFiles
|
|
classpath = files(android.bootClasspath)
|
|
}
|
|
|
|
task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
|
|
classifier = 'javadoc'
|
|
from androidJavadocs.destinationDir
|
|
}
|
|
|
|
task androidSourcesJar(type: Jar) {
|
|
classifier = 'sources'
|
|
from android.sourceSets.main.java.sourceFiles
|
|
}
|
|
|
|
artifacts {
|
|
archives androidSourcesJar
|
|
archives androidJavadocsJar
|
|
}
|
|
}
|