Files
AuroraStore/app/build.gradle
Rahul Kumar Patel 6a6282a123 4.0.4
2021-04-06 22:39:56 +05:30

193 lines
5.9 KiB
Groovy

/*
* Aurora Store
* Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
*
* 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/>.
*
*/
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: "androidx.navigation.safeargs.kotlin"
android {
compileSdkVersion 30
buildToolsVersion "30.0.3"
defaultConfig {
applicationId "com.aurora.store"
minSdkVersion 19
targetSdkVersion 30
versionCode 35
versionName "4.0.4"
vectorDrawables.useSupportLibrary = true
multiDexEnabled true
}
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
}
kotlinOptions {
jvmTarget = '1.8'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
buildscript {
ext {
versions = [
okhttp3 : "4.9.0",
fetch2 : "3.1.6",
fuel : "2.3.0",
glide : "4.11.0",
lifecycle : "2.3.1",
navigation: "2.3.4",
epoxy : "4.3.1",
libsu : "3.0.2"
]
}
}
kapt {
correctErrorTypes = true
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
//MultiDex for Kitkat support
implementation("androidx.multidex:multidex:2.0.1")
//Protobuf
implementation("com.google.protobuf:protobuf-java:3.14.0")
//Apache's Goodies
implementation("commons-io:commons-io:2.8.0")
implementation("org.apache.commons:commons-text:1.8")
//Google's Goodies
implementation("com.google.android.material:material:1.3.0")
implementation("com.google.android:flexbox:2.0.1")
implementation("com.google.code.gson:gson:2.8.6")
//AndroidX
implementation("androidx.core:core-ktx:1.3.2")
implementation("androidx.viewpager2:viewpager2:1.0.0")
implementation("androidx.vectordrawable:vectordrawable:1.1.0")
implementation("androidx.preference:preference-ktx:1.1.1")
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
//Arch LifeCycle
implementation("androidx.lifecycle:lifecycle-extensions:2.2.0")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:${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.0")
//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.0")
//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.2.0")
//Lib-SU
implementation "com.github.topjohnwu.libsu:core:${versions.libsu}"
//Love <3
api("com.gitlab.AuroraOSS:gplayapi:12bb682648")
}
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
}