Files
APKDownloader/app/build.gradle
Aayush Gupta d9f1b36e3a Enable java language 17 features
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2023-05-08 14:25:07 +05:30

213 lines
6.4 KiB
Groovy

/*
* Aurora Store
* Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
* Copyright (C) 2022, The Calyx Institute
*
* Aurora Store is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* Aurora Store is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
*
*/
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'org.jetbrains.kotlin.kapt'
id 'androidx.navigation.safeargs.kotlin'
id "org.jlleitschuh.gradle.ktlint"
}
project.ext {
versions = [
okhttp3 : "4.11.0",
fetch2 : "3.1.6",
fuel : "2.3.1",
glide : "4.15.1",
lifecycle : '2.6.1',
navigation: '2.5.3',
epoxy : "5.1.1",
libsu : "3.0.2"
]
}
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(17))
}
}
android {
namespace 'com.aurora.store'
compileSdk 33
defaultConfig {
applicationId "com.aurora.store"
minSdk 19
targetSdk 33
versionCode 44
versionName "4.2.2"
vectorDrawables.useSupportLibrary = true
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
signingConfigs {
release
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
zipAlignEnabled true
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
nightly {
initWith release
applicationIdSuffix = ".nightly"
}
debug {
applicationIdSuffix = ".debug"
}
}
buildFeatures {
viewBinding true
aidl true
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_17.toString()
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
lint {
lintConfig file("lint.xml")
}
}
kapt {
correctErrorTypes = true
}
dependencies {
//MultiDex for Kitkat support
implementation "androidx.multidex:multidex:2.0.1"
//Protobuf
implementation "com.google.protobuf:protobuf-javalite:3.22.3"
//Apache's Goodies
implementation "commons-io:commons-io:2.11.0"
implementation "org.apache.commons:commons-text:1.10.0"
//Google's Goodies
implementation "com.google.android.material:material:1.8.0"
implementation "com.google.android.flexbox:flexbox:3.0.0"
implementation "com.google.code.gson:gson:2.10.1"
//AndroidX
implementation "androidx.core:core-ktx:1.10.0"
implementation "androidx.viewpager2:viewpager2:1.0.0"
implementation "androidx.vectordrawable:vectordrawable:1.1.0"
implementation "androidx.preference:preference-ktx:1.2.0"
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
//Arch LifeCycle
implementation "androidx.lifecycle:lifecycle-runtime-ktx:${versions.lifecycle}"
implementation "androidx.lifecycle:lifecycle-service:${versions.lifecycle}"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:${versions.lifecycle}"
implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:${versions.lifecycle}"
//Arch Navigation
implementation "androidx.navigation:navigation-fragment-ktx:${versions.navigation}"
implementation "androidx.navigation:navigation-runtime-ktx:${versions.navigation}"
implementation "androidx.navigation:navigation-ui-ktx:${versions.navigation}"
//UI Addons
implementation "com.github.florent37:expansionpanel:1.2.4"
//Easy Permission
implementation "com.github.quickpermissions:quickpermissions-kotlin:0.4.1"
//Glide
implementation "com.github.bumptech.glide:glide:${versions.glide}"
kapt "com.github.bumptech.glide:compiler:${versions.glide}"
//Shimmer
implementation "com.facebook.shimmer:shimmer:0.5.0"
//Epoxy
implementation "com.airbnb.android:epoxy:${versions.epoxy}"
kapt "com.airbnb.android:epoxy-processor:${versions.epoxy}"
//Merlin
implementation "com.novoda:merlin:1.2.1"
//HTTP Clients
implementation "com.github.kittinunf.fuel:fuel:${versions.fuel}"
implementation "com.squareup.okhttp3:okhttp:${versions.okhttp3}"
//Fetch - Downloader
implementation "androidx.tonyodev.fetch2:xfetch2:${versions.fetch2}"
//Kovenant
implementation "nl.komponents.kovenant:kovenant:3.3.0"
implementation "nl.komponents.kovenant:kovenant-android:3.3.0"
//EventBus
implementation "org.greenrobot:eventbus:3.3.1"
//Lib-SU
implementation "com.github.topjohnwu.libsu:core:${versions.libsu}"
//Love <3
implementation "com.gitlab.AuroraOSS:gplayapi:3.1.0"
//Browser
implementation 'androidx.browser:browser:1.5.0'
//Test
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}
Properties props = new Properties()
def propFile = new File("signing.properties")
if (propFile.canRead()) {
props.load(new FileInputStream(propFile))
if (props != null && props.containsKey("STORE_FILE") && props.containsKey("STORE_PASSWORD") &&
props.containsKey("KEY_ALIAS") && props.containsKey("KEY_PASSWORD")) {
android.signingConfigs.release.storeFile = file(props["STORE_FILE"])
android.signingConfigs.release.storePassword = props["STORE_PASSWORD"]
android.signingConfigs.release.keyAlias = props["KEY_ALIAS"]
android.signingConfigs.release.keyPassword = props["KEY_PASSWORD"]
} else {
println "signing.properties found but some entries are missing"
android.buildTypes.release.signingConfig = null
}
} else {
println "signing.properties not found"
android.buildTypes.release.signingConfig = null
}