Play-/build_android/build.gradle
2021-09-24 13:01:29 -04:00

125 lines
2.8 KiB
Groovy

apply plugin: 'com.android.application'
buildscript {
repositories {
google()
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.2'
classpath 'org.ajoberstar.grgit:grgit-gradle:4.1.0'
}
}
project.ext {
keyStorePropFile = rootProject.file('keystore.properties')
signingEnabled = keyStorePropFile.exists()
git = org.ajoberstar.grgit.Grgit.open(currentDir: project.rootDir)
gitVersionCode = git.tag.list().size()
gitVersionName = "${git.describe()}"
}
project.afterEvaluate {
preBuild.dependsOn 'copyPatchesFile'
def configName = 'release'
if(project.ext.signingEnabled && android.signingConfigs.hasProperty(configName)) {
def props = new Properties()
props.load(new FileInputStream(project.ext.keyStorePropFile))
android.signingConfigs[configName].storeFile = file(props['storeFile'])
android.signingConfigs[configName].storePassword = props['storePassword']
android.signingConfigs[configName].keyAlias = props['keyAlias']
android.signingConfigs[configName].keyPassword = props['keyPassword']
}
}
android {
repositories {
google()
jcenter()
mavenCentral()
}
compileSdkVersion 'android-29'
defaultConfig {
versionCode (100 + gitVersionCode)
versionName gitVersionName
minSdkVersion 19
targetSdkVersion 29
externalNativeBuild {
cmake {
arguments "-DANDROID_ARM_NEON=TRUE", "-DANDROID_TOOLCHAIN=clang",
"-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_STL=c++_static"
cppFlags "-frtti"
targets "Play"
}
ndkVersion "22.1.7171670"
ndk {
abiFilters 'armeabi-v7a', 'x86', 'x86_64', 'arm64-v8a'
}
}
}
dependencies {
api 'androidx.appcompat:appcompat:1.2.0'
api 'androidx.preference:preference:1.1.1'
api 'org.apache.commons:commons-lang3:3.4'
api 'commons-io:commons-io:2.5'
}
signingConfigs {
release {
storeFile file('store.keystore')
storePassword ''
keyAlias ''
keyPassword ''
}
}
buildTypes {
debug {
debuggable true
jniDebuggable true
buildConfigField "java.util.Date", "buildTime", "new java.util.Date(" + System.currentTimeMillis() + "L)"
}
release {
proguardFile getDefaultProguardFile('proguard-android.txt')
if(project.ext.signingEnabled) {
signingConfig signingConfigs.release
}
buildConfigField "java.util.Date", "buildTime", "new java.util.Date(" + System.currentTimeMillis() + "L)"
}
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
task copyPatchesFile(type: Copy) {
from '../patches.xml'
into 'src/main/assets'
}
sourceSets.main {
java.srcDirs = [ '../Source/ui_android/java' ]
jniLibs.srcDir 'src/main/libs'
}
externalNativeBuild {
cmake {
path '../CMakeLists.txt'
version "3.18.1"
}
}
compileOptions {
encoding "UTF-8"
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}