mirror of https://github.com/M66B/FairEmail.git
180 lines
6.5 KiB
Groovy
180 lines
6.5 KiB
Groovy
apply plugin: 'com.android.application'
|
|
|
|
def keystorePropertiesFile = rootProject.file("keystore.properties")
|
|
def keystoreProperties = new Properties()
|
|
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
|
|
|
|
android {
|
|
compileSdkVersion 28
|
|
defaultConfig {
|
|
applicationId "eu.faircode.email"
|
|
minSdkVersion 21
|
|
targetSdkVersion 28
|
|
versionCode 285
|
|
versionName "1.285"
|
|
archivesBaseName = "FairEmail-v$versionName"
|
|
|
|
javaCompileOptions {
|
|
annotationProcessorOptions {
|
|
arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
|
|
}
|
|
}
|
|
}
|
|
signingConfigs {
|
|
release {
|
|
storeFile file(keystoreProperties['storeFile'])
|
|
storePassword keystoreProperties['storePassword']
|
|
keyAlias keystoreProperties['keyAlias']
|
|
keyPassword keystoreProperties['keyPassword']
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
debuggable = false
|
|
minifyEnabled = true
|
|
useProguard = true
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
signingConfig signingConfigs.release
|
|
}
|
|
debug {
|
|
debuggable = true
|
|
minifyEnabled = false
|
|
useProguard = false
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
|
|
flavorDimensions "all"
|
|
|
|
productFlavors {
|
|
full {
|
|
dimension "all"
|
|
buildConfigField "boolean", "PLAY_STORE_RELEASE", "false"
|
|
buildConfigField "String", "PRO_FEATURES", "\"https://email.faircode.eu/donate/\""
|
|
buildConfigField "String", "GITHUB_LATEST_API", "\"https://api.github.com/repos/M66B/open-source-email/releases/latest\""
|
|
buildConfigField "boolean", "BETA_RELEASE", "true"
|
|
}
|
|
play_beta {
|
|
dimension "all"
|
|
buildConfigField "boolean", "PLAY_STORE_RELEASE", "true"
|
|
buildConfigField "String", "PRO_FEATURES", "\"https://email.faircode.eu/#pro\""
|
|
buildConfigField "String", "GITHUB_LATEST_API", "\"\""
|
|
buildConfigField "boolean", "BETA_RELEASE", "true"
|
|
}
|
|
play_release {
|
|
dimension "all"
|
|
buildConfigField "boolean", "PLAY_STORE_RELEASE", "true"
|
|
buildConfigField "String", "PRO_FEATURES", "\"https://email.faircode.eu/#pro\""
|
|
buildConfigField "String", "GITHUB_LATEST_API", "\"\""
|
|
buildConfigField "boolean", "BETA_RELEASE", "false"
|
|
}
|
|
}
|
|
|
|
lintOptions {
|
|
disable 'MissingTranslation'
|
|
abortOnError false
|
|
}
|
|
|
|
packagingOptions {
|
|
pickFirst 'META-INF/LICENSE.txt'
|
|
|
|
// keep lib/armeabi-v7a/libsqlite3x.so
|
|
// keep lib/arm64-v8a/libsqlite3x.so
|
|
// keep lib/x86/libsqlite3x.so
|
|
// keep lib/x86_64/libsqlite3x.so
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
google()
|
|
jcenter()
|
|
maven {
|
|
url "https://repo1.maven.org/maven2/"
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
|
|
|
def appcompat_version = "1.0.2"
|
|
def recyclerview_version = "1.0.0"
|
|
def coordinatorlayout_version = "1.0.0"
|
|
def constraintlayout_version = "1.1.3"
|
|
def material_version = "1.0.0"
|
|
def browser_version = "1.0.0"
|
|
def lifecycle_version = "2.0.0"
|
|
def room_version = "2.0.0"
|
|
def paging_version = "2.0.0"
|
|
def billingclient_version = "1.2"
|
|
def javamail_version = "1.6.3"
|
|
def jsoup_version = "1.11.3"
|
|
def jcharset_version = "2.0"
|
|
def icu4j_version = "63.1"
|
|
def dnsjava_version = "2.1.8"
|
|
def openpgp_version = "12.0"
|
|
def requery_version = "3.26.0"
|
|
|
|
// https://developer.android.com/topic/libraries/support-library/androidx-rn
|
|
// https://developer.android.com/jetpack/docs/release-notes
|
|
|
|
// https://mvnrepository.com/artifact/androidx.appcompat/appcompat
|
|
implementation "androidx.appcompat:appcompat:$appcompat_version"
|
|
|
|
// https://mvnrepository.com/artifact/androidx.recyclerview/recyclerview
|
|
implementation "androidx.recyclerview:recyclerview:$recyclerview_version"
|
|
implementation "androidx.recyclerview:recyclerview-selection:$recyclerview_version"
|
|
|
|
// https://mvnrepository.com/artifact/androidx.coordinatorlayout/coordinatorlayout
|
|
implementation "androidx.coordinatorlayout:coordinatorlayout:$coordinatorlayout_version"
|
|
|
|
// https://mvnrepository.com/artifact/androidx.constraintlayout/constraintlayout
|
|
implementation "androidx.constraintlayout:constraintlayout:$constraintlayout_version"
|
|
|
|
// https://mvnrepository.com/artifact/com.google.android.material/material
|
|
implementation "com.google.android.material:material:$material_version"
|
|
|
|
// https://mvnrepository.com/artifact/androidx.browser/browser
|
|
implementation "androidx.browser:browser:$browser_version"
|
|
|
|
// https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-runtime
|
|
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
|
|
annotationProcessor "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
|
|
|
|
// https://mvnrepository.com/artifact/androidx.room/room-runtime
|
|
implementation "androidx.room:room-runtime:$room_version"
|
|
annotationProcessor "androidx.room:room-compiler:$room_version"
|
|
|
|
// https://mvnrepository.com/artifact/androidx.paging/paging-runtime
|
|
implementation "androidx.paging:paging-runtime:$paging_version"
|
|
|
|
// https://developer.android.com/google/play/billing/billing_library_releases_notes
|
|
implementation "com.android.billingclient:billing:$billingclient_version"
|
|
|
|
// https://javaee.github.io/javamail/
|
|
// https://projects.eclipse.org/projects/ee4j.javamail
|
|
implementation "com.sun.mail:android-mail:$javamail_version"
|
|
implementation "com.sun.mail:android-activation:$javamail_version"
|
|
|
|
// https://jsoup.org/
|
|
implementation "org.jsoup:jsoup:$jsoup_version"
|
|
|
|
// http://www.freeutils.net/source/jcharset/
|
|
//implementation "net.freeutils:jcharset:$jcharset_version"
|
|
|
|
// https://mvnrepository.com/artifact/com.ibm.icu/icu4j
|
|
//implementation "com.ibm.icu:icu4j:$icu4j_version"
|
|
|
|
// http://www.xbill.org/dnsjava/
|
|
implementation "dnsjava:dnsjava:$dnsjava_version"
|
|
|
|
// https://github.com/open-keychain/openpgp-api
|
|
implementation "org.sufficientlysecure:openpgp-api:$openpgp_version"
|
|
|
|
// https://github.com/requery/sqlite-android/
|
|
implementation "io.requery:sqlite-android:$requery_version"
|
|
|
|
// git clone https://android.googlesource.com/platform/frameworks/opt/colorpicker
|
|
implementation project(path: ':colorpicker')
|
|
}
|