Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 22 additions & 15 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
@file:Suppress("INLINE_FROM_HIGHER_PLATFORM")

plugins {
alias(libs.plugins.booket.android.application)
alias(libs.plugins.booket.android.hilt)
alias(libs.plugins.booket.android.application.compose)
alias(libs.plugins.booket.android.hilt)
}

android {
Expand All @@ -22,20 +24,25 @@ android {
}
}

ksp {
arg("circuit.codegen.mode", "hilt")
}

dependencies {
implementations(
projects.core.designsystem,

projects.feature.home,
projects.feature.library,
projects.feature.main,
projects.feature.search,

libs.androidx.activity.compose,
libs.androidx.startup,
libs.logger,

implementation(libs.androidx.core.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.compose.ui)
implementation(libs.androidx.compose.ui.graphics)
implementation(libs.androidx.compose.ui.tooling.preview)
implementation(libs.androidx.compose.material3)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.compose.ui.test.junit4)
debugImplementation(libs.androidx.compose.ui.tooling)
debugImplementation(libs.androidx.compose.ui.test.manifest)
libs.bundles.circuit,
)
api(libs.circuit.codegen.annotation)
ksp(libs.circuit.codegen.ksp)
}
13 changes: 2 additions & 11 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,17 @@
xmlns:tools="http://schemas.android.com/tools">

<application
android:name=".BooketApplication"
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.BooketAndroid"
android:theme="@style/Theme.Booket"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.BooketAndroid">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>
7 changes: 7 additions & 0 deletions app/src/main/kotlin/com/ninecraft/booket/BooketApplication.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.ninecraft.booket

import android.app.Application
import dagger.hilt.android.HiltAndroidApp

@HiltAndroidApp
class BooketApplication : Application()
47 changes: 0 additions & 47 deletions app/src/main/kotlin/com/ninecraft/booket/MainActivity.kt

This file was deleted.

33 changes: 33 additions & 0 deletions app/src/main/kotlin/com/ninecraft/booket/di/CircuitModule.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.ninecraft.booket.di

import com.slack.circuit.foundation.Circuit
import com.slack.circuit.runtime.presenter.Presenter
import com.slack.circuit.runtime.ui.Ui
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.components.ActivityRetainedComponent
import dagger.hilt.android.scopes.ActivityRetainedScoped
import dagger.multibindings.Multibinds

@Module
@InstallIn(ActivityRetainedComponent::class)
abstract class CircuitModule {

@Multibinds
abstract fun presenterFactories(): Set<Presenter.Factory>

@Multibinds
abstract fun uiFactories(): Set<Ui.Factory>

companion object {
@[Provides ActivityRetainedScoped]
fun provideCircuit(
presenterFactories: @JvmSuppressWildcards Set<Presenter.Factory>,
uiFactories: @JvmSuppressWildcards Set<Ui.Factory>,
): Circuit = Circuit.Builder()
.addPresenterFactories(presenterFactories)
.addUiFactories(uiFactories)
.build()
}
}
3 changes: 0 additions & 3 deletions app/src/main/res/values/strings.xml

This file was deleted.

5 changes: 0 additions & 5 deletions app/src/main/res/values/themes.xml

This file was deleted.

15 changes: 2 additions & 13 deletions build-logic/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
@Suppress("DSL_SCOPE_VIOLATION")
@Suppress("DSL_SCOPE_VIOLATION", "INLINE_FROM_HIGHER_PLATFORM")

plugins {
`kotlin-dsl`
alias(libs.plugins.gradle.dependency.handler.extensions)
}

group = "com.ninecraft.booket.buildlogic"

dependencies {
compileOnly(libs.android.gradle.plugin)
compileOnly(libs.kotlin.gradle.plugin)
compileOnly(libs.compose.compiler.gradle.plugin)
implementation(files(libs.javaClass.superclass.protectionDomain.codeSource.location))
}

Expand All @@ -32,16 +31,6 @@ gradlePlugin {
}
}

java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(17))
}
}

kotlin {
jvmToolchain(17)
}

// Pair<PluginName, ClassName>
fun NamedDomainObjectContainer<PluginDeclaration>.pluginRegister(data: Pair<String, String>) {
val (pluginName, className) = data
Expand Down
20 changes: 0 additions & 20 deletions build-logic/src/main/java/AndroidFeatureConventionPlugin.kt

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ internal class AndroidApplicationComposeConventionPlugin : Plugin<Project> {
with(target) {
applyPlugins(
Plugins.ANDROID_APPLICATION,
Plugins.KOTLIN_COMPOSE,
)

extensions.configure<ApplicationExtension> {
Expand Down
30 changes: 30 additions & 0 deletions build-logic/src/main/kotlin/AndroidFeatureConventionPlugin.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import com.ninecraft.booket.convention.applyPlugins
import com.ninecraft.booket.convention.implementation
import com.ninecraft.booket.convention.api
import com.ninecraft.booket.convention.ksp
import com.ninecraft.booket.convention.project
import com.ninecraft.booket.convention.libs
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.dependencies

internal class AndroidFeatureConventionPlugin : Plugin<Project> {
override fun apply(target: Project) {
with(target) {
applyPlugins(
"booket.android.library",
"booket.android.library.compose",
"booket.android.hilt",
)

dependencies {
implementation(project(path = ":core:designsystem"))

implementation(libs.bundles.circuit)

api(libs.circuit.codegen.annotation)
ksp(libs.circuit.codegen.ksp)
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ internal class AndroidHiltConventionPlugin : Plugin<Project> {

dependencies {
implementation(libs.hilt.android)
ksp(libs.hilt.compiler)
ksp(libs.hilt.android.compiler)
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ class AndroidLibraryComposeConventionPlugin : Plugin<Project> {
with(target) {
applyPlugins(
Plugins.ANDROID_LIBRARY,
Plugins.KOTLIN_COMPOSE,
)

extensions.configure<LibraryExtension> {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import com.android.build.gradle.LibraryExtension
import com.ninecraft.booket.convention.Plugins
import org.gradle.api.Plugin
import org.gradle.api.Project
import com.ninecraft.booket.convention.applyPlugins
import com.ninecraft.booket.convention.configureAndroid
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.configure
import com.ninecraft.booket.convention.ApplicationConstants

internal class AndroidLibraryConventionPlugin : Plugin<Project> {
override fun apply(target: Project) {
Expand All @@ -16,6 +17,10 @@ internal class AndroidLibraryConventionPlugin : Plugin<Project> {

extensions.configure<LibraryExtension> {
configureAndroid(this)

defaultConfig.apply {
targetSdk = ApplicationConstants.TARGET_SDK
}
}
}
}
Expand Down
Loading
Loading