looper/sdl-android-project/app/build.gradle
Zachary Hall d7a89bae3d
Some checks failed
Build / download-system-deps (push) Successful in 36s
Build / build-gentoo (push) Successful in 1m6s
Build / get-source-code (push) Successful in 3m41s
Build / build-appimage (push) Successful in 40s
Build / build-android (push) Successful in 10m22s
Build / build-windows (push) Failing after 3m54s
Fix workflows hopefully
2024-10-21 18:02:38 -07:00

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-rev", "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'
}