89 lines
2.8 KiB
Groovy
89 lines
2.8 KiB
Groovy
def buildAsLibrary = project.hasProperty('BUILD_AS_LIBRARY');
|
|
def buildAsApplication = !buildAsLibrary
|
|
if (buildAsApplication) {
|
|
apply plugin: 'com.android.application'
|
|
}
|
|
else {
|
|
apply plugin: 'com.android.library'
|
|
}
|
|
android {
|
|
buildFeatures {
|
|
prefab true
|
|
}
|
|
ndkVersion "${project.ndk_version}"
|
|
if (buildAsApplication) {
|
|
namespace "com.complecwaft.looper"
|
|
}
|
|
compileSdkVersion 34
|
|
defaultConfig {
|
|
minSdkVersion 30
|
|
targetSdkVersion 34
|
|
def revListStdout = new ByteArrayOutputStream();
|
|
exec {
|
|
executable "git"
|
|
commandLine "git", "rev-list", "--count", "HEAD"
|
|
standardOutput revListStdout
|
|
}
|
|
def revParseStdout = new ByteArrayOutputStream();
|
|
def versionNameData = ""
|
|
exec {
|
|
commandLine "git", "rev-parse", "--abbrev-ref", "HEAD"
|
|
standardOutput revParseStdout
|
|
}
|
|
versionNameData = revParseStdout.toString() + "-"
|
|
revParseStdout = new ByteArrayOutputStream()
|
|
exec {
|
|
commandLine "git", "rev-parse", "--short", "HEAD"
|
|
standardOutput revParseStdout
|
|
}
|
|
versionCode revListStdout.toString() as Integer
|
|
versionName versionNameData + revParseStdout.toString()
|
|
externalNativeBuild {
|
|
cmake {
|
|
arguments "-DUSE_GLES=ON", "-DUSE_PORTALS=OFF", "-DDOWNLOAD_AUDIO_CODECS_DEPENDENCY=ON", "-DENABLE_DBUS=OFF", "-DBUILD_SDL=ON", "-DBUILD_SDL_IMAGE=ON", "-DDISABLE_GTK_UI=ON", "-DDISABLE_IMGUI_UI=OFF"
|
|
}
|
|
}
|
|
}
|
|
externalNativeBuild {
|
|
cmake {
|
|
path 'jni/CMakeLists.txt';
|
|
}
|
|
}
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
applicationVariants.all { variant ->
|
|
tasks["merge${variant.name.capitalize()}Assets"]
|
|
.dependsOn("externalNativeBuild${variant.name.capitalize()}")
|
|
}
|
|
if (!project.hasProperty('EXCLUDE_NATIVE_LIBS')) {
|
|
sourceSets.main {
|
|
jniLibs.srcDir 'libs'
|
|
}
|
|
|
|
}
|
|
lint {
|
|
abortOnError false
|
|
}
|
|
|
|
if (buildAsLibrary) {
|
|
libraryVariants.all { variant ->
|
|
variant.outputs.each { output ->
|
|
def outputFile = output.outputFile
|
|
if (outputFile != null && outputFile.name.endsWith(".aar")) {
|
|
def fileName = "com.complecwaft.looper.app.aar";
|
|
output.outputFile = new File(outputFile.parent, fileName);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation "androidx.core:core:1.13.1"
|
|
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
|
implementation group: 'com.getkeepsafe.relinker', name: 'relinker', version: '1.4.5'
|
|
}
|