[versions] kotlin = "1.8.21" kotlin-compilerVersion = "1.4.7" plugin-agp = "8.1.1" hilt = "2.47" hilt-androidx = "1.0.0" ksp = "1.8.21-1.0.11" kotlinx-coroutines-core = "1.7.3" kotlinx-coroutines-playServices = "1.6.4" kotlinx-serialization-json = "1.5.1" testing-mockito-kotlin = "5.0.0" androidx-navigation-ui-ktx = "2.6.0" androidx-navigation-fragment-ktx = "2.6.0" androidx-preference-ktx = "1.2.0" androidx-core-ktx = "1.10.1" androidx-activity-ktx = "1.7.2" androidx-fragment-ktx = "1.6.1" androidx-material = "1.9.0" androidx-runtime-livedata = "1.4.3" androidx-documentfile = "1.0.1" androidx-media = "1.6.0" androidx-lifecycle = "2.6.1" androidx-workmanager = "2.8.1" androidx-startup = "1.1.1" androidx-constraintLayout = "2.1.4" androidx-coordinatorLayout = "1.2.0" androidx-appcompat = "1.6.1" androidx-testing-core = "1.5.0" androidx-testing-runner = "1.5.2" androidx-testing-rules = "1.5.0" androidx-testing-orchestrator = "1.4.2" androidx-testing-junit = "1.1.5" androidx-testing-espresso = "3.5.1" compose-coil = "2.4.0" compose-accompanist = "0.30.1" compose-constraintlayout = "1.0.1" compose-animation = "1.4.3" compose-activity = "1.7.2" compose-lazyColumnScrollbar = "1.6.3" compose-landscapist-glide = "2.2.5" compose-testing-ui = "1.4.3" compose-material-icons-extended = "1.4.3" compose-material3 = "1.1.1" crux = "5.0" gson = "2.10.1" jsoup = "1.16.1" translate = "17.0.1" moshi = "1.15.0" room = "2.5.2" junit = "4.13.2" okhttp = "5.0.0-alpha.11" okhttp-interceptor-logging = "5.0.0-alpha.11" okhttp-glideIntegration = "4.15.1" readability4j = "1.0.8" retrofit = "2.9.0" timber = "5.0.1" [libraries] # Compose compose-accompanist-pager-indicators = { module = "com.google.accompanist:accompanist-pager-indicators", version.ref = "compose-accompanist" } compose-accompanist-pager = { module = "com.google.accompanist:accompanist-pager", version.ref = "compose-accompanist" } compose-accompanist-insets = { module = "com.google.accompanist:accompanist-insets", version.ref = "compose-accompanist" } compose-accompanist-swiperefresh = { module = "com.google.accompanist:accompanist-swiperefresh", version.ref = "compose-accompanist" } compose-accompanist-systemuicontroller = { module = "com.google.accompanist:accompanist-systemuicontroller", version.ref = "compose-accompanist" } compose-androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout-compose", version.ref = "compose-constraintlayout" } compose-androidx-animation = { module = "androidx.compose.animation:animation", version.ref = "compose-animation" } compose-androidx-activity = { module = "androidx.activity:activity-compose", version.ref = "compose-activity" } compose-androidx-lifecycle-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" } compose-androidx-material-icons-extended = { module = "androidx.compose.material:material-icons-extended", version.ref = "compose-material-icons-extended" } compose-androidx-runtime-livedata = { module = "androidx.compose.runtime:runtime-livedata", version.ref = "androidx-runtime-livedata" } compose-androidx-ui-test-junit4 = { module = "androidx.compose.ui:ui-test-junit4", version.ref = "compose-testing-ui" } compose-androidx-ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose-testing-ui" } compose-androidx-material3 = { module = "androidx.compose.material3:material3", version.ref = "compose-material3" } compose-lazyColumnScrollbar = { module = "com.github.nanihadesuka:LazyColumnScrollbar", version.ref = "compose-lazyColumnScrollbar" } compose-coil = { module = "io.coil-kt:coil-compose", version.ref = "compose-coil" } compose-landscapist-glide = { module = "com.github.skydoves:landscapist-glide", version.ref = "compose-landscapist-glide" } # Hilt hilt-compiler = { module = "com.google.dagger:hilt-compiler", version.ref = "hilt" } hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hilt" } hilt-workmanager = { module = "androidx.hilt:hilt-work", version.ref = "hilt-androidx" } hilt-androidx-compiler = { module = "androidx.hilt:hilt-compiler", version.ref = "hilt-androidx" } # Room androidx-room-testing = { module = "androidx.room:room-testing", version.ref = "room" } androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" } androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "room" } androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" } #Networking retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" } okhttp-interceptor-logging = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp-interceptor-logging" } okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" } okhttp-interceptor-brotli = { module = "com.squareup.okhttp3:okhttp-brotli", version.ref = "okhttp" } okhttp-glideIntegration = { module = "com.github.bumptech.glide:okhttp3-integration", version.ref = "okhttp-glideIntegration" } # Data manipulation (html, serialization, ...) gson = { module = "com.google.code.gson:gson", version.ref = "gson" } jsoup = { module = "org.jsoup:jsoup", version.ref = "jsoup" } moshi = { module = "com.squareup.moshi:moshi", version.ref = "moshi" } moshi-kotlin = { module = "com.squareup.moshi:moshi-kotlin", version.ref = "moshi" } kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization-json" } # Text extractors readability4j = { module = "net.dankito.readability4j:readability4j", version.ref = "readability4j" } crux = { module = "com.chimbori.crux:crux", version.ref = "crux" } # Testing test-mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version.ref = "testing-mockito-kotlin" } test-junit = { module = "junit:junit", version.ref = "junit" } test-androidx-orchestrator = { module = "androidx.test:orchestrator", version.ref = "androidx-testing-orchestrator" } test-androidx-junit-ktx = { module = "androidx.test.ext:junit-ktx", version.ref = "androidx-testing-junit" } test-androidx-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "androidx-testing-espresso" } test-androidx-runner = { module = "androidx.test:runner", version.ref = "androidx-testing-runner" } test-androidx-rules = { module = "androidx.test:rules", version.ref = "androidx-testing-rules" } test-androidx-core-ktx = { module = "androidx.test:core-ktx", version.ref = "androidx-testing-core" } # Kotlin kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" } kotlin-script-runtime = { module = "org.jetbrains.kotlin:kotlin-script-runtime", version.ref = "kotlin" } kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutines-core" } kotlinx-coroutines-playServices = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-play-services", version.ref = "kotlinx-coroutines-playServices" } # Android androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidx-constraintLayout" } androidx-fragment-ktx = { module = "androidx.fragment:fragment-ktx", version.ref = "androidx-fragment-ktx" } androidx-activity-ktx = { module = "androidx.activity:activity-ktx", version.ref = "androidx-activity-ktx" } androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidx-core-ktx" } androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx-appcompat" } androidx-lifecycle-common-java8 = { module = "androidx.lifecycle:lifecycle-common-java8", version.ref = "androidx-lifecycle" } androidx-coordinatorlayout = { module = "androidx.coordinatorlayout:coordinatorlayout", version.ref = "androidx-coordinatorLayout" } androidx-lifecycle-livedata-ktx = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref = "androidx-lifecycle" } androidx-lifecycle-viewmodel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle" } androidx-startup = { module = "androidx.startup:startup-runtime", version.ref = "androidx-startup" } androidx-workmanager = { module = "androidx.work:work-runtime-ktx", version.ref = "androidx-workmanager" } androidx-documentfile = { module = "androidx.documentfile:documentfile", version.ref = "androidx-documentfile" } androidx-media = { module = "androidx.media:media", version.ref = "androidx-media" } androidx-navigation-ui-ktx = { module = "androidx.navigation:navigation-ui-ktx", version.ref = "androidx-navigation-ui-ktx" } androidx-navigation-fragment-ktx = { module = "androidx.navigation:navigation-fragment-ktx", version.ref = "androidx-navigation-fragment-ktx" } androidx-preference-ktx = { module = "androidx.preference:preference-ktx", version.ref = "androidx-preference-ktx" } material = { module = "com.google.android.material:material", version.ref = "androidx-material" } # machine translations translate = { module = "com.google.mlkit:translate", version.ref = "translate" } # Logging timber = { module = "com.jakewharton.timber:timber", version.ref = "timber" } [plugins] android-application = { id = "com.android.application", version.ref = "plugin-agp" } hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" } kotlin-scripting = { id = "org.jetbrains.kotlin.plugin.scripting", version.ref = "kotlin" } kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } [bundles]