| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- [versions]
- agp = "8.10.1"
- activityKtx = "1.10.1"
- android-compileSdk = "35"
- android-minSdk = "34"
- android-targetSdk = "34"
- androidx-activityCompose = "1.10.1"
- androidx-appcompat = "1.7.0"
- androidx-constraintlayout = "2.2.1"
- androidx-lifecycle = "2.9.1"
- androidx-material = "1.12.0"
- # https://plugins.gradle.org/plugin/org.jetbrains.compose
- compose-plugin = "1.7.3"
- uiToolingPreview = "1.9.0-alpha02"
- junit = "4.13.2"
- # https://central.sonatype.com/artifact/io.insert-koin/koin-test-junit4/versions
- koinTestJunit4 = "4.1.0"
- kotlin = "2.1.20"
- # https://touchlab.co/understanding-and-configuring-your-kmm-test-suite
- androidx-core-ktx = "1.15.0"
- espresso = "3.6.1"
- junitKtx = "1.2.1"
- # https://github.com/Kotlin/kotlinx.serialization/releases
- kotlinx-serialization = "1.8.0"
- # https://github.com/touchlab/Kermit/releases
- kermit = "2.0.4"
- # https://github.com/Kotlin/kotlinx-datetime/releases
- kotlinx-datetime = "0.6.0"
- # https://github.com/Kotlin/kotlinx.coroutines/releases
- kotlinCoroutines = "1.10.1"
- # https://github.com/benasher44/uuid/releases/tag/0.8.4
- uuid = "0.8.4"
- # https://ktor.io/changelog/
- ktor = "3.2.0"
- # https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-navigation-routing.html
- navigationCompose = "2.9.0-beta03"
- lifecycleViewModel = "2.8.7"
- # https://insert-koin.io/docs/setup/koin/
- koin = "4.1.0-Beta5"
- koinComposeMultiplatform = "4.1.0-Beta5"
- # https://github.com/JuulLabs/kable/releases
- kableCore = "0.34.0"
- khronicle = "0.5.1"
- # https://mvnrepository.com/artifact/androidx.datastore/datastore-core
- dataStore = "1.1.4"
- datastorePreferencesCoreJvm = "1.1.1"
- # https://github.com/google/protobuf-gradle-plugin?tab=readme-ov-file#latest-version
- googleProtobuf = "0.9.4"
- # https://github.com/z4kn4fein/kotlin-semver/releases/tag/2.0.0
- version = "3.0.0"
- # https://github.com/coil-kt/coil/releases
- coil3 = "3.0.0-alpha06"
- # https://developer.android.com/jetpack/androidx/releases/media3
- exoplayer = "1.6.0"
- # https://kotlinlang.org/docs/ksp-quickstart.html
- ksp = "2.1.20-1.0.32"
- # https://developer.android.com/jetpack/androidx/releases/sqlite
- sqlite = "2.5.0-rc03"
- # https://developer.android.com/jetpack/androidx/releases/room
- androidx-room = "2.7.0-rc03"
- coreKtx = "1.6.1" # This was breaking room gradle task on newer versions.
- # https://mvnrepository.com/artifact/org.videolan.android/libvlc-all
- vlc = "3.6.1"
- # https://github.com/Kotlin/dokka/releases/tag/v1.9.20
- dokka = "2.0.0"
- # https://central.sonatype.com/artifact/org.mockito/mockito-core
- mockito = "5.18.0"
- # https://github.com/jaredsburrows/gradle-license-plugin/releases/tag/0.9.8
- license = '0.9.8'
- # https://github.com/streem/pbandk/releases/tag/v0.16.0
- pbandk = "0.16.0"
- # https://github.com/vanniktech/gradle-maven-publish-plugin/releases/tag/0.30.0
- publish = "0.33.0"
- # https://github.com/cortinico/ktfmt-gradle/releases/
- format = "0.23.0"
- # Our SDK version
- ogpSdk = "0.1.0"
- [libraries]
- androidx-activity-ktx = { group = "androidx.activity", name = "activity-ktx", version.ref = "activityKtx" }
- androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidx-appcompat" }
- androidx-material = { group = "com.google.android.material", name = "material", version.ref = "androidx-material" }
- androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "androidx-constraintlayout" }
- androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activityCompose" }
- androidx-lifecycle-viewmodel = { group = "org.jetbrains.androidx.lifecycle", name = "lifecycle-viewmodel", version.ref = "androidx-lifecycle" }
- androidx-lifecycle-runtime-compose = { group = "org.jetbrains.androidx.lifecycle", name = "lifecycle-runtime-compose", version.ref = "androidx-lifecycle" }
- # Common unit testing
- kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
- kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" }
- androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "androidx-core-ktx" }
- mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockito" }
- # Android instrumented testing
- androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso" }
- androidx-junit-ktx = { module = "androidx.test.ext:junit-ktx", version.ref = "junitKtx" }
- androidx-test-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitKtx" }
- junit = { group = "junit", name = "junit", version.ref = "junit" }
- mockito-android = { module = "org.mockito:mockito-android", version.ref = "mockito" }
- koin-test-junit4 = { module = "io.insert-koin:koin-test-junit4", version.ref = "koinTestJunit4" }
- # JSON Serialization
- kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" }
- # Logging
- kermit = { module = "co.touchlab:kermit", version.ref = "kermit" }
- # Date and Time
- kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinx-datetime" }
- # Coroutines
- kotlinx-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinCoroutines" }
- kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinCoroutines" }
- kotlinx-coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "kotlinCoroutines" }
- kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinCoroutines" }
- # UUID Base type
- ui-tooling-preview = { module = "org.jetbrains.compose.ui:ui-tooling-preview", version.ref = "uiToolingPreview" }
- uuid = { module = "com.benasher44:uuid", version.ref = "uuid" }
- ## Http Stack
- ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" }
- ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" }
- ktor-client-darwin = { module = "io.ktor:ktor-client-darwin", version.ref = "ktor" }
- ktor-client-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" }
- ktor-client-logging = { module = "io.ktor:ktor-client-logging", version.ref = "ktor" }
- ktor-client-auth = { module = "io.ktor:ktor-client-auth", version.ref = "ktor" }
- ktor-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" }
- ktor-mock = { module = "io.ktor:ktor-client-mock", version.ref = "ktor" }
- # Navigation
- navigation-compose = { module = "org.jetbrains.androidx.navigation:navigation-compose", version.ref = "navigationCompose" }
- # Shared Presenter logic
- lifecycle-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel", version.ref = "lifecycleViewModel" }
- # DI
- koin-android = { module = "io.insert-koin:koin-android", version.ref = "koin" }
- koin-androidx-compose = { module = "io.insert-koin:koin-androidx-compose", version.ref = "koin" }
- koin-core = { module = "io.insert-koin:koin-core", version.ref = "koin" }
- koin-compose = { module = "io.insert-koin:koin-compose", version.ref = "koinComposeMultiplatform" }
- koin-compose-viewmodel = { module = "io.insert-koin:koin-compose-viewmodel", version.ref = "koinComposeMultiplatform" }
- koin-test = { module = "io.insert-koin:koin-test", version.ref = "koin" }
- # Bluetooth
- kable-core = { module = "com.juul.kable:kable-core", version.ref = "kableCore" }
- kable-exceptions = { module = "com.juul.kable:kable-exceptions", version.ref = "kableCore" }
- khronicle = { module = "com.juul.khronicle:khronicle-core", version.ref = "khronicle" }
- # Datastore
- datastore = { module = "androidx.datastore:datastore", version.ref = "dataStore" }
- datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "dataStore" }
- # Version Data Strcuture
- version = { module = "io.github.z4kn4fein:semver", version.ref = "version" }
- # Coil
- coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil3" }
- coil-compose-core = { module = "io.coil-kt.coil3:coil-compose-core", version.ref = "coil3" }
- coil-network-ktor = { module = "io.coil-kt.coil3:coil-network-ktor", version.ref = "coil3" }
- coil-mp = { module = "io.coil-kt.coil3:coil", version.ref = "coil3" }
- # Exoplayer
- exoplayer-base = { module = "androidx.media3:media3-exoplayer", version.ref = "exoplayer" }
- exoplayer-rtsp = { module = "androidx.media3:media3-exoplayer-rtsp", version.ref = "exoplayer" }
- exoplayer-ui = { module = "androidx.media3:media3-ui", version.ref = "exoplayer" }
- # Room
- androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "androidx-room" }
- androidx-room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "androidx-room" }
- sqlite-bundled = { module = "androidx.sqlite:sqlite-bundled", version.ref = "sqlite" }
- core-ktx = { group = "androidx.test", name = "core-ktx", version.ref = "coreKtx" }
- # VLC
- libvlc-all = { module = "org.videolan.android:libvlc-all", version.ref = "vlc" }
- # Protobuf
- pbandk-runtime = { module = "pro.streem.pbandk:pbandk-runtime", version.ref = "pbandk" }
- # Local OGP libarary for simplified app testing
- openGopro = { module = "io.github.tcamise-gpsw:open-gopro", version.ref = "ogpSdk"}
- # Documentation
- dokka-base = { module = "org.jetbrains.dokka:dokka-base", version.ref = "dokka" }
- [plugins]
- androidApplication = { id = "com.android.application", version.ref = "agp" }
- androidLibrary = { id = "com.android.library", version.ref = "agp" }
- jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" }
- compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
- kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
- serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
- protobuf = { id = "com.google.protobuf", version.ref = "googleProtobuf" }
- ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
- room = { id = "androidx.room", version.ref = "androidx-room" }
- dokka = { id= "org.jetbrains.dokka", version.ref = "dokka"}
- license = { id = "com.jaredsburrows.license", version.ref= "license"}
- publish = { id = "com.vanniktech.maven.publish", version.ref = "publish"}
- format = { id = "com.ncorti.ktfmt.gradle", version.ref = "format"}
|