mirror of https://github.com/beemdevelopment/Aegis
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
175 lines
6.5 KiB
Groovy
175 lines
6.5 KiB
Groovy
apply plugin: 'com.android.application'
|
|
apply plugin: 'com.google.protobuf'
|
|
|
|
def getCmdOutput = { cmd ->
|
|
def stdout = new ByteArrayOutputStream()
|
|
exec {
|
|
commandLine cmd
|
|
standardOutput = stdout
|
|
}
|
|
return stdout.toString().trim()
|
|
}
|
|
|
|
def getGitHash = { -> return getCmdOutput(["git", "rev-parse", "--short", "HEAD"]) }
|
|
def getGitBranch = { -> return getCmdOutput(["git", "rev-parse", "--abbrev-ref", "HEAD"]) }
|
|
|
|
def packageName = "com.beemdevelopment.aegis"
|
|
def fileProviderAuthority = "${packageName}.fileprovider"
|
|
def fileProviderAuthorityDebug = "${packageName}.debug.fileprovider"
|
|
|
|
android {
|
|
compileSdkVersion 30
|
|
|
|
defaultConfig {
|
|
applicationId "${packageName}"
|
|
minSdkVersion 21
|
|
targetSdkVersion 30
|
|
versionCode 43
|
|
versionName "1.4"
|
|
multiDexEnabled true
|
|
buildConfigField "String", "GIT_HASH", "\"${getGitHash()}\""
|
|
buildConfigField "String", "GIT_BRANCH", "\"${getGitBranch()}\""
|
|
|
|
testInstrumentationRunner "com.beemdevelopment.aegis.AegisTestRunner"
|
|
testInstrumentationRunnerArguments clearPackageData: 'true'
|
|
}
|
|
|
|
lintOptions {
|
|
abortOnError true
|
|
disable "MissingTranslation"
|
|
}
|
|
|
|
testOptions {
|
|
execution 'ANDROIDX_TEST_ORCHESTRATOR'
|
|
|
|
unitTests.all {
|
|
useJUnitPlatform()
|
|
|
|
ignoreFailures false
|
|
testLogging {
|
|
events "passed", "skipped", "failed", "standardOut", "standardError"
|
|
}
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
applicationIdSuffix ".debug"
|
|
manifestPlaceholders = [
|
|
title: "AegisDev",
|
|
iconName: "ic_launcher_debug",
|
|
fileProviderAuthority: "${fileProviderAuthorityDebug}"
|
|
]
|
|
buildConfigField("String", "FILE_PROVIDER_AUTHORITY", "\"${fileProviderAuthorityDebug}\"")
|
|
resValue "bool", "pref_secure_screen_default", "false"
|
|
postprocessing {
|
|
removeUnusedCode true
|
|
removeUnusedResources true
|
|
obfuscate false
|
|
optimizeCode false
|
|
proguardFiles getDefaultProguardFile('proguard-defaults.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
release {
|
|
manifestPlaceholders = [
|
|
title: "Aegis",
|
|
iconName: "ic_launcher",
|
|
fileProviderAuthority: "${fileProviderAuthority}"
|
|
]
|
|
buildConfigField("String", "FILE_PROVIDER_AUTHORITY", "\"${fileProviderAuthority}\"")
|
|
resValue "bool", "pref_secure_screen_default", "true"
|
|
postprocessing {
|
|
removeUnusedCode true
|
|
removeUnusedResources true
|
|
obfuscate false
|
|
optimizeCode true
|
|
proguardFiles getDefaultProguardFile('proguard-defaults.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
}
|
|
|
|
compileOptions {
|
|
targetCompatibility 1.8
|
|
sourceCompatibility 1.8
|
|
coreLibraryDesugaringEnabled true
|
|
}
|
|
}
|
|
|
|
protobuf {
|
|
protoc {
|
|
artifact = 'com.google.protobuf:protoc:3.8.0'
|
|
}
|
|
generateProtoTasks {
|
|
all().each { task ->
|
|
task.builtins {
|
|
java {
|
|
option "lite"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
def cameraxVersion = '1.0.0-rc01'
|
|
def glideVersion = '4.11.0'
|
|
def guavaVersion = '30.1'
|
|
def junitVersion = '5.7.0'
|
|
def libsuVersion = '3.0.2'
|
|
|
|
annotationProcessor 'androidx.annotation:annotation:1.1.0'
|
|
annotationProcessor "com.github.bumptech.glide:compiler:${glideVersion}"
|
|
|
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
|
implementation "androidx.biometric:biometric:1.0.1"
|
|
implementation "androidx.camera:camera-camera2:$cameraxVersion"
|
|
implementation "androidx.camera:camera-lifecycle:$cameraxVersion"
|
|
implementation "androidx.camera:camera-view:1.0.0-alpha20"
|
|
implementation 'androidx.cardview:cardview:1.0.0'
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
|
implementation 'androidx.documentfile:documentfile:1.0.1'
|
|
implementation "androidx.lifecycle:lifecycle-process:2.2.0"
|
|
implementation 'androidx.preference:preference:1.1.1'
|
|
implementation 'androidx.recyclerview:recyclerview:1.1.0'
|
|
implementation "androidx.viewpager2:viewpager2:1.0.0"
|
|
implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
|
|
implementation 'com.getbase:floatingactionbutton:1.10.1'
|
|
implementation 'com.github.avito-tech:krop:0.51'
|
|
implementation "com.github.bumptech.glide:annotations:${glideVersion}"
|
|
implementation "com.github.bumptech.glide:glide:${glideVersion}"
|
|
implementation("com.github.bumptech.glide:recyclerview-integration:${glideVersion}") {
|
|
transitive = false
|
|
}
|
|
implementation "com.github.topjohnwu.libsu:core:${libsuVersion}"
|
|
implementation "com.github.topjohnwu.libsu:io:${libsuVersion}"
|
|
implementation "com.google.guava:guava:${guavaVersion}-android"
|
|
implementation 'com.google.android.material:material:1.0.0'
|
|
implementation 'com.google.protobuf:protobuf-javalite:3.14.0'
|
|
implementation 'com.google.zxing:core:3.4.1'
|
|
implementation "com.mikepenz:iconics-core:3.2.5"
|
|
implementation 'com.mikepenz:material-design-iconic-typeface:2.2.0.5@aar'
|
|
implementation 'com.nulab-inc:zxcvbn:1.3.1'
|
|
implementation 'de.hdodenhof:circleimageview:3.1.0'
|
|
implementation 'de.psdev.licensesdialog:licensesdialog:2.1.0'
|
|
implementation 'net.lingala.zip4j:zip4j:2.6.4'
|
|
implementation 'info.guardianproject.trustedintents:trustedintents:0.2'
|
|
implementation 'org.bouncycastle:bcprov-jdk15on:1.68'
|
|
|
|
androidTestImplementation 'androidx.test:core:1.3.0'
|
|
androidTestImplementation 'androidx.test:runner:1.3.0'
|
|
androidTestImplementation 'androidx.test:rules:1.3.0'
|
|
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
|
|
androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.3.0'
|
|
androidTestImplementation 'androidx.test.espresso:espresso-intents:3.3.0'
|
|
androidTestImplementation 'junit:junit:4.13.1'
|
|
androidTestUtil 'androidx.test:orchestrator:1.3.0'
|
|
|
|
testImplementation "com.google.guava:guava:${guavaVersion}-jre"
|
|
testImplementation "org.junit.jupiter:junit-jupiter-api:${junitVersion}"
|
|
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${junitVersion}"
|
|
|
|
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.1'
|
|
}
|