mirror of https://github.com/iSoron/uhabits.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
158 lines
5.5 KiB
158 lines
5.5 KiB
apply plugin: 'idea'
|
|
apply plugin: 'com.android.application'
|
|
apply plugin: 'kotlin-android'
|
|
apply plugin: 'kotlin-kapt'
|
|
apply plugin: 'jacoco'
|
|
|
|
android {
|
|
compileSdkVersion COMPILE_SDK_VERSION as Integer
|
|
buildToolsVersion BUILD_TOOLS_VERSION
|
|
|
|
defaultConfig {
|
|
applicationId "org.isoron.uhabits"
|
|
minSdkVersion MIN_SDK_VERSION as Integer
|
|
targetSdkVersion TARGET_SDK_VERSION as Integer
|
|
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
|
|
|
javaCompileOptions {
|
|
annotationProcessorOptions {
|
|
includeCompileClasspath false
|
|
}
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled true
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
|
|
}
|
|
|
|
debug {
|
|
testCoverageEnabled true
|
|
}
|
|
}
|
|
|
|
lintOptions {
|
|
checkReleaseBuilds false
|
|
}
|
|
|
|
compileOptions {
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
|
|
testOptions {
|
|
unitTests.all {
|
|
testLogging {
|
|
events "passed", "skipped", "failed", "standardOut", "standardError"
|
|
outputs.upToDateWhen { false }
|
|
showStandardStreams = true
|
|
}
|
|
|
|
jacoco {
|
|
includeNoLocationClasses = true
|
|
}
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
main.assets.srcDirs += '../uhabits-core/src/main/resources/'
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation project(":uhabits-core")
|
|
implementation project(":android-base")
|
|
implementation project(":android-pickers")
|
|
|
|
implementation "com.android.support:appcompat-v7:$SUPPORT_LIBRARY_VERSION"
|
|
implementation "com.android.support:design:$SUPPORT_LIBRARY_VERSION"
|
|
implementation "com.android.support:preference-v14:$SUPPORT_LIBRARY_VERSION"
|
|
implementation "com.android.support:support-v4:$SUPPORT_LIBRARY_VERSION"
|
|
implementation "com.getpebble:pebblekit:3.0.0"
|
|
implementation "com.github.paolorotolo:appintro:3.4.0"
|
|
implementation "com.google.dagger:dagger:$DAGGER_VERSION"
|
|
implementation "com.jakewharton:butterknife:8.6.1-SNAPSHOT"
|
|
implementation "org.apmem.tools:layouts:1.10"
|
|
implementation "com.google.code.gson:gson:2.7"
|
|
implementation "com.google.code.findbugs:jsr305:3.0.2"
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$KOTLIN_VERSION"
|
|
|
|
compileOnly "javax.annotation:jsr250-api:1.0"
|
|
compileOnly "com.google.auto.factory:auto-factory:1.0-beta3"
|
|
kapt "com.google.dagger:dagger-compiler:$DAGGER_VERSION"
|
|
kapt "com.jakewharton:butterknife-compiler:8.6.1-SNAPSHOT"
|
|
kapt "com.google.auto.factory:auto-factory:1.0-beta3"
|
|
|
|
androidTestImplementation "com.android.support.test.espresso:espresso-contrib:2.2.2"
|
|
androidTestImplementation "com.android.support.test.espresso:espresso-core:2.2.2"
|
|
androidTestImplementation "com.android.support.test.uiautomator:uiautomator-v18:2.1.1"
|
|
androidTestImplementation "com.google.dagger:dagger:$DAGGER_VERSION"
|
|
androidTestImplementation "com.linkedin.testbutler:test-butler-library:1.3.1"
|
|
androidTestCompileOnly "com.google.auto.factory:auto-factory:1.0-beta3"
|
|
androidTestImplementation "com.android.support:support-annotations:$SUPPORT_LIBRARY_VERSION"
|
|
androidTestImplementation "com.android.support.test:rules:0.5"
|
|
androidTestImplementation "com.android.support.test:runner:0.5"
|
|
androidTestImplementation "com.google.guava:guava:20.0"
|
|
androidTestImplementation project(":uhabits-core")
|
|
kaptAndroidTest "com.google.dagger:dagger-compiler:$DAGGER_VERSION"
|
|
|
|
// mockito-android 2+ includes net.bytebuddy, which causes tests to fail.
|
|
// Excluding the package net.bytebuddy on AndroidManifest.xml breaks some
|
|
// AndroidJUnitRunner functionality, such as running individual methods.
|
|
androidTestImplementation "org.mockito:mockito-core:1+"
|
|
androidTestImplementation "com.google.dexmaker:dexmaker-mockito:+"
|
|
|
|
testImplementation "com.google.dagger:dagger:$DAGGER_VERSION"
|
|
testImplementation "org.mockito:mockito-core:2.8.9"
|
|
testImplementation "org.mockito:mockito-inline:2.8.9"
|
|
testImplementation "junit:junit:4+"
|
|
|
|
implementation('com.opencsv:opencsv:3.9') {
|
|
exclude group: 'commons-logging', module: 'commons-logging'
|
|
}
|
|
implementation('io.socket:socket.io-client:0.8.3') {
|
|
exclude group: 'org.json', module: 'json'
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
kapt {
|
|
correctErrorTypes = true
|
|
}
|
|
|
|
task coverageReport(type: JacocoReport) {
|
|
def excludes = [
|
|
'**/R.class',
|
|
'**/R$*.class',
|
|
'**/BuildConfig.*',
|
|
'**/Manifest*',
|
|
'**/*Test*.*',
|
|
'**/*$Lambda$*',
|
|
'**/*$ViewBinder*',
|
|
'**/*MembersInjector*',
|
|
'**/*_Provide*',
|
|
'**/*Module_*',
|
|
'**/com/android/**/*',
|
|
'**/*Dagger*',
|
|
'**/*_Factory*'
|
|
]
|
|
def androidSrc = "${project.projectDir}/src/main/java"
|
|
def androidClasses = "${buildDir}/intermediates/classes/debug"
|
|
def jvmExecData = "${buildDir}/jacoco/testDebugUnitTest.exec"
|
|
def connectedExecData = "${buildDir}/outputs/code-coverage/connected/coverage.ec"
|
|
sourceDirectories = files(androidSrc)
|
|
classDirectories = files(fileTree(dir: androidClasses, excludes: excludes))
|
|
executionData = files(jvmExecData, connectedExecData)
|
|
jacocoClasspath = configurations['androidJacocoAnt']
|
|
|
|
reports {
|
|
html.enabled = true
|
|
xml.enabled = true
|
|
}
|
|
}
|
|
|