Kotlin/Compose Multiplatform desktop app for importing photos from
phones into PhotoPhile staging directory.
Features:
- Android support via ADB subprocess
- iPhone support via gphoto2 subprocess
- Smart filtering: excludes screenshots, received images, Live Photo MOVs
- HEIC -> JPEG conversion via macOS sips (built-in)
- SHA-256 verification of every copied file
- Safe delete with explicit confirmation
- Staging path convention: _staging/{date}_{device}/
- Config persistence at ~/.photophetch/config.json
21 lines
987 B
TOML
21 lines
987 B
TOML
[versions]
|
|
kotlin = "1.9.23"
|
|
compose = "1.6.2"
|
|
coroutines = "1.8.0"
|
|
serialization = "1.6.3"
|
|
slf4j = "2.0.12"
|
|
logback = "1.5.3"
|
|
|
|
[libraries]
|
|
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
|
|
coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }
|
|
coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "coroutines" }
|
|
serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "serialization" }
|
|
slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }
|
|
logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
|
|
|
|
[plugins]
|
|
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
|
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
|
compose-multiplatform = { id = "org.jetbrains.compose", version.ref = "compose" }
|