FairEmail/app/build.gradle

644 lines
28 KiB
Groovy
Raw Normal View History

2018-08-02 13:33:06 +00:00
apply plugin: 'com.android.application'
2020-10-15 12:01:13 +00:00
apply plugin: 'com.bugsnag.android.gradle'
2021-05-15 20:03:05 +00:00
apply plugin: 'kotlin-android'
apply plugin: 'de.undercouch.download'
2018-08-02 13:33:06 +00:00
2023-01-27 10:50:17 +00:00
def getVersionCode = { -> return 2034 }
2022-11-29 19:35:37 +00:00
def getRevision = { -> return "a" }
2023-01-08 17:01:24 +00:00
def getReleaseName = { -> return "Quetecsaurus" }
2020-10-16 20:30:11 +00:00
// https://en.wikipedia.org/wiki/List_of_dinosaur_genera
def keystoreProperties = new Properties()
2022-02-07 07:24:15 +00:00
keystoreProperties.load(new FileInputStream(rootProject.file("keystore.properties")))
2019-03-26 13:51:35 +00:00
2022-02-07 07:24:15 +00:00
Properties localProperties = new Properties()
2022-02-11 13:34:49 +00:00
if (rootProject.file("local.properties").exists())
localProperties.load(new FileInputStream(rootProject.file("local.properties")))
2018-08-02 13:33:06 +00:00
android {
2022-06-09 08:19:14 +00:00
compileSdkVersion 33
2022-05-10 20:53:56 +00:00
namespace 'eu.faircode.email'
2019-06-15 08:02:41 +00:00
2022-04-03 11:27:37 +00:00
// https://apilevels.com/
2018-08-02 13:33:06 +00:00
defaultConfig {
applicationId "eu.faircode.email"
2018-12-09 17:49:52 +00:00
minSdkVersion 21
2022-06-11 11:14:28 +00:00
targetSdkVersion 33
2020-10-16 20:30:11 +00:00
versionCode getVersionCode()
versionName "1." + getVersionCode()
2021-10-04 07:18:02 +00:00
archivesBaseName = "FairEmail-v$versionName" + getRevision()
2018-08-03 12:07:51 +00:00
2022-11-22 14:27:57 +00:00
manifestPlaceholders = [namespace: applicationId.replace('.debug', '')]
2021-10-04 07:18:02 +00:00
buildConfigField "String", "REVISION", "\"" + getRevision() + "\""
buildConfigField "String", "RELEASE_NAME", "\"" + getReleaseName() + "\""
2019-07-13 18:14:19 +00:00
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
2022-06-26 06:10:58 +00:00
// https://developer.android.com/ndk/downloads
2022-08-11 06:00:42 +00:00
ndkVersion "25.0.8775105" // r25
2019-06-15 08:02:41 +00:00
ndk {
2020-06-27 11:38:24 +00:00
// Bugsnag, sqlite
2022-08-11 06:00:42 +00:00
// https://developer.android.com/ndk/guides/abis
2019-06-15 08:02:41 +00:00
abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
}
2018-08-02 13:33:06 +00:00
}
2019-06-15 08:02:41 +00:00
2020-10-16 20:30:11 +00:00
sourceSets {
github {
2022-04-27 12:56:42 +00:00
java.srcDirs = ['src/main/java', 'src/play/java', 'src/extra/java']
2020-05-28 17:54:40 +00:00
}
2020-10-16 20:30:11 +00:00
fdroid {
2022-04-27 12:56:42 +00:00
java.srcDirs = ['src/main/java', 'src/fdroid/java', 'src/extra/java']
2020-06-13 18:08:33 +00:00
}
2020-10-16 20:30:11 +00:00
play {
2022-04-27 12:56:42 +00:00
java.srcDirs = ['src/main/java', 'src/play/java', 'src/dummy/java']
2020-10-16 20:30:11 +00:00
}
2021-12-29 11:29:54 +00:00
amazon {
2022-04-27 12:56:42 +00:00
java.srcDirs = ['src/main/java', 'src/amazon/java', 'src/extra/java']
2021-12-29 11:29:54 +00:00
}
2020-10-16 20:30:11 +00:00
main.res.srcDirs += 'src/main/resExtra'
2020-05-28 17:54:40 +00:00
}
2022-01-05 15:34:16 +00:00
lint {
2019-07-23 18:27:05 +00:00
abortOnError false
2022-01-05 15:34:16 +00:00
disable 'MissingTranslation'
2022-02-07 07:28:20 +00:00
enable 'StringFormatInvalid'
2019-07-23 18:27:05 +00:00
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
2020-10-14 18:54:28 +00:00
externalNativeBuild {
cmake {
2022-10-15 07:25:30 +00:00
version "3.22.1"
2020-10-14 18:54:28 +00:00
path "CMakeLists.txt"
}
}
2020-10-16 20:30:11 +00:00
dependenciesInfo {
includeInApk = false
includeInBundle = false
}
2019-07-23 18:27:05 +00:00
packagingOptions {
2021-12-14 07:11:48 +00:00
jniLibs {
excludes += [
'org/apache/**'
]
}
resources {
excludes += [
'LICENSES',
'META-INF/LICENSE.txt',
'META-INF/README.md',
'META-INF/CHANGES',
'META-INF/jersey-module-version',
'META-INF/COPYRIGHT.html',
'META-INF/LICENSE.gpl.txt',
'META-INF/LICENSE.commercial.txt',
'LICENSE-2.0.txt',
2022-08-11 08:16:29 +00:00
'RELEASE.txt',
'DebugProbesKt.bin',
'font_metrics.properties'
2021-12-14 07:11:48 +00:00
]
}
2019-07-23 18:27:05 +00:00
}
// https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.SigningConfig.html
signingConfigs {
2020-06-13 18:08:33 +00:00
release {
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
v1SigningEnabled true
v2SigningEnabled true
}
}
2018-08-02 13:33:06 +00:00
2020-10-16 20:30:11 +00:00
buildFeatures {
2021-01-19 16:54:32 +00:00
buildConfig = true
viewBinding = false
dataBinding = false
aidl = true
renderScript = false
resValues = false
shaders = false
compose = false
2020-10-16 20:30:11 +00:00
}
2018-08-02 13:33:06 +00:00
buildTypes {
2020-10-15 09:13:05 +00:00
// https://developer.android.com/studio/build/shrink-code
2020-06-13 18:08:33 +00:00
release {
debuggable = false
minifyEnabled = true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
2020-06-13 18:08:33 +00:00
signingConfig signingConfigs.release
2018-12-21 09:18:58 +00:00
}
2018-08-02 13:33:06 +00:00
debug {
2019-12-03 07:45:26 +00:00
applicationIdSuffix '.debug'
2018-09-04 18:06:22 +00:00
debuggable = true
2018-11-22 08:00:02 +00:00
minifyEnabled = 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 {
2020-06-13 18:08:33 +00:00
github {
2019-01-07 10:45:17 +00:00
dimension "all"
2022-05-11 12:41:39 +00:00
buildConfigField "boolean", "TEST_RELEASE", "false"
2019-02-07 19:49:14 +00:00
buildConfigField "boolean", "BETA_RELEASE", "true"
buildConfigField "boolean", "PLAY_STORE_RELEASE", "false"
2023-01-18 08:20:03 +00:00
buildConfigField "boolean", "FDROID_RELEASE", "false"
2021-06-28 14:39:55 +00:00
buildConfigField "boolean", "AMAZON_RELEASE", "false"
2019-02-07 19:49:14 +00:00
buildConfigField "String", "PRO_FEATURES_URI", "\"https://email.faircode.eu/donate/\""
2021-09-22 18:28:22 +00:00
buildConfigField "String", "CHANGELOG", "\"https://github.com/M66B/FairEmail/releases/\""
2020-10-02 09:02:14 +00:00
buildConfigField "String", "GITHUB_LATEST_API", "\"https://api.github.com/repos/M66B/FairEmail/releases/latest\""
buildConfigField "String", "GITHUB_LATEST_URI", "\"https://github.com/M66B/FairEmail/releases\""
2022-10-31 14:52:31 +00:00
buildConfigField "String", "BITBUCKET_DOWNLOADS_API", "\"https://api.bitbucket.org/2.0/repositories/M66B/fairemail-test/downloads\""
buildConfigField "String", "BITBUCKET_DOWNLOADS_URI", "\"https://bitbucket.org/M66B/fairemail-test/downloads/\""
2023-01-08 11:29:30 +00:00
buildConfigField "String", "ANNOUNCEMENT_URI", "\"https://gist.githubusercontent.com/M66B/d544192ca56224839d6ba0f2f6314c1f/raw/\""
2023-01-12 16:33:16 +00:00
buildConfigField "String", "CLOUD_URI", "\"https://api.fairemail.net/sync\""
2023-01-22 11:43:33 +00:00
buildConfigField "String", "CLOUD_EMAIL", "\"cloud@in.faircode.eu\""
2022-04-08 18:02:16 +00:00
buildConfigField "String", "TX_URI", localProperties.getProperty("paypal.uri", "\"\"")
2022-04-02 10:29:19 +00:00
buildConfigField "String", "GPA_URI", localProperties.getProperty("gpa.uri", "\"\"")
2022-04-08 14:24:10 +00:00
buildConfigField "String", "INFO_URI", localProperties.getProperty("info.uri", "\"\"")
2022-04-02 10:29:19 +00:00
buildConfigField "String", "DEV_DOMAIN", localProperties.getProperty("dev.domain", "\"\"")
2022-05-14 13:48:14 +00:00
buildConfigField "String", "FDROID", "\"https://f-droid.org/packages/%s/\""
2019-01-09 18:15:47 +00:00
}
2020-06-13 18:08:33 +00:00
fdroid {
2019-01-09 18:15:47 +00:00
dimension "all"
2022-01-02 08:04:32 +00:00
buildConfigField "boolean", "TEST_RELEASE", "false"
2019-02-07 19:49:14 +00:00
buildConfigField "boolean", "BETA_RELEASE", "true"
2020-06-13 18:08:33 +00:00
buildConfigField "boolean", "PLAY_STORE_RELEASE", "false"
2023-01-18 08:20:03 +00:00
buildConfigField "boolean", "FDROID_RELEASE", "true"
2021-06-28 14:39:55 +00:00
buildConfigField "boolean", "AMAZON_RELEASE", "false"
2020-06-13 18:08:33 +00:00
buildConfigField "String", "PRO_FEATURES_URI", "\"https://email.faircode.eu/donate/\""
2021-09-22 18:28:22 +00:00
buildConfigField "String", "CHANGELOG", "\"https://github.com/M66B/FairEmail/releases/\""
2020-10-02 09:02:14 +00:00
buildConfigField "String", "GITHUB_LATEST_API", "\"https://api.github.com/repos/M66B/FairEmail/releases/latest\""
buildConfigField "String", "GITHUB_LATEST_URI", "\"https://github.com/M66B/FairEmail/releases\""
2022-10-31 14:52:31 +00:00
buildConfigField "String", "BITBUCKET_DOWNLOADS_API", "\"https://api.bitbucket.org/2.0/repositories/M66B/fairemail-test/downloads\""
buildConfigField "String", "BITBUCKET_DOWNLOADS_URI", "\"https://bitbucket.org/M66B/fairemail-test/downloads/\""
2023-01-08 11:29:30 +00:00
buildConfigField "String", "ANNOUNCEMENT_URI", "\"https://gist.githubusercontent.com/M66B/d544192ca56224839d6ba0f2f6314c1f/raw/\""
2023-01-12 16:33:16 +00:00
buildConfigField "String", "CLOUD_URI", "\"https://api.fairemail.net/sync\""
2023-01-22 11:43:33 +00:00
buildConfigField "String", "CLOUD_EMAIL", "\"cloud@in.faircode.eu\""
2022-04-08 18:02:16 +00:00
buildConfigField "String", "TX_URI", "\"\""
2022-02-07 07:24:15 +00:00
buildConfigField "String", "GPA_URI", "\"\""
2022-04-08 14:24:10 +00:00
buildConfigField "String", "INFO_URI", "\"\""
2022-04-02 10:29:19 +00:00
buildConfigField "String", "DEV_DOMAIN", "\"\""
2022-05-14 13:48:14 +00:00
buildConfigField "String", "FDROID", "\"https://f-droid.org/packages/%s/\""
2018-08-02 13:33:06 +00:00
}
2020-06-13 18:08:33 +00:00
play {
2019-01-07 10:45:17 +00:00
dimension "all"
2022-04-08 10:20:39 +00:00
//minSdkVersion 23
2022-01-02 08:04:32 +00:00
buildConfigField "boolean", "TEST_RELEASE", "false"
2020-06-13 18:08:33 +00:00
buildConfigField "boolean", "BETA_RELEASE", "true"
2019-01-07 10:45:17 +00:00
buildConfigField "boolean", "PLAY_STORE_RELEASE", "true"
2023-01-18 08:20:03 +00:00
buildConfigField "boolean", "FDROID_RELEASE", "false"
2021-06-28 14:39:55 +00:00
buildConfigField "boolean", "AMAZON_RELEASE", "false"
buildConfigField "String", "PRO_FEATURES_URI", "\"https://email.faircode.eu/#pro\""
2021-09-22 18:28:22 +00:00
buildConfigField "String", "CHANGELOG", "\"\""
2021-06-28 14:39:55 +00:00
buildConfigField "String", "GITHUB_LATEST_API", "\"\""
buildConfigField "String", "GITHUB_LATEST_URI", "\"\""
2022-10-31 14:52:31 +00:00
buildConfigField "String", "BITBUCKET_DOWNLOADS_API", "\"\""
buildConfigField "String", "BITBUCKET_DOWNLOADS_URI", "\"\""
2023-01-08 11:29:30 +00:00
buildConfigField "String", "ANNOUNCEMENT_URI", "\"\""
2023-01-12 16:33:16 +00:00
buildConfigField "String", "CLOUD_URI", "\"\""
2023-01-22 11:43:33 +00:00
buildConfigField "String", "CLOUD_EMAIL", "\"\""
2022-04-08 18:02:16 +00:00
buildConfigField "String", "TX_URI", "\"\""
2022-02-07 07:24:15 +00:00
buildConfigField "String", "GPA_URI", "\"\""
2022-04-08 14:24:10 +00:00
buildConfigField "String", "INFO_URI", "\"\""
2022-04-02 10:29:19 +00:00
buildConfigField "String", "DEV_DOMAIN", "\"\""
2022-05-14 13:48:14 +00:00
buildConfigField "String", "FDROID", "\"\""
2021-06-28 14:39:55 +00:00
}
amazon {
dimension "all"
2022-04-03 11:27:37 +00:00
minSdkVersion 23
2022-01-02 08:04:32 +00:00
buildConfigField "boolean", "TEST_RELEASE", "false"
2021-06-28 14:39:55 +00:00
buildConfigField "boolean", "BETA_RELEASE", "true"
buildConfigField "boolean", "PLAY_STORE_RELEASE", "false"
2023-01-18 08:20:03 +00:00
buildConfigField "boolean", "FDROID_RELEASE", "false"
2021-06-28 14:39:55 +00:00
buildConfigField "boolean", "AMAZON_RELEASE", "true"
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-07 10:45:17 +00:00
buildConfigField "String", "GITHUB_LATEST_API", "\"\""
2020-10-02 09:02:14 +00:00
buildConfigField "String", "GITHUB_LATEST_URI", "\"\""
2022-10-31 14:52:31 +00:00
buildConfigField "String", "BITBUCKET_DOWNLOADS_API", "\"\""
buildConfigField "String", "BITBUCKET_DOWNLOADS_URI", "\"\""
2023-01-08 11:29:30 +00:00
buildConfigField "String", "ANNOUNCEMENT_URI", "\"\""
2023-01-12 16:33:16 +00:00
buildConfigField "String", "CLOUD_URI", "\"\""
2023-01-22 11:43:33 +00:00
buildConfigField "String", "CLOUD_EMAIL", "\"\""
2022-04-08 18:02:16 +00:00
buildConfigField "String", "TX_URI", "\"\""
2022-02-07 07:24:15 +00:00
buildConfigField "String", "GPA_URI", "\"\""
2022-04-08 14:24:10 +00:00
buildConfigField "String", "INFO_URI", "\"\""
2022-04-02 10:29:19 +00:00
buildConfigField "String", "DEV_DOMAIN", "\"\""
2022-05-14 13:48:14 +00:00
buildConfigField "String", "FDROID", "\"\""
2019-01-07 10:45:17 +00:00
}
2018-08-02 13:33:06 +00:00
}
variantFilter { variant ->
def flavors = variant.flavors*.name
2020-06-13 18:08:33 +00:00
// Builds: release, debug
// Flavors: github, fdroid, play
if (variant.buildType.name == "debug" &&
2021-06-28 14:39:55 +00:00
(flavors.contains("fdroid") || flavors.contains("play") || flavors.contains("_amazon"))) {
setIgnore(true)
}
}
2020-10-15 12:01:13 +00:00
2020-10-16 20:30:11 +00:00
// https://stackoverflow.com/questions/28948538/
applicationVariants.all { variant ->
2021-07-01 07:19:59 +00:00
if (variant.buildType.name == "debug")
variant.buildConfigField "String", "MXTOOLBOX_URI", "\"https://mxtoolbox.com\""
else
variant.buildConfigField "String", "MXTOOLBOX_URI", "\"\""
// $JAVA_HOME/bin/java -jar ~/Android/Sdk/tools/proguard/lib/retrace.jar ~/email/app/schemas/mapping/FairEmail-v1.nnn-github-release-mapping.txt
2020-10-16 20:30:11 +00:00
if (variant.getBuildType().isMinifyEnabled())
variant.assembleProvider.get().doLast {
for (file in variant.getMappingFileProvider().get().files)
if (file != null && file.exists()) {
def dir = "${rootDir}/app/schemas/mapping"
def name = "$archivesBaseName-$variant.baseName-$file.name"
def target = new File(dir, name)
if (!target.exists())
copy {
from file
into dir
rename { String fileName -> name }
}
}
}
}
2020-10-15 12:01:13 +00:00
bugsnag {
// https://docs.bugsnag.com/build-integrations/gradle/
uploadJvmMappings = false // disables upload of ProGuard/DexGuard/R8 mapping files
uploadNdkMappings = false // disables upload of NDK mapping files
reportBuilds = false // disables upload of build metadata
overwrite = true
builderName = "M66B"
sourceControl {
provider = "github-enterprise"
repository = "https://github.com/M66B/FairEmail"
}
}
2018-08-02 13:33:06 +00:00
}
task copyMarkdown(type: Copy) {
from "${rootDir}"
into "src/main/assets"
2021-09-17 17:57:10 +00:00
include "CHANGELOG.md"
include "SETUP.md"
2019-07-23 14:59:12 +00:00
include "ATTRIBUTION.md"
}
2021-09-18 19:56:47 +00:00
preBuild.dependsOn copyMarkdown
2021-09-18 19:56:47 +00:00
task copyChangelog(type: Copy) {
from "${rootDir}"
into "../metadata/en-US/changelogs"
include "CHANGELOG.md"
rename "CHANGELOG.md", getVersionCode() + ".txt"
2022-06-25 11:29:57 +00:00
filter { String line ->
line
.replaceAll(".*Google Translate.*", "--------------------")
.replaceAll("### ", "")
.replaceAll("## ", "")
2023-01-22 07:44:44 +00:00
.replaceAll("<img.*/>", "")
2022-06-25 11:29:57 +00:00
.replaceAll("\\(https.*\\)", "")
.replaceAll("\\[", "")
.replaceAll("\\]", "")
}
2021-09-18 19:56:47 +00:00
}
preBuild.dependsOn copyChangelog
2022-01-17 08:52:36 +00:00
task downloadPSL(type: Download) {
2021-09-03 08:35:57 +00:00
// https://github.com/michel-kraemer/gradle-download-task
src "https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat"
dest "src/main/assets"
overwrite true
}
2018-08-02 13:33:06 +00:00
repositories {
2018-10-12 08:33:23 +00:00
google()
2021-05-04 18:42:24 +00:00
mavenCentral()
2019-04-19 06:31:00 +00:00
maven { url "https://jitpack.io" }
2020-02-27 10:55:20 +00:00
//maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
2020-02-27 09:19:35 +00:00
//maven { url "https://jakarta.oss.sonatype.org/content/repositories/snapshots/" }
2018-08-02 13:33:06 +00:00
}
2019-06-29 19:18:24 +00:00
configurations.all {
// Workaround https://issuetracker.google.com/issues/138441698
// Support @69c481c39a17d4e1e44a4eb298bb81c48f226eef
2019-09-06 09:01:08 +00:00
exclude group: "androidx.room", module: "room-runtime"
2019-07-27 09:42:19 +00:00
// Workaround https://issuetracker.google.com/issues/134685570
2019-09-06 09:01:08 +00:00
exclude group: "androidx.lifecycle", module: "lifecycle-livedata"
2019-10-11 12:12:34 +00:00
exclude group: "androidx.lifecycle", module: "lifecycle-livedata-core"
// lifecycle-livedata: ComputableLiveData, MediatorLiveData, Transformations
// lifecycle-livedata-core: LiveData, MutableLiveData, Observer
// paging-runtime: AsyncPagedListDiffer, LivePagedListBuilder, PagedListAdapter, PagedStorageDiffHelper
2019-06-29 19:18:24 +00:00
}
2021-09-14 07:05:11 +00:00
configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == "org.apache.poi") {
details.useVersion "3.17"
}
}
}
2018-08-02 13:33:06 +00:00
dependencies {
2021-06-28 14:39:55 +00:00
//implementation fileTree(dir: 'libs', include: ['*.jar'])
2018-08-02 13:33:06 +00:00
2023-01-12 06:40:58 +00:00
def startup_version = "1.1.1" // 1.2.0-alpha02
2022-09-07 17:34:13 +00:00
def annotation_version_experimental = "1.3.0"
2023-01-25 18:21:07 +00:00
def core_version = "1.9.0" // 1.10.0-alpha02
2023-01-12 06:40:58 +00:00
def appcompat_version = "1.6.0" // 1.7.0-alpha01
2023-01-25 18:21:07 +00:00
def emoji_version = "1.2.0" // 1.3.0-beta01
def activity_version = "1.6.1" // 1.7.0-alpha04
2022-12-09 09:27:04 +00:00
def fragment_version = "1.5.5" // 1.6.0-alpha04
2022-11-09 21:28:59 +00:00
def windows_version = "1.0.0" // 1.1.0-alpha04
2023-01-25 18:21:07 +00:00
def webkit_version = "1.6.0" // 1.7.0-alpha01
2022-09-23 15:54:55 +00:00
def recyclerview_version = "1.3.0-rc01"
2022-02-04 15:52:57 +00:00
def coordinatorlayout_version = "1.2.0"
2023-01-25 18:21:07 +00:00
def constraintlayout_version = "2.1.4" // 2.2.0-alpha06
2022-10-29 14:15:46 +00:00
def material_version = "1.7.0"
2023-01-25 18:21:07 +00:00
def browser_version = "1.4.0" // 1.5.0-rc01
2022-02-04 15:52:57 +00:00
def lbm_version = "1.1.0"
2020-07-26 06:55:59 +00:00
def swiperefresh_version = "1.2.0-alpha01"
2021-08-24 06:32:25 +00:00
def documentfile_version = "1.1.0-alpha01"
2023-01-25 18:21:07 +00:00
def lifecycle_version = "2.5.1" // 2.6.0-alpha05
2020-08-23 10:55:03 +00:00
def lifecycle_extensions_version = "2.2.0"
2023-01-12 06:40:58 +00:00
def room_version = "2.4.3" // 2.5.0
def sqlite_version = "2.3.0"
2022-08-18 06:12:45 +00:00
def requery_version = "3.39.2"
2022-10-25 20:08:54 +00:00
def paging_version = "2.1.2" // 3.2.0-alpha03
2022-02-04 15:52:57 +00:00
def preference_version = "1.2.0"
2022-12-09 09:27:04 +00:00
def work_version = "2.8.0-rc01"
2022-10-25 20:08:54 +00:00
def exif_version = "1.3.5"
2022-09-23 07:45:04 +00:00
def biometric_version = "1.2.0-alpha05"
2022-03-12 08:38:05 +00:00
def billingclient_version = "4.1.0"
2021-04-27 07:20:49 +00:00
def javamail_version = "1.6.7"
2022-09-07 17:41:25 +00:00
def jsoup_version = "1.15.3"
2021-01-17 09:55:48 +00:00
def css_version = "0.9.29"
2020-04-20 13:01:05 +00:00
def jax_version = "2.3.0-jaxb-1.0.6"
2020-04-15 19:03:40 +00:00
def dnsjava_version = "2.1.9"
2018-10-28 12:49:13 +00:00
def openpgp_version = "12.0"
2019-03-27 09:48:20 +00:00
def badge_version = "1.1.22"
2022-11-12 20:57:15 +00:00
def bugsnag_version = "5.28.2"
2021-01-17 09:55:48 +00:00
def biweekly_version = "0.6.6"
def vcard_version = "0.11.3"
2022-07-19 11:35:43 +00:00
def relinker_version = "1.4.5"
2021-03-05 20:24:34 +00:00
def markwon_version = "4.6.2"
2022-07-30 07:40:21 +00:00
def bouncycastle_version = "1.71"
2019-12-08 19:15:33 +00:00
def colorpicker_version = "0.0.15"
2021-05-04 18:42:24 +00:00
def overscroll_version = "1.1.1"
2022-08-13 13:19:25 +00:00
def appauth_version = "0.11.1"
2020-03-20 18:12:18 +00:00
def jcharset_version = "2.1"
2021-03-05 20:24:34 +00:00
def apache_poi = "3.17" // Do not update
2022-02-11 13:06:27 +00:00
def outlook_parser_version = "1.7.13" // Do not update
2021-05-21 21:11:58 +00:00
def reactivestreams_version = "1.0.3"
def rxjava2_version = "2.2.21"
2021-07-12 21:37:29 +00:00
def svg_version = "1.4"
2022-11-12 20:44:20 +00:00
def compress_version = "1.22"
2022-05-11 10:10:40 +00:00
def ipaddress_version = "5.3.4"
2022-11-12 20:43:01 +00:00
def canary_version = "2.10"
2022-07-31 12:11:13 +00:00
def ws_version = "2.14"
2018-08-07 05:30:15 +00:00
2021-05-19 13:46:01 +00:00
// https://developer.android.com/jetpack/androidx/releases/startup
implementation "androidx.startup:startup-runtime:$startup_version"
2019-03-27 13:50:47 +00:00
// https://developer.android.com/jetpack/androidx/releases/
2021-11-08 16:55:00 +00:00
implementation "androidx.annotation:annotation-experimental:$annotation_version_experimental"
2019-09-14 15:39:08 +00:00
// https://mvnrepository.com/artifact/androidx.core/core
implementation "androidx.core:core:$core_version"
2018-11-10 09:09:56 +00:00
// https://mvnrepository.com/artifact/androidx.appcompat/appcompat
2021-10-28 09:33:36 +00:00
// https://mvnrepository.com/artifact/androidx.emoji2/emoji2
2020-10-01 20:40:02 +00:00
// https://mvnrepository.com/artifact/androidx.activity/activity
2019-08-21 17:12:19 +00:00
// https://mvnrepository.com/artifact/androidx.fragment/fragment
2022-05-10 09:11:37 +00:00
// https://mvnrepository.com/artifact/androidx.window/window-java
2018-11-13 15:03:20 +00:00
implementation "androidx.appcompat:appcompat:$appcompat_version"
2021-10-28 09:33:36 +00:00
implementation "androidx.emoji2:emoji2:$emoji_version"
2020-10-01 20:40:02 +00:00
implementation "androidx.activity:activity:$activity_version"
2019-08-11 19:08:26 +00:00
implementation "androidx.fragment:fragment:$fragment_version"
2022-05-10 09:11:37 +00:00
implementation "androidx.window:window-java:$windows_version"
2018-11-10 09:09:56 +00:00
2021-01-23 14:08:22 +00:00
// https://developer.android.com/jetpack/androidx/releases/webkit
// https://mvnrepository.com/artifact/androidx.webkit/webkit
implementation "androidx.webkit:webkit:$webkit_version"
2020-04-20 14:58:16 +00:00
// https://mvnrepository.com/artifact/androidx.viewpager2/viewpager2
2020-05-19 09:10:59 +00:00
//implementation "androidx.viewpager2:viewpager2:1.1.0-alpha01"
2020-04-20 14:58:16 +00:00
2018-11-10 09:09:56 +00:00
// https://mvnrepository.com/artifact/androidx.recyclerview/recyclerview
// https://mvnrepository.com/artifact/androidx.recyclerview/recyclerview-selection
2018-11-13 14:33:41 +00:00
implementation "androidx.recyclerview:recyclerview:$recyclerview_version"
2021-05-08 06:16:36 +00:00
//implementation "androidx.recyclerview:recyclerview-selection:1.1.0" // 1.2.0-alpha01
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
// 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
2019-09-14 11:30:34 +00:00
// https://mvnrepository.com/artifact/androidx.localbroadcastmanager/localbroadcastmanager
implementation "androidx.localbroadcastmanager:localbroadcastmanager:$lbm_version"
// https://mvnrepository.com/artifact/androidx.swiperefreshlayout/swiperefreshlayout
implementation "androidx.swiperefreshlayout:swiperefreshlayout:$swiperefresh_version"
// https://mvnrepository.com/artifact/androidx.documentfile/documentfile
implementation "androidx.documentfile:documentfile:$documentfile_version"
2018-11-10 09:09:56 +00:00
// https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-runtime
2019-07-06 08:46:15 +00:00
// https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-livedata
// https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-livedata-core
2023-01-11 18:43:27 +00:00
// https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-viewmodel-savedstate
2020-08-23 10:55:03 +00:00
// https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-compiler
implementation "androidx.lifecycle:lifecycle-runtime:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-livedata:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-livedata-core:$lifecycle_version"
2023-01-11 18:43:27 +00:00
implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version"
2018-08-23 09:48:27 +00:00
annotationProcessor "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
2020-08-23 10:55:03 +00:00
// https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-extensions
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_extensions_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"
implementation "androidx.room:room-common:$room_version" // because of exclude
// https://mvnrepository.com/artifact/androidx.sqlite/sqlite-framework
2019-12-08 18:33:02 +00:00
implementation "androidx.sqlite:sqlite-framework:$sqlite_version" // because of exclude
2018-08-23 09:48:27 +00:00
annotationProcessor "androidx.room:room-compiler:$room_version"
2021-04-27 07:26:28 +00:00
// https://www.sqlite.org/changes.html
// https://github.com/requery/sqlite-android/
2021-04-27 07:32:51 +00:00
// https://jitpack.io/#requery/sqlite-android
2022-09-24 07:22:13 +00:00
//implementation "com.github.requery:sqlite-android:$requery_version"
2022-09-26 07:01:55 +00:00
//implementation project(':sqlite-android')
2021-04-27 07:26:28 +00:00
2018-11-10 09:09:56 +00:00
// https://mvnrepository.com/artifact/androidx.paging/paging-runtime
2020-06-01 06:40:04 +00:00
// https://developer.android.com/jetpack/androidx/releases/paging
//implementation "androidx.paging:paging-runtime:$paging_version"
2019-09-14 11:44:19 +00:00
2019-03-15 13:54:25 +00:00
// https://mvnrepository.com/artifact/androidx.preference/preference
2022-05-11 18:03:58 +00:00
implementation("androidx.preference:preference:$preference_version") {
exclude group: "androidx.fragment", module: "fragment-ktx"
}
2019-03-15 13:54:25 +00:00
2019-09-14 11:44:19 +00:00
// https://mvnrepository.com/artifact/androidx.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"
2019-07-10 15:58:26 +00:00
// https://mvnrepository.com/artifact/androidx.biometric/biometric
// https://developer.android.com/jetpack/androidx/releases/biometric
implementation "androidx.biometric:biometric:$biometric_version"
2018-11-10 09:09:56 +00:00
// https://developer.android.com/google/play/billing/billing_library_releases_notes
2020-06-13 16:51:15 +00:00
// https://android-developers.googleblog.com/2020/06/meet-google-play-billing-library.html
githubImplementation "com.android.billingclient:billing:$billingclient_version"
playImplementation "com.android.billingclient:billing:$billingclient_version"
2018-08-25 13:32:52 +00:00
2021-06-28 14:39:55 +00:00
// https://developer.amazon.com/docs/in-app-purchasing/iap-get-started.html
amazonImplementation files('lib/in-app-purchasing-2.0.76.jar')
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
2020-06-13 19:44:18 +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
2019-10-13 12:40:41 +00:00
// https://jsoup.org/news/
2020-06-27 09:17:10 +00:00
// https://mvnrepository.com/artifact/org.jsoup/jsoup
2018-08-07 05:30:15 +00:00
implementation "org.jsoup:jsoup:$jsoup_version"
2018-08-08 05:02:25 +00:00
2020-04-20 13:01:05 +00:00
// http://cssparser.sourceforge.net/
// https://mvnrepository.com/artifact/net.sourceforge.cssparser/cssparser
implementation "net.sourceforge.cssparser:cssparser:$css_version"
// https://github.com/eclipse-ee4j/jaxb-ri
// https://mvnrepository.com/artifact/org.w3c/dom
implementation "org.w3c:dom:$jax_version"
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
2019-11-15 16:55:35 +00:00
// https://mvnrepository.com/artifact/org.sufficientlysecure/openpgp-api
2019-12-24 18:20:16 +00:00
//implementation "org.sufficientlysecure:openpgp-api:$openpgp_version"
implementation project(':openpgp-api')
2018-10-28 12:49:13 +00:00
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-05-10 06:53:45 +00:00
// https://github.com/bugsnag/bugsnag-android
2021-01-17 09:55:48 +00:00
// https://mvnrepository.com/artifact/com.bugsnag/bugsnag-android
implementation("com.bugsnag:bugsnag-android:$bugsnag_version") {
2021-11-07 09:20:00 +00:00
exclude group: "com.bugsnag", module: "bugsnag-plugin-android-anr"
exclude group: "com.bugsnag", module: "bugsnag-plugin-android-ndk"
2021-05-15 20:03:05 +00:00
exclude group: "com.bugsnag", module: "bugsnag-android-core"
2019-07-22 17:06:09 +00:00
}
2019-05-10 06:53:45 +00:00
2019-05-18 09:19:39 +00:00
// https://github.com/mangstadt/biweekly
2021-01-17 09:55:48 +00:00
// https://mvnrepository.com/artifact/net.sf.biweekly/biweekly
2019-05-18 09:19:39 +00:00
implementation("net.sf.biweekly:biweekly:$biweekly_version") {
exclude group: 'com.fasterxml.jackson.core', module: 'jackson-core'
}
// https://github.com/mangstadt/ez-vcard
implementation "com.googlecode.ez-vcard:ez-vcard:$vcard_version"
2019-07-17 10:21:17 +00:00
// https://github.com/KeepSafe/ReLinker
2021-05-04 18:42:24 +00:00
// https://mvnrepository.com/artifact/com.getkeepsafe.relinker/relinker
2022-09-27 11:30:35 +00:00
//implementation "com.getkeepsafe.relinker:relinker:$relinker_version"
2019-07-17 10:21:17 +00:00
// https://github.com/noties/Markwon
2021-01-17 09:55:48 +00:00
// https://mvnrepository.com/artifact/io.noties.markwon/core
implementation "io.noties.markwon:core:$markwon_version"
2021-06-26 09:34:56 +00:00
implementation "io.noties.markwon:html:$markwon_version"
2019-10-06 18:09:19 +00:00
// // https://github.com/QuadFlask/colorpicker
2023-01-19 19:04:52 +00:00
//implementation "com.github.QuadFlask:colorpicker:$colorpicker_version"
implementation project(':colorpicker')
2019-10-20 16:25:21 +00:00
2020-07-21 12:48:07 +00:00
// https://github.com/EverythingMe/overscroll-decor
2021-06-01 05:36:01 +00:00
// https://search.maven.org/artifact/io.github.everythingme/overscroll-decor-android
2021-05-04 18:42:24 +00:00
implementation "io.github.everythingme:overscroll-decor-android:$overscroll_version"
2020-07-21 12:48:07 +00:00
2020-04-15 17:23:02 +00:00
// https://www.bouncycastle.org/latest_releases.html
2019-12-02 09:03:46 +00:00
// https://mvnrepository.com/artifact/org.bouncycastle/bcpkix-jdk15on
2019-12-03 16:26:05 +00:00
implementation "org.bouncycastle:bcpkix-jdk15to18:$bouncycastle_version"
2019-12-20 11:20:50 +00:00
// https://github.com/openid/AppAuth-Android
2022-08-13 13:19:25 +00:00
// https://mvnrepository.com/artifact/net.openid/appauth
2019-12-20 11:20:50 +00:00
implementation "net.openid:appauth:$appauth_version"
2020-03-20 18:12:18 +00:00
// http://www.freeutils.net/source/jcharset/
2020-04-15 17:23:02 +00:00
// https://mvnrepository.com/artifact/net.freeutils/jcharset
2020-03-20 18:12:18 +00:00
implementation "net.freeutils:jcharset:$jcharset_version"
2020-10-17 19:05:37 +00:00
// https://poi.apache.org/components/hmef/index.html
// https://mvnrepository.com/artifact/org.apache.poi/poi-scratchpad
implementation "org.apache.poi:poi-scratchpad:$apache_poi"
2021-05-21 21:11:58 +00:00
2021-09-14 07:05:11 +00:00
// https://github.com/bbottema/outlook-message-parser
2022-02-04 16:45:14 +00:00
implementation("org.simplejavamail:outlook-message-parser:$outlook_parser_version") {
exclude group: "com.sun.activation", module: "jakarta.activation"
}
2021-09-14 07:05:11 +00:00
2021-05-21 21:11:58 +00:00
// https://mvnrepository.com/artifact/org.reactivestreams/reactive-streams
// https://mvnrepository.com/artifact/io.reactivex.rxjava2/rxjava
implementation "org.reactivestreams:reactive-streams:$reactivestreams_version"
implementation "io.reactivex.rxjava2:rxjava:$rxjava2_version"
2021-07-12 21:37:29 +00:00
// http://bigbadaboom.github.io/androidsvg/
implementation "com.caverock:androidsvg:$svg_version"
2022-03-11 11:20:39 +00:00
// https://commons.apache.org/proper/commons-compress/
// https://mvnrepository.com/artifact/org.apache.commons/commons-compress
implementation "org.apache.commons:commons-compress:$compress_version"
2022-04-12 19:16:04 +00:00
2022-05-11 10:10:40 +00:00
// https://seancfoley.github.io/IPAddress/
// https://mvnrepository.com/artifact/com.github.seancfoley/ipaddress
implementation "com.github.seancfoley:ipaddress:$ipaddress_version"
2022-07-06 18:48:41 +00:00
// https://mvnrepository.com/artifact/androidx.car.app/app?repo=google
// implementation "androidx.car.app:app:1.2.0-rc01"
2022-04-12 19:16:04 +00:00
// https://github.com/square/leakcanary
// https://square.github.io/leakcanary/getting_started/
2022-11-12 20:43:01 +00:00
// https://square.github.io/leakcanary/changelog/
2022-04-12 19:16:04 +00:00
// https://mvnrepository.com/artifact/com.squareup.leakcanary/leakcanary-android
2022-04-23 20:46:59 +00:00
debugImplementation "com.squareup.leakcanary:leakcanary-android:$canary_version"
2022-07-31 12:11:13 +00:00
// https://github.com/TakahikoKawasaki/nv-websocket-client
implementation "com.neovisionaries:nv-websocket-client:$ws_version"
2018-08-02 13:33:06 +00:00
}