Skip to content

Commit

Permalink
Merge pull request #756 from alvr/feature/compose_1.6.0
Browse files Browse the repository at this point in the history
feat: compose multiplatform 1.6.0
  • Loading branch information
alvr authored Feb 27, 2024
2 parents f092e5f + 305fbf4 commit b0a9243
Show file tree
Hide file tree
Showing 26 changed files with 54 additions and 230 deletions.
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package dev.alvr.katana.ui.main.navigation.items

import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.twotone.LibraryBooks
import androidx.compose.material.icons.twotone.AccountCircle
import androidx.compose.material.icons.twotone.Dashboard
import androidx.compose.material.icons.twotone.Explore
import androidx.compose.material.icons.twotone.LibraryBooks
import androidx.compose.material.icons.twotone.VideoLibrary
import androidx.compose.ui.graphics.vector.ImageVector
import com.ramcosta.composedestinations.spec.NavGraphSpec
Expand All @@ -22,7 +22,7 @@ internal enum class HomeNavigationBarItem(
override val label: Int,
) : NavigationBarItem {
Anime(AnimeNavGraph, Icons.TwoTone.VideoLibrary, R.string.navigation_bar_destination_anime_lists),
Manga(MangaNavGraph, Icons.TwoTone.LibraryBooks, R.string.navigation_bar_destination_manga_lists),
Manga(MangaNavGraph, Icons.AutoMirrored.TwoTone.LibraryBooks, R.string.navigation_bar_destination_manga_lists),
Explore(ExploreNavGraph, Icons.TwoTone.Explore, R.string.navigation_bar_destination_explore),
Social(SocialNavGraph, Icons.TwoTone.Dashboard, R.string.navigation_bar_destination_social),
Account(AccountNavGraph, Icons.TwoTone.AccountCircle, R.string.navigation_bar_destination_account);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package dev.alvr.katana.buildlogic.common

import dev.alvr.katana.buildlogic.KatanaConfiguration
import dev.alvr.katana.buildlogic.fullPackageName
import dev.alvr.katana.buildlogic.isRelease
import org.gradle.api.Plugin
import org.gradle.api.Project
Expand All @@ -16,6 +18,11 @@ internal class KatanaCommonPlugin : Plugin<Project> {
with(target) {
apply(plugin = "com.louiscad.complete-kotlin")

subprojects {
group = fullPackageName
version = KatanaConfiguration.VersionCode
}

with(tasks) {
register<Delete>("clean") {
allprojects { delete(layout.buildDirectory.asFile.get()) }
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package dev.alvr.katana.buildlogic

internal const val AndroidDir = "src/androidMain"
internal const val ResourcesDir = "src/commonMain/resources"

internal const val ANDROID_APPLICATION_PLUGIN = "com.android.application"
internal const val ANDROID_LIBRARY_PLUGIN = "com.android.library"
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import org.gradle.jvm.toolchain.JvmVendorSpec
import org.gradle.kotlin.dsl.DependencyHandlerScope
import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.dependencies
import org.gradle.kotlin.dsl.get
import org.gradle.kotlin.dsl.getByType
import org.gradle.kotlin.dsl.withType
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions
Expand Down Expand Up @@ -90,11 +89,6 @@ internal fun BaseExtension.configureAndroid(packageName: String) {
targetCompatibility = KatanaConfiguration.UseJavaVersion
}

with(sourceSets["main"]) {
res.srcDirs("$AndroidDir/res", ResourcesDir)
resources.srcDirs(ResourcesDir)
}

testOptions {
animationsDisabled = true
unitTests {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import com.android.build.gradle.internal.dsl.BaseAppModuleExtension
import dev.alvr.katana.buildlogic.ANDROID_APPLICATION_PLUGIN
import dev.alvr.katana.buildlogic.AndroidDir
import dev.alvr.katana.buildlogic.KatanaConfiguration
import dev.alvr.katana.buildlogic.ResourcesDir
import dev.alvr.katana.buildlogic.catalogBundle
import dev.alvr.katana.buildlogic.configureAndroid
import dev.alvr.katana.buildlogic.mp.mobile.KatanaMultiplatformMobileBasePlugin
Expand Down Expand Up @@ -118,7 +117,6 @@ internal class KatanaMultiplatformAppPlugin : KatanaMultiplatformMobileBasePlugi

sourceSets["main"].manifest.srcFile("$AndroidDir/AndroidManifest.xml")
sourceSets["main"].res.srcDirs("$AndroidDir/res")
sourceSets["main"].resources.srcDirs(ResourcesDir)
}

private fun SentryPluginExtension.configureSentry() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,16 @@
package dev.alvr.katana.buildlogic.mp.mobile.ui

import dev.alvr.katana.buildlogic.ResourcesDir
import dev.alvr.katana.buildlogic.catalogBundle
import dev.alvr.katana.buildlogic.catalogLib
import dev.alvr.katana.buildlogic.fullPackageName
import dev.alvr.katana.buildlogic.kspDependencies
import dev.alvr.katana.buildlogic.mp.androidUnitTest
import dev.alvr.katana.buildlogic.mp.configureSourceSets
import dev.alvr.katana.buildlogic.mp.tasks.GenerateResourcesFileTask
import java.io.File
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.plugins.ExtensionAware
import org.gradle.kotlin.dsl.apply
import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.getValue
import org.gradle.kotlin.dsl.provideDelegate
import org.gradle.kotlin.dsl.registering
import org.jetbrains.compose.ComposeExtension
import org.jetbrains.compose.ComposePlugin
import org.jetbrains.compose.ExperimentalComposeLibrary
Expand All @@ -31,8 +25,6 @@ internal class KatanaMultiplatformComposePlugin : Plugin<Project> {
configure<KotlinMultiplatformExtension> { configureMultiplatform() }
configure<ComposeExtension> { configureComposeMultiplatform() }
}

generateResourcesTask()
}

context(Project)
Expand All @@ -48,8 +40,6 @@ internal class KatanaMultiplatformComposePlugin : Plugin<Project> {

configureSourceSets {
commonMain {
kotlin.srcDirs("build/$GeneratedResourcesDir")

dependencies {
implementation(compose.animation)
implementation(compose.components.resources)
Expand Down Expand Up @@ -100,27 +90,9 @@ internal class KatanaMultiplatformComposePlugin : Plugin<Project> {
)
}

private fun Project.generateResourcesTask() {
val generateResourcesFile by tasks.registering(GenerateResourcesFileTask::class) {
packageName.set(fullPackageName)
inputFiles.from(
layout.projectDirectory.dir(ResourcesDir).asFileTree.matching {
include("**/*.webp", "**/*.xml")
},
)
outputDir.set(layout.buildDirectory.dir(GeneratedResourcesDir))
}

tasks.named("preBuild").configure { dependsOn(generateResourcesFile) }
}

private fun Project.composePluginEnabled(property: String) =
providers.gradleProperty(property).orNull == "true"

private fun Project.composePluginDir(directory: String) =
File(layout.buildDirectory.asFile.get(), directory).absolutePath

private companion object {
const val GeneratedResourcesDir = "generated/sources/katana/main"
}
}

This file was deleted.

2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ apollo = "3.8.2"
arrow = "1.2.2"
buildconfig = "5.3.5"
complete-kotlin = "1.1.0"
compose = "1.5.12"
compose = "1.6.0"
compose-compiler = "1.5.8.1"
datastore = "1.1.0-beta01"
destinations = "1.10.1"
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.text.KeyboardActions
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.ArrowBack
import androidx.compose.material.icons.automirrored.outlined.ArrowBack
import androidx.compose.material.icons.outlined.Clear
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
Expand Down Expand Up @@ -66,8 +66,8 @@ fun KatanaSearchTopAppBar(
leadingIcon = {
IconButton(onClick = onBack) {
Icon(
imageVector = Icons.Outlined.ArrowBack,
contentDescription = strings.toolbarSearchClose,
imageVector = Icons.AutoMirrored.Outlined.ArrowBack,
)
}
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,25 @@ package dev.alvr.katana.ui.base.design

import androidx.compose.material3.Typography
import androidx.compose.runtime.Composable
import androidx.compose.ui.text.font.Font
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.text.font.FontWeight
import dev.alvr.katana.ui.base.base.generated.resources.Res
import dev.alvr.katana.ui.base.base.generated.resources.barlow_bold
import dev.alvr.katana.ui.base.base.generated.resources.barlow_light
import dev.alvr.katana.ui.base.base.generated.resources.barlow_medium
import dev.alvr.katana.ui.base.base.generated.resources.barlow_normal
import org.jetbrains.compose.resources.ExperimentalResourceApi
import org.jetbrains.compose.resources.Font

@OptIn(ExperimentalResourceApi::class)
internal val KatanaTypography
@Composable get() = Typography().apply {
val fontFamily = FontFamily(
font("barlow_light", FontWeight.Light, FontStyle.Normal),
font("barlow_normal", FontWeight.Normal, FontStyle.Normal),
font("barlow_medium", FontWeight.Medium, FontStyle.Normal),
font("barlow_bold", FontWeight.Bold, FontStyle.Normal),
Font(Res.font.barlow_light, FontWeight.Light, FontStyle.Normal),
Font(Res.font.barlow_normal, FontWeight.Normal, FontStyle.Normal),
Font(Res.font.barlow_medium, FontWeight.Medium, FontStyle.Normal),
Font(Res.font.barlow_bold, FontWeight.Bold, FontStyle.Normal),
)

copy(
Expand All @@ -34,6 +41,3 @@ internal val KatanaTypography
labelSmall = labelSmall.copy(fontFamily = fontFamily),
)
}

@Composable
internal expect fun font(font: String, weight: FontWeight, style: FontStyle): Font

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.navigationBarsPadding
import androidx.compose.foundation.layout.padding
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.twotone.List
import androidx.compose.material.icons.automirrored.twotone.List
import androidx.compose.material3.FloatingActionButton
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
Expand Down Expand Up @@ -74,8 +74,8 @@ internal fun ChangeListButton(
if (visible) {
FloatingActionButton(onClick = onClick) {
Icon(
imageVector = Icons.TwoTone.List,
contentDescription = LocalListsStrings.current.changeListButton,
imageVector = Icons.AutoMirrored.TwoTone.List,
)
}
}
Expand Down
Loading

0 comments on commit b0a9243

Please sign in to comment.