Select Git revision
build.gradle
build.gradle 5.24 KiB
def taskRequests = getGradle().getStartParameter().getTaskRequests().toString()
def isFoss = taskRequests.contains("Foss") || taskRequests.contains("foss")
buildscript {
repositories {
maven {
url 'https://maven.fabric.io/public'
}
mavenCentral()
google()
jcenter()
}
dependencies {
classpath 'com.google.gms:google-services:4.2.0'
classpath 'io.fabric.tools:gradle:1.29.0'
}
}
apply plugin: 'com.android.application'
if (!isFoss) {
apply plugin: 'io.fabric'
}
android {
buildToolsVersion '28.0.3'
compileSdkVersion 28
useLibrary 'org.apache.http.legacy'
defaultConfig {
applicationId "org.openhab.habdroid"
minSdkVersion 14
targetSdkVersion 27
versionCode 141
versionName "2.7.1-beta"
multiDexEnabled true
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
}
buildTypes {
def IS_DEVELOPER = "IS_DEVELOPER"
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField 'boolean', IS_DEVELOPER, 'false'
buildConfigField "java.util.Date", "buildTime", "new java.util.Date(" + System.currentTimeMillis() + "L)"
}
debug {
minifyEnabled false
buildConfigField 'boolean', IS_DEVELOPER, 'true'
buildConfigField "java.util.Date", "buildTime", "new java.util.Date(" + System.currentTimeMillis() + "L)"
pseudoLocalesEnabled true
}
}
flavorDimensions "license", "release"
productFlavors {
full {
dimension "license"
manifestPlaceholders = [maps_api_key: project.findProperty("mapsApiKey") ?: ""]
}
foss {
dimension "license"
}
stable {
dimension "release"
}
beta {
dimension "release"
applicationIdSuffix ".beta"
}
}
testOptions {
unitTests.returnDefaultValues = true
}
lintOptions {
lintConfig file("lint.xml")
abortOnError false
}
compileOptions {
targetCompatibility 1.8
sourceCompatibility 1.8
}
}
repositories {
maven {
url 'https://maven.fabric.io/public'
}
mavenCentral()
maven {
url 'https://jitpack.io'
}
google()
jcenter()
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.android.material:material:1.0.0'
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'androidx.work:work-runtime:2.0.1'
implementation 'org.jmdns:jmdns:3.5.5'
implementation 'com.squareup.okhttp3:okhttp:3.12.1'
implementation 'com.squareup.okhttp3:logging-interceptor:3.12.1'
implementation 'com.github.heremaps:oksse:0.9.0'
implementation 'com.larswerkman:HoloColorPicker:1.5'
implementation 'com.caverock:androidsvg-aar:1.4'
implementation('com.github.paolorotolo:appintro:v5.1.0') {
transitive false
exclude group: 'com.intellij', module: 'annotations'
}
// MapView support
fullImplementation 'com.google.android.gms:play-services-maps:16.1.0'
fossImplementation 'org.osmdroid:osmdroid-android:6.1.0'
// FCM
fullImplementation 'com.google.firebase:firebase-messaging:17.6.0'
// About screen
implementation 'com.github.daniel-stoneuk:material-about-library:2.4.2'
// Used libraries
implementation('com.mikepenz:aboutlibraries:6.2.3@aar') {
transitive = true
}
implementation 'com.github.GrenderG:Toasty:1.4.2'
// Crash reporting
fullImplementation('com.crashlytics.sdk.android:crashlytics:2.10.1@aar') {
transitive = true
}
implementation 'com.google.auto.value:auto-value-annotations:1.6.5'
annotationProcessor 'com.google.auto.value:auto-value:1.6.5'
annotationProcessor 'com.ryanharter.auto.value:auto-value-parcel:0.2.6'
testImplementation 'org.mockito:mockito-core:2.28.2'
testImplementation 'junit:junit:4.12'
testImplementation 'org.json:json:20180813'
testImplementation 'com.squareup.okhttp3:mockwebserver:3.12.1'
// PowerMock
testImplementation 'org.powermock:powermock-core:2.0.2'
testImplementation 'org.powermock:powermock-api-mockito2:2.0.2'
testImplementation 'org.powermock:powermock-module-junit4:2.0.2'
// Espresso UI tests
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0', {
exclude group: 'com.android.support', module: 'support-annotations'
}
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test:rules:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-intents:3.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.2.0', {
exclude group: 'com.android.support', module: 'support-annotations'
}
androidTestImplementation 'tools.fastlane:screengrab:1.1.0'
}
if (!isFoss) {
apply plugin: 'com.google.gms.google-services'
}