mirror of
https://github.com/kichikuou/xsystem35-sdl2.git
synced 2026-09-22 22:48:08 +03:00
Add synthetic ISO9660, CUE, CCD, and MDS fixtures for JVM unit tests. Cover CD image sector mapping, audio extraction, install cleanup, playlist generation, and output path validation.
94 lines
2.8 KiB
Groovy
94 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'
|
|
}
|
|
apply plugin: 'kotlin-android'
|
|
|
|
android {
|
|
if (buildAsApplication) {
|
|
namespace "io.github.kichikuou.xsystem35"
|
|
}
|
|
compileSdkVersion 34
|
|
defaultConfig {
|
|
minSdkVersion 21
|
|
targetSdkVersion 34
|
|
versionCode 36
|
|
versionName "2.18.0" + gitRevision()
|
|
externalNativeBuild {
|
|
cmake {
|
|
arguments "-DANDROID_APP_PLATFORM=android-19", "-DANDROID_STL=c++_static"
|
|
// abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
|
|
abiFilters 'armeabi-v7a', 'arm64-v8a'
|
|
}
|
|
}
|
|
}
|
|
signingConfigs {
|
|
release {
|
|
storeFile rootProject.file('keystore.jks')
|
|
storePassword System.getenv('KEYSTORE_PASSWORD')
|
|
keyAlias System.getenv('KEY_ALIAS')
|
|
keyPassword System.getenv('KEY_PASSWORD')
|
|
}
|
|
}
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
if (rootProject.file('keystore.jks').exists()) {
|
|
signingConfig signingConfigs.release
|
|
}
|
|
}
|
|
}
|
|
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'
|
|
}
|
|
aaptOptions {
|
|
// Disable asset compression for fonts.
|
|
// Without this, text rendering will be very slow.
|
|
noCompress 'ttf', 'otf'
|
|
}
|
|
externalNativeBuild {
|
|
cmake {
|
|
version '3.22.1'
|
|
path 'jni/CMakeLists.txt'
|
|
}
|
|
}
|
|
|
|
}
|
|
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 = "org.libsdl.app.aar"
|
|
output.outputFile = new File(outputFile.parent, fileName)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'
|
|
testImplementation 'junit:junit:4.13.2'
|
|
}
|
|
|
|
static String gitRevision() {
|
|
' (git ' + "git rev-parse --short HEAD".execute().text.trim() + ')'
|
|
}
|