2018-03-20 18:44:23 +01:00
|
|
|
apply plugin: "com.android.application"
|
2019-09-19 22:31:49 +02:00
|
|
|
apply plugin: "com.github.spotbugs"
|
2018-03-20 18:44:23 +01:00
|
|
|
apply plugin: "pmd"
|
2016-08-30 01:25:43 +02:00
|
|
|
|
2018-03-20 18:44:23 +01:00
|
|
|
def ABORT_ON_CHECK_FAILURE = false
|
2015-01-07 14:00:18 +01:00
|
|
|
|
2016-08-30 01:25:43 +02:00
|
|
|
tasks.withType(Test) {
|
2018-03-20 18:44:23 +01:00
|
|
|
systemProperty "MiFirmwareDir", System.getProperty("MiFirmwareDir", null)
|
|
|
|
systemProperty "logback.configurationFile", System.getProperty("user.dir", null) + "/app/src/main/assets/logback.xml"
|
|
|
|
systemProperty "GB_LOGFILES_DIR", java.nio.file.Files.createTempDirectory("gblog").toString()
|
2016-08-30 01:25:43 +02:00
|
|
|
}
|
2016-03-17 23:41:41 +01:00
|
|
|
|
2015-01-07 14:00:18 +01:00
|
|
|
android {
|
2016-08-26 23:27:53 +02:00
|
|
|
compileOptions {
|
|
|
|
// for KitKat
|
|
|
|
sourceCompatibility JavaVersion.VERSION_1_7
|
|
|
|
targetCompatibility JavaVersion.VERSION_1_7
|
|
|
|
}
|
2019-01-26 15:52:40 +01:00
|
|
|
compileSdkVersion 28
|
2018-10-28 21:31:09 +01:00
|
|
|
buildToolsVersion '28.0.3'
|
2015-01-07 14:00:18 +01:00
|
|
|
|
|
|
|
defaultConfig {
|
2016-04-29 23:24:12 +02:00
|
|
|
applicationId "nodomain.freeyourgadget.gadgetbridge"
|
2015-11-23 22:49:11 +01:00
|
|
|
minSdkVersion 19
|
2018-01-20 21:27:37 +01:00
|
|
|
targetSdkVersion 27
|
2015-12-07 18:10:00 +01:00
|
|
|
|
2018-03-20 18:44:23 +01:00
|
|
|
// Note: always bump BOTH versionCode and versionName!
|
2019-10-15 20:46:39 +02:00
|
|
|
versionName "0.37.1"
|
|
|
|
versionCode 159
|
2016-10-21 13:01:30 +02:00
|
|
|
vectorDrawables.useSupportLibrary = true
|
2015-01-07 14:00:18 +01:00
|
|
|
}
|
|
|
|
buildTypes {
|
|
|
|
release {
|
|
|
|
minifyEnabled false
|
2018-03-20 18:44:23 +01:00
|
|
|
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
|
2015-01-07 14:00:18 +01:00
|
|
|
}
|
|
|
|
}
|
2015-08-15 22:36:45 +02:00
|
|
|
|
|
|
|
lintOptions {
|
|
|
|
abortOnError ABORT_ON_CHECK_FAILURE
|
|
|
|
lintConfig file("${project.rootDir}/config/lint/lint.xml")
|
2018-03-20 18:44:23 +01:00
|
|
|
// If true, generate an HTML report (with issue explanations, sourcecode, etc)
|
2015-08-15 22:36:45 +02:00
|
|
|
htmlReport true
|
2018-03-20 18:44:23 +01:00
|
|
|
// Optional path to report (default will be lint-results.html in the builddir)
|
2015-08-15 22:36:45 +02:00
|
|
|
htmlOutput file("$project.buildDir/reports/lint/lint.html")
|
|
|
|
}
|
2015-08-22 01:08:46 +02:00
|
|
|
|
|
|
|
testOptions {
|
2018-03-22 21:01:59 +01:00
|
|
|
unitTests {
|
|
|
|
returnDefaultValues = true
|
|
|
|
includeAndroidResources = true
|
|
|
|
}
|
2015-08-22 01:08:46 +02:00
|
|
|
}
|
2015-01-07 14:00:18 +01:00
|
|
|
}
|
|
|
|
|
2016-08-26 22:27:17 +02:00
|
|
|
pmd {
|
2018-03-20 18:44:23 +01:00
|
|
|
toolVersion = "5.5.5"
|
2016-08-26 22:27:17 +02:00
|
|
|
}
|
|
|
|
|
2015-01-07 14:00:18 +01:00
|
|
|
dependencies {
|
2018-03-20 18:44:23 +01:00
|
|
|
// testImplementation "ch.qos.logback:logback-classic:1.1.3"
|
|
|
|
// testImplementation "ch.qos.logback:logback-core:1.1.3"
|
2018-12-03 09:45:43 +01:00
|
|
|
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
|
2018-03-20 18:44:23 +01:00
|
|
|
testImplementation "junit:junit:4.12"
|
|
|
|
testImplementation "org.mockito:mockito-core:1.10.19"
|
2019-05-25 00:07:21 +02:00
|
|
|
testImplementation "org.robolectric:robolectric:4.2.1"
|
2019-05-23 22:17:51 +02:00
|
|
|
testImplementation "com.google.code.gson:gson:2.8.5"
|
2018-03-20 18:44:23 +01:00
|
|
|
|
|
|
|
implementation fileTree(dir: "libs", include: ["*.jar"])
|
2019-09-16 21:56:40 +02:00
|
|
|
implementation "androidx.appcompat:appcompat:1.1.0"
|
|
|
|
implementation "androidx.preference:preference:1.1.0"
|
2019-01-26 15:52:40 +01:00
|
|
|
implementation "androidx.cardview:cardview:1.0.0"
|
|
|
|
implementation "androidx.recyclerview:recyclerview:1.0.0"
|
|
|
|
implementation "androidx.legacy:legacy-support-v4:1.0.0"
|
|
|
|
implementation "androidx.gridlayout:gridlayout:1.0.0"
|
|
|
|
implementation "com.google.android.material:material:1.0.0"
|
|
|
|
implementation "androidx.palette:palette:1.0.0"
|
2018-03-20 18:44:23 +01:00
|
|
|
implementation("com.github.tony19:logback-android-classic:1.1.1-6") {
|
|
|
|
exclude group: "com.google.android", module: "android"
|
2017-11-14 11:01:29 +01:00
|
|
|
}
|
2018-03-20 18:44:23 +01:00
|
|
|
implementation "org.slf4j:slf4j-api:1.7.12"
|
2019-08-24 12:41:26 +02:00
|
|
|
implementation "com.github.PhilJay:MPAndroidChart:v3.1.0"
|
2018-03-20 18:44:23 +01:00
|
|
|
implementation "com.github.pfichtner:durationformatter:0.1.1"
|
|
|
|
implementation "de.cketti.library.changelog:ckchangelog:1.2.2"
|
|
|
|
implementation "net.e175.klaus:solarpositioning:0.0.9"
|
2017-04-10 21:36:44 +02:00
|
|
|
// use pristine greendao instead of our custom version, since our custom jitpack-packaged
|
|
|
|
// version contains way too much and our custom patches are in the generator only.
|
2019-07-14 19:45:40 +02:00
|
|
|
|
|
|
|
implementation 'com.twofortyfouram:android-plugin-client-sdk-for-locale:[4.0.3, 5.0['
|
|
|
|
implementation 'com.twofortyfouram:android-plugin-host-sdk-for-locale:[2.0.3,3.0['
|
|
|
|
implementation 'com.twofortyfouram:android-plugin-api-for-locale:[1.0.2,2.0['
|
|
|
|
|
2018-03-20 18:44:23 +01:00
|
|
|
implementation "org.greenrobot:greendao:2.2.1"
|
2019-05-23 22:02:25 +02:00
|
|
|
implementation "org.apache.commons:commons-lang3:3.7"
|
2018-03-20 18:44:23 +01:00
|
|
|
implementation "org.cyanogenmod:platform.sdk:6.0"
|
2018-07-28 17:23:58 +02:00
|
|
|
implementation 'com.jaredrummler:colorpicker:1.0.2'
|
2018-03-20 18:44:23 +01:00
|
|
|
// implementation project(":DaoCore")
|
2018-11-25 23:56:52 +01:00
|
|
|
implementation 'com.github.wax911:android-emojify:0.1.7'
|
2019-07-14 19:45:40 +02:00
|
|
|
|
|
|
|
implementation 'com.android.support:support-v4:28.1.0'
|
|
|
|
|
|
|
|
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
|
2016-03-27 22:13:06 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
preBuild.dependsOn(":GBDaoGenerator:genSources")
|
2018-03-20 18:44:23 +01:00
|
|
|
|
2016-03-27 22:13:06 +02:00
|
|
|
gradle.beforeProject {
|
|
|
|
preBuild.dependsOn(":GBDaoGenerator:genSources")
|
2015-01-07 14:00:18 +01:00
|
|
|
}
|
2015-08-15 22:36:45 +02:00
|
|
|
|
2019-09-19 22:31:49 +02:00
|
|
|
check.dependsOn "spotbugsMain", "pmd", "lint"
|
2015-08-15 22:36:45 +02:00
|
|
|
|
|
|
|
task pmd(type: Pmd) {
|
|
|
|
ruleSetFiles = files("${project.rootDir}/config/pmd/pmd-ruleset.xml")
|
|
|
|
ignoreFailures = !ABORT_ON_CHECK_FAILURE
|
|
|
|
ruleSets = [
|
2018-03-20 18:44:23 +01:00
|
|
|
"java-android",
|
|
|
|
"java-basic",
|
|
|
|
"java-braces",
|
|
|
|
"java-clone",
|
|
|
|
"java-codesize",
|
|
|
|
"java-controversial",
|
|
|
|
"java-coupling",
|
|
|
|
"java-design",
|
|
|
|
"java-empty",
|
|
|
|
"java-finalizers",
|
|
|
|
"java-imports",
|
|
|
|
"java-junit",
|
|
|
|
"java-optimizations",
|
|
|
|
"java-strictexception",
|
|
|
|
"java-strings",
|
|
|
|
"java-sunsecure",
|
|
|
|
"java-typeresolution",
|
|
|
|
"java-unnecessary",
|
|
|
|
"java-unusedcode"
|
2015-08-15 22:36:45 +02:00
|
|
|
]
|
|
|
|
|
2018-03-20 18:44:23 +01:00
|
|
|
source "src"
|
|
|
|
include "**/*.java"
|
|
|
|
exclude "**/gen/**"
|
2015-08-15 22:36:45 +02:00
|
|
|
|
|
|
|
reports {
|
|
|
|
xml.enabled = false
|
|
|
|
html.enabled = true
|
|
|
|
xml {
|
2019-05-23 22:02:25 +02:00
|
|
|
destination file("$project.buildDir/reports/pmd/pmd.xml")
|
2015-08-15 22:36:45 +02:00
|
|
|
}
|
|
|
|
html {
|
2019-05-23 22:02:25 +02:00
|
|
|
destination file("$project.buildDir/reports/pmd/pmd.html")
|
2015-08-15 22:36:45 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-09-19 22:31:49 +02:00
|
|
|
// this is just for spotbugs to let the plugin create the task
|
|
|
|
sourceSets {
|
|
|
|
main {
|
|
|
|
java.srcDirs = []
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
spotbugs {
|
|
|
|
toolVersion = "3.1.12"
|
2015-08-15 22:36:45 +02:00
|
|
|
ignoreFailures = !ABORT_ON_CHECK_FAILURE
|
|
|
|
effort = "default"
|
|
|
|
reportLevel = "medium"
|
2019-09-19 22:31:49 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
tasks.withType(com.github.spotbugs.SpotBugsTask) {
|
|
|
|
source = fileTree('src/main/java')
|
|
|
|
classes = files("${project.rootDir}/app/build/intermediates/javac/debug/classes")
|
2015-08-15 22:36:45 +02:00
|
|
|
excludeFilter = new File("${project.rootDir}/config/findbugs/findbugs-filter.xml")
|
|
|
|
reports {
|
|
|
|
xml.enabled = false
|
|
|
|
html.enabled = true
|
|
|
|
xml {
|
2019-09-19 22:31:49 +02:00
|
|
|
destination file ("$project.buildDir/reports/spotbugs/spotbugs-output.xml")
|
2015-08-15 22:36:45 +02:00
|
|
|
}
|
|
|
|
html {
|
2019-09-19 22:31:49 +02:00
|
|
|
destination file ("$project.buildDir/reports/spotbugs/spotbugs-output.html")
|
2015-08-15 22:36:45 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|