blob: 47af8719d55c6af7c3a645af18641a8e50933b69 [file] [log] [blame]
// If building from command line and you don't have the file local.properties that specifies
// sdk.dir for the Android SDK path, you can run
// $ ANDROID_HOME=/path/to/android-sdk gradle build
buildscript {
repositories {
jcenter()
}
dependencies {
// this requires Gradle 2
classpath 'com.android.tools.build:gradle:1.0.1'
classpath 'com.github.dcendents:android-maven-plugin:1.2'
classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.+'
}
}
// Requires Grade >= 2.1
plugins {
id 'com.jfrog.bintray' version '1.1'
}
apply plugin: 'android-sdk-manager'
apply plugin: 'com.android.library'
tasks.withType(JavaCompile) {
options.compilerArgs << '-Xlint:deprecation'
}
def ddArtifactId = 'droiddriver'
def ddGroup = 'io.appium'
def ddVersion = '0.9.1-SNAPSHOT'
def ddWebsite = 'https://github.com/appium/droiddriver'
def ddTracker = 'https://github.com/appium/droiddriver/issues'
def ddGit = 'https://github.com/appium/droiddriver.git'
def ddDescription = 'Android UI testing framework'
version = ddVersion
group = ddGroup
android {
compileSdkVersion 21
buildToolsVersion '21.1.2'
defaultConfig {
minSdkVersion 12 // TODO: need to support SDK 9?
targetSdkVersion 21
versionCode 1
versionName version
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
}
}
lintOptions {
// Aborting on lint errors prevents jenkins from processing the Lint output
// https://wiki.jenkins-ci.org/display/JENKINS/Android%20Lint%20Plugin
abortOnError false
}
}
apply plugin: 'com.github.dcendents.android-maven'
install {
repositories.mavenInstaller {
pom {
project {
packaging 'aar'
version = ddVersion
groupId = ddGroup
artifactId = ddArtifactId
description = ddDescription
url ddWebsite
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
scm {
connection ddGit
developerConnection ddGit
url ddWebsite
}
issueManagement {
url ddTracker
}
}
}
}
}
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = 'sources'
}
task javadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
if (System.getProperty('java.specification.version') == '1.8') {
// '-quiet' is not related to -Xdoclint. In fact it is default for the Javadoc task.
// It is needed here because of a Gradle bug: addStringOption(String option) does not work.
// addStringOption(String option, String value) adds both option and value to the generated
// file javadoc.options, and value must be a valid javadoc command line option.
options.addStringOption('Xdoclint:all,-missing', '-quiet')
}
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
artifacts {
archives javadocJar
archives sourcesJar
}
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
bintray {
publish = true
user = properties.getProperty('bintray.user')
key = properties.getProperty('bintray.key')
configurations = ['archives']
pkg {
repo = 'maven'
userOrg = 'appium'
name = "${ddGroup}:${ddArtifactId}"
websiteUrl = ddWebsite
issueTrackerUrl = ddTracker
vcsUrl = ddGit
desc = ddDescription
licenses = ['The Apache Software License, Version 2.0']
publicDownloadNumbers = true
version {
name = ddVersion
desc = ddDescription
}
}
}