2018-08-02 13:33:06 +00:00
|
|
|
apply plugin: 'com.android.application'
|
2019-05-10 06:53:45 +00:00
|
|
|
apply plugin: 'com.bugsnag.android.gradle'
|
2018-08-02 13:33:06 +00:00
|
|
|
|
2019-01-15 13:07:07 +00:00
|
|
|
def keystorePropertiesFile = rootProject.file("keystore.properties")
|
|
|
|
def keystoreProperties = new Properties()
|
2019-03-26 13:51:35 +00:00
|
|
|
|
2019-01-15 13:07:07 +00:00
|
|
|
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
|
|
|
|
|
2018-08-02 13:33:06 +00:00
|
|
|
android {
|
2019-06-06 08:53:47 +00:00
|
|
|
compileSdkVersion 29
|
2019-06-15 08:02:41 +00:00
|
|
|
|
2018-08-02 13:33:06 +00:00
|
|
|
defaultConfig {
|
|
|
|
applicationId "eu.faircode.email"
|
2018-12-09 17:49:52 +00:00
|
|
|
minSdkVersion 21
|
2019-06-06 08:53:47 +00:00
|
|
|
targetSdkVersion 29
|
2019-06-22 17:39:39 +00:00
|
|
|
versionCode 554
|
|
|
|
versionName "1.554"
|
2018-08-14 05:53:24 +00:00
|
|
|
archivesBaseName = "FairEmail-v$versionName"
|
2018-08-03 12:07:51 +00:00
|
|
|
|
|
|
|
javaCompileOptions {
|
|
|
|
annotationProcessorOptions {
|
|
|
|
arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
|
|
|
|
}
|
|
|
|
}
|
2019-06-14 18:29:40 +00:00
|
|
|
|
|
|
|
// https://developer.android.com/guide/topics/graphics/vector-drawable-resources
|
|
|
|
vectorDrawables.useSupportLibrary = true
|
2019-06-15 08:02:41 +00:00
|
|
|
|
|
|
|
ndk {
|
|
|
|
// Bugsnag
|
|
|
|
abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
|
|
|
|
}
|
2018-08-02 13:33:06 +00:00
|
|
|
}
|
2019-06-15 08:02:41 +00:00
|
|
|
|
2019-01-15 13:07:07 +00:00
|
|
|
signingConfigs {
|
|
|
|
release {
|
|
|
|
storeFile file(keystoreProperties['storeFile'])
|
|
|
|
storePassword keystoreProperties['storePassword']
|
|
|
|
keyAlias keystoreProperties['keyAlias']
|
|
|
|
keyPassword keystoreProperties['keyPassword']
|
|
|
|
}
|
|
|
|
}
|
2018-08-02 13:33:06 +00:00
|
|
|
|
|
|
|
buildTypes {
|
|
|
|
release {
|
2018-09-03 08:04:51 +00:00
|
|
|
debuggable = false
|
2018-08-02 13:33:06 +00:00
|
|
|
minifyEnabled = true
|
|
|
|
useProguard = true
|
|
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
2019-01-15 13:07:07 +00:00
|
|
|
signingConfig signingConfigs.release
|
2018-12-21 09:18:58 +00:00
|
|
|
}
|
2018-08-02 13:33:06 +00:00
|
|
|
debug {
|
2018-09-04 18:06:22 +00:00
|
|
|
debuggable = true
|
2018-11-22 08:00:02 +00:00
|
|
|
minifyEnabled = false
|
|
|
|
useProguard = false
|
2018-08-02 13:33:06 +00:00
|
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
2019-01-07 10:45:17 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
flavorDimensions "all"
|
|
|
|
|
|
|
|
productFlavors {
|
|
|
|
full {
|
|
|
|
dimension "all"
|
2019-02-07 19:49:14 +00:00
|
|
|
buildConfigField "boolean", "BETA_RELEASE", "true"
|
2018-12-19 13:57:01 +00:00
|
|
|
buildConfigField "boolean", "PLAY_STORE_RELEASE", "false"
|
2019-02-07 19:49:14 +00:00
|
|
|
buildConfigField "String", "INVITE_URI", "\"https://email.faircode.eu/\""
|
|
|
|
buildConfigField "String", "PRO_FEATURES_URI", "\"https://email.faircode.eu/donate/\""
|
2019-04-19 13:16:40 +00:00
|
|
|
buildConfigField "String", "CHANGELOG", "\"https://github.com/M66B/open-source-email/releases/\""
|
2018-12-19 13:57:01 +00:00
|
|
|
buildConfigField "String", "GITHUB_LATEST_API", "\"https://api.github.com/repos/M66B/open-source-email/releases/latest\""
|
2019-01-09 18:15:47 +00:00
|
|
|
}
|
|
|
|
play_beta {
|
|
|
|
dimension "all"
|
2019-02-07 19:49:14 +00:00
|
|
|
buildConfigField "boolean", "BETA_RELEASE", "true"
|
2019-01-09 18:15:47 +00:00
|
|
|
buildConfigField "boolean", "PLAY_STORE_RELEASE", "true"
|
2019-06-22 06:45:09 +00:00
|
|
|
buildConfigField "String", "INVITE_URI", "\"https://play.google.com/store/apps/details?id=eu.faircode.email\""
|
2019-02-07 19:49:14 +00:00
|
|
|
buildConfigField "String", "PRO_FEATURES_URI", "\"https://email.faircode.eu/#pro\""
|
2019-04-19 13:16:40 +00:00
|
|
|
buildConfigField "String", "CHANGELOG", "\"\""
|
2019-01-09 18:15:47 +00:00
|
|
|
buildConfigField "String", "GITHUB_LATEST_API", "\"\""
|
2018-08-02 13:33:06 +00:00
|
|
|
}
|
2019-01-09 18:15:47 +00:00
|
|
|
play_release {
|
2019-01-07 10:45:17 +00:00
|
|
|
dimension "all"
|
2019-02-07 19:49:14 +00:00
|
|
|
buildConfigField "boolean", "BETA_RELEASE", "false"
|
2019-01-07 10:45:17 +00:00
|
|
|
buildConfigField "boolean", "PLAY_STORE_RELEASE", "true"
|
2019-02-07 19:49:14 +00:00
|
|
|
buildConfigField "String", "INVITE_URI", "\"https://play.google.com/store/apps/details?id=eu.faircode.email\""
|
|
|
|
buildConfigField "String", "PRO_FEATURES_URI", "\"https://email.faircode.eu/#pro\""
|
2019-04-19 13:16:40 +00:00
|
|
|
buildConfigField "String", "CHANGELOG", "\"\""
|
2019-01-07 10:45:17 +00:00
|
|
|
buildConfigField "String", "GITHUB_LATEST_API", "\"\""
|
|
|
|
}
|
2018-08-02 13:33:06 +00:00
|
|
|
}
|
|
|
|
|
2018-12-21 09:18:58 +00:00
|
|
|
lintOptions {
|
|
|
|
disable 'MissingTranslation'
|
2019-01-19 15:25:09 +00:00
|
|
|
abortOnError false
|
2018-12-21 09:18:58 +00:00
|
|
|
}
|
|
|
|
|
2018-08-02 13:33:06 +00:00
|
|
|
packagingOptions {
|
2019-05-18 05:24:06 +00:00
|
|
|
exclude 'META-INF/LICENSE.txt'
|
|
|
|
exclude 'META-INF/README.md'
|
|
|
|
exclude 'META-INF/CHANGES'
|
2018-08-02 13:33:06 +00:00
|
|
|
}
|
2019-05-10 06:53:45 +00:00
|
|
|
|
|
|
|
bugsnag {
|
|
|
|
// https://docs.bugsnag.com/build-integrations/gradle/
|
|
|
|
apiKey "9d2d57476a0614974449a3ec33f2604a"
|
2019-05-10 14:55:55 +00:00
|
|
|
builderName "M66B"
|
|
|
|
autoUpload false
|
|
|
|
autoReportBuilds false
|
|
|
|
sourceControl {
|
|
|
|
repository "https://github.com/M66B/open-source-email"
|
|
|
|
}
|
2019-05-10 06:53:45 +00:00
|
|
|
}
|
2018-08-02 13:33:06 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
repositories {
|
2018-10-12 08:33:23 +00:00
|
|
|
google()
|
2018-08-02 13:33:06 +00:00
|
|
|
jcenter()
|
2019-04-19 06:31:00 +00:00
|
|
|
maven { url "https://repo1.maven.org/maven2/" }
|
|
|
|
maven { url "https://jitpack.io" }
|
2018-08-02 13:33:06 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
|
|
|
|
2019-06-08 11:39:16 +00:00
|
|
|
def appcompat_version = "1.1.0-beta01"
|
2019-06-07 06:48:03 +00:00
|
|
|
def recyclerview_version = "1.1.0-alpha06"
|
2019-06-08 11:39:16 +00:00
|
|
|
def coordinatorlayout_version = "1.1.0-beta01"
|
|
|
|
def constraintlayout_version = "2.0.0-beta1"
|
2019-06-01 07:54:48 +00:00
|
|
|
def material_version = "1.1.0-alpha07"
|
2018-11-13 14:33:41 +00:00
|
|
|
def browser_version = "1.0.0"
|
2019-06-08 11:39:16 +00:00
|
|
|
def lifecycle_version = "2.1.0-beta01"
|
2019-06-14 06:57:39 +00:00
|
|
|
def room_version = "2.1.0"
|
2019-02-07 19:54:04 +00:00
|
|
|
def paging_version = "2.1.0"
|
2019-06-08 11:39:16 +00:00
|
|
|
def preference_version = "1.1.0-beta01"
|
2019-06-20 17:07:22 +00:00
|
|
|
def work_version = "2.1.0-beta02"
|
2019-06-08 11:39:16 +00:00
|
|
|
def exif_version = "1.1.0-alpha01"
|
2019-06-08 11:35:24 +00:00
|
|
|
def billingclient_version = "2.0.1"
|
2018-11-23 10:56:17 +00:00
|
|
|
def javamail_version = "1.6.3"
|
2019-06-08 11:39:16 +00:00
|
|
|
def jsoup_version = "1.12.1"
|
|
|
|
def dnsjava_version = "2.1.9"
|
2018-10-28 12:49:13 +00:00
|
|
|
def openpgp_version = "12.0"
|
2019-04-28 10:51:18 +00:00
|
|
|
def requery_version = "3.28.0"
|
2019-03-27 09:48:20 +00:00
|
|
|
def badge_version = "1.1.22"
|
2019-04-19 06:31:00 +00:00
|
|
|
def photoview_version = "2.3.0"
|
2019-06-15 07:33:56 +00:00
|
|
|
def bugsnag_version = "4.15.0"
|
2019-05-18 09:19:39 +00:00
|
|
|
def biweekly_version = "0.6.3"
|
2018-08-07 05:30:15 +00:00
|
|
|
|
2019-03-27 13:50:47 +00:00
|
|
|
// https://developer.android.com/jetpack/androidx/releases/
|
2019-03-31 17:04:23 +00:00
|
|
|
|
2018-11-10 09:09:56 +00:00
|
|
|
// https://mvnrepository.com/artifact/androidx.appcompat/appcompat
|
2018-11-13 15:03:20 +00:00
|
|
|
implementation "androidx.appcompat:appcompat:$appcompat_version"
|
2018-11-10 09:09:56 +00:00
|
|
|
|
|
|
|
// https://mvnrepository.com/artifact/androidx.recyclerview/recyclerview
|
2019-03-31 14:49:10 +00:00
|
|
|
// https://mvnrepository.com/artifact/androidx.recyclerview/recyclerview-selection
|
2018-11-13 14:33:41 +00:00
|
|
|
implementation "androidx.recyclerview:recyclerview:$recyclerview_version"
|
2019-06-07 06:48:03 +00:00
|
|
|
//implementation "androidx.recyclerview:recyclerview-selection:1.1.0-alpha06"
|
2018-11-10 09:09:56 +00:00
|
|
|
|
|
|
|
// https://mvnrepository.com/artifact/androidx.coordinatorlayout/coordinatorlayout
|
2018-11-13 14:33:41 +00:00
|
|
|
implementation "androidx.coordinatorlayout:coordinatorlayout:$coordinatorlayout_version"
|
2018-11-10 09:09:56 +00:00
|
|
|
|
|
|
|
// https://mvnrepository.com/artifact/androidx.constraintlayout/constraintlayout
|
2018-09-12 16:54:48 +00:00
|
|
|
implementation "androidx.constraintlayout:constraintlayout:$constraintlayout_version"
|
2018-11-10 09:09:56 +00:00
|
|
|
|
|
|
|
// https://mvnrepository.com/artifact/com.google.android.material/material
|
2019-06-01 07:54:48 +00:00
|
|
|
// https://github.com/material-components/material-components-android/releases
|
2018-11-13 14:33:41 +00:00
|
|
|
implementation "com.google.android.material:material:$material_version"
|
2018-11-10 09:09:56 +00:00
|
|
|
|
|
|
|
// https://mvnrepository.com/artifact/androidx.browser/browser
|
2018-11-13 14:33:41 +00:00
|
|
|
implementation "androidx.browser:browser:$browser_version"
|
2018-08-02 13:33:06 +00:00
|
|
|
|
2018-11-10 09:09:56 +00:00
|
|
|
// https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-runtime
|
2018-08-23 09:48:27 +00:00
|
|
|
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
|
|
|
|
annotationProcessor "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
|
|
|
|
|
2018-11-10 09:09:56 +00:00
|
|
|
// https://mvnrepository.com/artifact/androidx.room/room-runtime
|
2018-08-23 09:48:27 +00:00
|
|
|
implementation "androidx.room:room-runtime:$room_version"
|
|
|
|
annotationProcessor "androidx.room:room-compiler:$room_version"
|
|
|
|
|
2018-11-10 09:09:56 +00:00
|
|
|
// https://mvnrepository.com/artifact/androidx.paging/paging-runtime
|
2018-08-23 09:48:27 +00:00
|
|
|
implementation "androidx.paging:paging-runtime:$paging_version"
|
2018-08-07 06:38:00 +00:00
|
|
|
|
2019-03-15 13:54:25 +00:00
|
|
|
// https://mvnrepository.com/artifact/androidx.preference/preference
|
|
|
|
implementation "androidx.preference:preference:$preference_version"
|
|
|
|
|
2019-03-03 09:09:11 +00:00
|
|
|
// https://mvnrepository.com/artifact/android.arch.work/work-runtime
|
2019-03-27 13:50:47 +00:00
|
|
|
implementation "androidx.work:work-runtime:$work_version"
|
2019-03-03 09:09:11 +00:00
|
|
|
|
2019-03-27 11:14:09 +00:00
|
|
|
// https://mvnrepository.com/artifact/androidx.exifinterface/exifinterface
|
|
|
|
implementation "androidx.exifinterface:exifinterface:$exif_version"
|
|
|
|
|
2018-11-10 09:09:56 +00:00
|
|
|
// https://developer.android.com/google/play/billing/billing_library_releases_notes
|
2018-08-25 13:32:52 +00:00
|
|
|
implementation "com.android.billingclient:billing:$billingclient_version"
|
|
|
|
|
2018-11-10 09:09:56 +00:00
|
|
|
// https://javaee.github.io/javamail/
|
|
|
|
// https://projects.eclipse.org/projects/ee4j.javamail
|
2019-03-17 09:18:40 +00:00
|
|
|
// https://mvnrepository.com/artifact/com.sun.mail
|
2018-08-07 05:30:15 +00:00
|
|
|
implementation "com.sun.mail:android-mail:$javamail_version"
|
|
|
|
implementation "com.sun.mail:android-activation:$javamail_version"
|
2018-08-02 13:33:06 +00:00
|
|
|
|
2018-11-10 09:09:56 +00:00
|
|
|
// https://jsoup.org/
|
2018-08-07 05:30:15 +00:00
|
|
|
implementation "org.jsoup:jsoup:$jsoup_version"
|
2018-08-08 05:02:25 +00:00
|
|
|
|
2019-02-20 11:34:35 +00:00
|
|
|
// http://www.dnsjava.org/
|
|
|
|
// https://mvnrepository.com/artifact/dnsjava/dnsjava
|
2018-09-18 14:22:10 +00:00
|
|
|
implementation "dnsjava:dnsjava:$dnsjava_version"
|
|
|
|
|
2018-10-28 12:49:13 +00:00
|
|
|
// https://github.com/open-keychain/openpgp-api
|
|
|
|
implementation "org.sufficientlysecure:openpgp-api:$openpgp_version"
|
|
|
|
|
2019-03-30 07:26:23 +00:00
|
|
|
// https://www.sqlite.org/changes.html
|
2018-11-09 07:38:07 +00:00
|
|
|
// https://github.com/requery/sqlite-android/
|
2019-04-24 17:23:53 +00:00
|
|
|
// https://mvnrepository.com/artifact/io.requery/sqlite-android?repo=jcenter
|
2018-11-09 07:38:07 +00:00
|
|
|
implementation "io.requery:sqlite-android:$requery_version"
|
|
|
|
|
2019-03-27 09:48:20 +00:00
|
|
|
// https://github.com/leolin310148/ShortcutBadger
|
2019-04-04 17:37:29 +00:00
|
|
|
// https://mvnrepository.com/artifact/me.leolin/ShortcutBadger
|
2019-03-27 09:48:20 +00:00
|
|
|
implementation "me.leolin:ShortcutBadger:$badge_version"
|
|
|
|
|
2019-04-19 06:31:00 +00:00
|
|
|
// https://github.com/chrisbanes/PhotoView
|
|
|
|
implementation "com.github.chrisbanes:PhotoView:$photoview_version"
|
|
|
|
|
2019-05-10 06:53:45 +00:00
|
|
|
// https://github.com/bugsnag/bugsnag-android
|
|
|
|
implementation "com.bugsnag:bugsnag-android:$bugsnag_version"
|
|
|
|
|
2019-05-18 09:19:39 +00:00
|
|
|
// https://github.com/mangstadt/biweekly
|
|
|
|
implementation("net.sf.biweekly:biweekly:$biweekly_version") {
|
|
|
|
exclude group: 'com.fasterxml.jackson.core', module: 'jackson-core'
|
|
|
|
}
|
|
|
|
|
2018-09-12 19:11:50 +00:00
|
|
|
// git clone https://android.googlesource.com/platform/frameworks/opt/colorpicker
|
2018-09-12 16:54:48 +00:00
|
|
|
implementation project(path: ':colorpicker')
|
2018-08-02 13:33:06 +00:00
|
|
|
}
|