From 51569b1abef42646e65832ba4f88f39d6e346bc4 Mon Sep 17 00:00:00 2001 From: Wing <44992537+wingio@users.noreply.github.com> Date: Sat, 25 Nov 2023 18:50:07 -0500 Subject: [PATCH] Bump deps --- app/build.gradle.kts | 106 +++++------------- .../main/java/xyz/wingio/dimett/ast/Rules.kt | 1 + .../dimett/domain/db/entities/Account.kt | 3 +- .../dimett/ui/screens/feed/FeedScreen.kt | 11 +- .../dimett/ui/widgets/posts/PostButtons.kt | 2 +- build.gradle.kts | 8 +- gradle/libs.versions.toml | 81 +++++++++++++ gradle/wrapper/gradle-wrapper.properties | 2 +- 8 files changed, 126 insertions(+), 88 deletions(-) create mode 100644 gradle/libs.versions.toml diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 741e9d5..f5fa7da 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,18 +1,18 @@ plugins { - id("com.android.application") - kotlin("android") - kotlin("kapt") - kotlin("plugin.serialization") version "1.8.20" + alias(libs.plugins.android.application) + alias(libs.plugins.ksp) + alias(libs.plugins.kotlin.android) + alias(libs.plugins.kotlin.serialization) } android { namespace = "xyz.wingio.dimett" - compileSdk = 33 + compileSdk = 34 defaultConfig { applicationId = "xyz.wingio.dimett" minSdk = 26 - targetSdk = 33 + targetSdk = 34 versionCode = 1 versionName = "1.0.0" @@ -40,7 +40,7 @@ android { buildConfig = true } composeOptions { - kotlinCompilerExtensionVersion = "1.4.4-dev-k1.8.20-f6ae19e64ff" + kotlinCompilerExtensionVersion = libs.versions.compose.compiler.get() } packagingOptions { resources { @@ -49,77 +49,27 @@ android { } } -dependencies { - - implementation("androidx.core:core-ktx:1.9.0") - implementation("androidx.browser:browser:1.5.0") - implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.1") - implementation("androidx.activity:activity-compose:1.7.0") - implementation(platform("androidx.compose:compose-bom:2022.10.00")) - implementation("androidx.compose.ui:ui") - implementation("androidx.compose.ui:ui-graphics") - implementation("androidx.compose.ui:ui-tooling-preview") - implementation("androidx.compose.material3:material3") - implementation("androidx.compose.material:material") - implementation("androidx.compose.material:material-icons-extended") - implementation("androidx.core:core-ktx") - implementation("androidx.paging:paging-compose:1.0.0-alpha18") - implementation("androidx.emoji2:emoji2:1.3.0") - - val koinVersion = "3.2.0" - - implementation("io.insert-koin:koin-core:$koinVersion") - implementation("io.insert-koin:koin-android:$koinVersion") - implementation("io.insert-koin:koin-androidx-compose:$koinVersion") - - val accompanistVersion = "0.29.1-alpha" - - implementation("com.google.accompanist:accompanist-systemuicontroller:$accompanistVersion") - implementation("com.google.accompanist:accompanist-pager:$accompanistVersion") - implementation("com.google.accompanist:accompanist-pager-indicators:$accompanistVersion") - - val voyagerVersion = "1.0.0-rc03" - - implementation("cafe.adriel.voyager:voyager-navigator:$voyagerVersion") - implementation("cafe.adriel.voyager:voyager-tab-navigator:$voyagerVersion") - implementation("cafe.adriel.voyager:voyager-transitions:$voyagerVersion") - implementation("cafe.adriel.voyager:voyager-koin:$voyagerVersion") - - val ktorVersion = "2.1.1" - - implementation("io.ktor:ktor-client-core:$ktorVersion") - implementation("io.ktor:ktor-client-cio:$ktorVersion") - implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion") - implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion") - implementation("io.ktor:ktor-client-logging:$ktorVersion") - - implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.3.2") - - val coilVersion = "2.2.2" - - implementation("io.coil-kt:coil:$coilVersion") - implementation("io.coil-kt:coil-compose:$coilVersion") - implementation("io.coil-kt:coil-gif:$coilVersion") - - implementation("com.github.orlando-dev-code:compose-image-blurhash:2.1.0") - - val media3_version = "1.0.0-beta03" - - implementation("androidx.media3:media3-exoplayer:$media3_version") - implementation("androidx.media3:media3-ui:$media3_version") - - val roomVersion = "2.4.3" - - implementation("androidx.room:room-runtime:$roomVersion") - kapt("androidx.room:room-compiler:$roomVersion") +configurations { + implementation { + exclude("org.jetbrains", "annotations") + } +} - implementation("com.github.MateriiApps.SimplerAST:simpleast-core:master-SNAPSHOT") +dependencies { - testImplementation("junit:junit:4.13.2") - androidTestImplementation("androidx.test.ext:junit:1.1.3") - androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0") - androidTestImplementation(platform("androidx.compose:compose-bom:2022.10.00")) - androidTestImplementation("androidx.compose.ui:ui-test-junit4") - debugImplementation("androidx.compose.ui:ui-tooling") - debugImplementation("androidx.compose.ui:ui-test-manifest") + implementation(platform(libs.compose.bom)) + + implementation(libs.bundles.accompanist) + implementation(libs.bundles.androidx) + implementation(libs.bundles.coil) + implementation(libs.bundles.compose) + implementation(libs.bundles.github) + implementation(libs.bundles.koin) + implementation(libs.bundles.kotlinx) + implementation(libs.bundles.ktor) + implementation(libs.bundles.media3) + implementation(libs.bundles.room) + implementation(libs.bundles.voyager) + + ksp(libs.androidx.room.compiler) } \ No newline at end of file diff --git a/app/src/main/java/xyz/wingio/dimett/ast/Rules.kt b/app/src/main/java/xyz/wingio/dimett/ast/Rules.kt index c67df6b..fdafc17 100644 --- a/app/src/main/java/xyz/wingio/dimett/ast/Rules.kt +++ b/app/src/main/java/xyz/wingio/dimett/ast/Rules.kt @@ -9,6 +9,7 @@ import com.materii.simplerast.core.parser.ParseSpec import com.materii.simplerast.core.parser.Parser import com.materii.simplerast.core.parser.Rule import com.materii.simplerast.core.simple.CoreMarkdownRules +import com.materii.simplerast.code.CodeRules import xyz.wingio.dimett.ast.nodes.ClickableNode import xyz.wingio.dimett.ast.nodes.EmojiNode import xyz.wingio.dimett.ast.nodes.MentionNode diff --git a/app/src/main/java/xyz/wingio/dimett/domain/db/entities/Account.kt b/app/src/main/java/xyz/wingio/dimett/domain/db/entities/Account.kt index d00d092..54339ae 100644 --- a/app/src/main/java/xyz/wingio/dimett/domain/db/entities/Account.kt +++ b/app/src/main/java/xyz/wingio/dimett/domain/db/entities/Account.kt @@ -2,7 +2,6 @@ package xyz.wingio.dimett.domain.db.entities import androidx.room.Entity import androidx.room.ForeignKey -import androidx.room.ForeignKey.CASCADE import androidx.room.PrimaryKey import xyz.wingio.dimett.rest.dto.CustomEmoji import xyz.wingio.dimett.rest.dto.user.Field @@ -12,7 +11,7 @@ import xyz.wingio.dimett.rest.dto.user.Field entity = Instance::class, parentColumns = ["url"], childColumns = ["instance"], - onDelete = CASCADE + onDelete = ForeignKey.CASCADE )] ) data class Account( diff --git a/app/src/main/java/xyz/wingio/dimett/ui/screens/feed/FeedScreen.kt b/app/src/main/java/xyz/wingio/dimett/ui/screens/feed/FeedScreen.kt index 81739a8..9f68fa1 100644 --- a/app/src/main/java/xyz/wingio/dimett/ui/screens/feed/FeedScreen.kt +++ b/app/src/main/java/xyz/wingio/dimett/ui/screens/feed/FeedScreen.kt @@ -27,7 +27,8 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.paging.LoadState import androidx.paging.compose.collectAsLazyPagingItems -import androidx.paging.compose.items +import androidx.paging.compose.itemContentType +import androidx.paging.compose.itemKey import cafe.adriel.voyager.koin.getScreenModel import cafe.adriel.voyager.navigator.tab.Tab import cafe.adriel.voyager.navigator.tab.TabOptions @@ -91,8 +92,12 @@ class FeedTab : Tab { } } } - items(posts) { post -> - post?.let { + items( + count = posts.itemCount, + key = posts.itemKey(), + contentType = posts.itemContentType() + ) { post -> + posts[post]?.let { val realPost = viewModel.modifiedPosts[it.id] ?: it Post( post = realPost, diff --git a/app/src/main/java/xyz/wingio/dimett/ui/widgets/posts/PostButtons.kt b/app/src/main/java/xyz/wingio/dimett/ui/widgets/posts/PostButtons.kt index 081911f..e350e76 100644 --- a/app/src/main/java/xyz/wingio/dimett/ui/widgets/posts/PostButtons.kt +++ b/app/src/main/java/xyz/wingio/dimett/ui/widgets/posts/PostButtons.kt @@ -48,7 +48,7 @@ fun PostButtons( ) { FlowRow( horizontalArrangement = Arrangement.spacedBy(8.dp), - verticalAlignment = Alignment.CenterVertically + verticalArrangement = Arrangement.aligned(Alignment.CenterVertically) ) { PostButton( icon = Icons.Outlined.ChatBubbleOutline, diff --git a/build.gradle.kts b/build.gradle.kts index 0afb649..34ebc30 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,6 +1,8 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { - id("com.android.application") version "8.1.0-alpha11" apply false - id("com.android.library") version "8.1.0-alpha11" apply false - kotlin("android") version "1.8.20" apply false + alias(libs.plugins.android.application) apply false + alias(libs.plugins.android.library) apply false + alias(libs.plugins.ksp) apply false + alias(libs.plugins.kotlin.android) apply false + alias(libs.plugins.kotlin.serialization) apply false } \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 0000000..b6b0b7a --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,81 @@ +[versions] +accompanist = "0.31.2-alpha" +activity-compose = "1.8.1" +agp = "8.1.4" +browser = "1.7.0" +coil = "2.4.0" +compose-bom = "2023.10.01" +compose-compiler = "1.5.4" +compose-image-blurhash = "2.1.0" +emoji2 = "1.4.0" +koin = "3.4.0" +kotlin = "1.9.20" +kotlinx = "0.4.1" +ksp = "1.9.20-1.0.14" +ktor = "2.3.3" +lifecycle-runtime-ktx = "2.6.2" +media3 = "1.2.0" +paging-compose = "3.2.1" +room = "2.6.0" +simpleast-core = "master-SNAPSHOT" +voyager = "1.0.0-rc07" + +[libraries] +accompanist-pager = { group = "com.google.accompanist", name = "accompanist-pager", version.ref = "accompanist" } +accompanist-pager-indicators = { group = "com.google.accompanist", name = "accompanist-pager-indicators", version.ref = "accompanist" } +accompanist-systemuicontroller = { group = "com.google.accompanist", name = "accompanist-systemuicontroller", version.ref = "accompanist" } +androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activity-compose" } +androidx-browser = { group = "androidx.browser", name = "browser", version.ref = "browser" } +androidx-emoji2 = { group = "androidx.emoji2", name = "emoji2", version.ref = "emoji2" } +androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycle-runtime-ktx" } +androidx-media3-exoplayer = { group = "androidx.media3", name = "media3-exoplayer", version.ref = "media3" } +androidx-media3-ui = { group = "androidx.media3", name = "media3-ui", version.ref = "media3" } +androidx-paging-compose = { group = "androidx.paging", name = "paging-compose", version.ref = "paging-compose" } +androidx-room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "room" } +androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" } +coil = { group = "io.coil-kt", name = "coil", version.ref = "coil" } +coil-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coil" } +coil-gif = { group = "io.coil-kt", name = "coil-gif", version.ref = "coil" } +compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" } +compose-image-blurhash = { group = "com.github.orlando-dev-code", name = "compose-image-blurhash", version.ref = "compose-image-blurhash" } +compose-material = { group = "androidx.compose.material", name = "material" } +compose-material-icons-extended = { group = "androidx.compose.material", name = "material-icons-extended" } +compose-material3 = { group = "androidx.compose.material3", name = "material3" } +compose-ui = { group = "androidx.compose.ui", name = "ui" } +compose-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" } +compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" } +core-ktx = { group = "androidx.core", name = "core-ktx" } +koin-androidx-compose = { group = "io.insert-koin", name = "koin-androidx-compose", version.ref = "koin" } +koin-android = { group = "io.insert-koin", name = "koin-android", version.ref = "koin" } +koin-core = { group = "io.insert-koin", name = "koin-core", version.ref = "koin" } +kotlinx-datetime = { group = "org.jetbrains.kotlinx", name = "kotlinx-datetime", version.ref = "kotlinx" } +ktor-client-cio = { group = "io.ktor", name = "ktor-client-cio", version.ref = "ktor" } +ktor-client-content-negotiation = { group = "io.ktor", name = "ktor-client-content-negotiation", version.ref = "ktor" } +ktor-client-core = { group = "io.ktor", name = "ktor-client-core", version.ref = "ktor" } +ktor-client-logging = { group = "io.ktor", name = "ktor-client-logging", version.ref = "ktor" } +ktor-serialization-kotlinx-json = { group = "io.ktor", name = "ktor-serialization-kotlinx-json", version.ref = "ktor" } +simpleast-core = { group = "com.github.MateriiApps.SimplerAST", name = "simpleast-core", version.ref = "simpleast-core" } +voyager-koin = { group = "cafe.adriel.voyager", name = "voyager-koin", version.ref = "voyager" } +voyager-navigator = { group = "cafe.adriel.voyager", name = "voyager-navigator", version.ref = "voyager" } +voyager-tab-navigator = { group = "cafe.adriel.voyager", name = "voyager-tab-navigator", version.ref = "voyager" } +voyager-transitions = { group = "cafe.adriel.voyager", name = "voyager-transitions", version.ref = "voyager" } + +[bundles] +accompanist = ["accompanist-systemuicontroller", "accompanist-pager", "accompanist-pager-indicators"] +androidx = ["core-ktx", "androidx-browser", "androidx-lifecycle-runtime-ktx", "androidx-activity-compose", "androidx-paging-compose", "androidx-emoji2"] +coil = ["coil-compose", "coil", "coil-gif"] +compose = ["compose-ui", "compose-ui-graphics", "compose-ui-tooling-preview", "compose-material3", "compose-material", "compose-material-icons-extended"] +github = ["compose-image-blurhash", "simpleast-core"] +koin = ["koin-core", "koin-androidx-compose", "koin-android"] +kotlinx = ["kotlinx-datetime"] +ktor = ["ktor-client-cio", "ktor-client-content-negotiation", "ktor-client-core", "ktor-client-logging", "ktor-serialization-kotlinx-json"] +media3 = ["androidx-media3-exoplayer", "androidx-media3-ui"] +room = ["androidx-room-compiler", "androidx-room-runtime"] +voyager = ["voyager-transitions", "voyager-navigator", "voyager-koin", "voyager-tab-navigator"] + +[plugins] +android-application = { id = "com.android.application", version.ref = "agp" } +android-library = { id = "com.android.library", version.ref = "agp" } +kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } +ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 399a899..9d72709 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Mon Apr 03 19:02:01 EDT 2023 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists