feat(build): KMP → Android-only migration (Phase 1.2)

- Delete desktopApp/ and shared/ modules.
- Merge shared commonMain + androidMain + readerJvmMain sources into app/src/main/kotlin.
- Resolve expect/actual declarations by keeping android implementations.
- Remove project(':shared') dependency and KMP plugins from build files.
- Simplify settings.gradle.kts to single :app module; root project renamed BookReader.
- Remove JVM-only code (javax.imageio/ImageIO in SharedJvmBookLoader).
- Make LocalFolderSync helpers public for cross-package use in Android module.
- Baseline ':app:assembleOssDebug' passes (APK ~80 MB).
This commit is contained in:
Atte149 2026-06-24 10:36:09 +03:00
parent ab9a2dcfeb
commit 0d9439e8c3
323 changed files with 74 additions and 50598 deletions

View file

@ -1,12 +1,6 @@
pluginManagement {
repositories {
google {
content {
includeGroupByRegex("com\\.android.*")
includeGroupByRegex("com\\.google.*")
includeGroupByRegex("androidx.*")
}
}
google()
mavenCentral()
gradlePluginPortal()
}
@ -18,25 +12,9 @@ dependencyResolutionManagement {
mavenCentral()
maven("https://jitpack.io")
maven("https://jogamp.org/deployment/maven")
maven("https://jitpack.io")
}
}
rootProject.name = "Reader"
rootProject.name = "BookReader"
fun isDesktopOnlyBuild(): Boolean {
providers.gradleProperty("desktopOnly").orNull
?.let { return it.equals("true", ignoreCase = true) }
val requestedTasks = gradle.startParameter.taskNames
return requestedTasks.isNotEmpty() && requestedTasks.all { taskName ->
val normalized = taskName.removePrefix(":")
normalized.startsWith("desktopApp:")
}
}
if (!isDesktopOnlyBuild()) {
include(":app")
}
include(":shared")
include(":desktopApp")
include(":app")