Skip to content

Commit a31a708

Browse files
authored
Merge pull request #9 from YAPP-Github/BOOK-45-chore/#4
chore: Circuit 환경 설정
2 parents b7a21c9 + af5d0d1 commit a31a708

78 files changed

Lines changed: 1023 additions & 151 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

app/build.gradle.kts

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
@file:Suppress("INLINE_FROM_HIGHER_PLATFORM")
2+
13
plugins {
24
alias(libs.plugins.booket.android.application)
3-
alias(libs.plugins.booket.android.hilt)
45
alias(libs.plugins.booket.android.application.compose)
6+
alias(libs.plugins.booket.android.hilt)
57
}
68

79
android {
@@ -22,20 +24,25 @@ android {
2224
}
2325
}
2426

27+
ksp {
28+
arg("circuit.codegen.mode", "hilt")
29+
}
30+
2531
dependencies {
32+
implementations(
33+
projects.core.designsystem,
34+
35+
projects.feature.home,
36+
projects.feature.library,
37+
projects.feature.main,
38+
projects.feature.search,
39+
40+
libs.androidx.activity.compose,
41+
libs.androidx.startup,
42+
libs.logger,
2643

27-
implementation(libs.androidx.core.ktx)
28-
implementation(libs.androidx.lifecycle.runtime.ktx)
29-
implementation(libs.androidx.activity.compose)
30-
implementation(platform(libs.androidx.compose.bom))
31-
implementation(libs.androidx.compose.ui)
32-
implementation(libs.androidx.compose.ui.graphics)
33-
implementation(libs.androidx.compose.ui.tooling.preview)
34-
implementation(libs.androidx.compose.material3)
35-
testImplementation(libs.junit)
36-
androidTestImplementation(libs.androidx.junit)
37-
androidTestImplementation(platform(libs.androidx.compose.bom))
38-
androidTestImplementation(libs.androidx.compose.ui.test.junit4)
39-
debugImplementation(libs.androidx.compose.ui.tooling)
40-
debugImplementation(libs.androidx.compose.ui.test.manifest)
44+
libs.bundles.circuit,
45+
)
46+
api(libs.circuit.codegen.annotation)
47+
ksp(libs.circuit.codegen.ksp)
4148
}

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,17 @@
33
xmlns:tools="http://schemas.android.com/tools">
44

55
<application
6+
android:name=".BooketApplication"
67
android:allowBackup="true"
78
android:dataExtractionRules="@xml/data_extraction_rules"
89
android:fullBackupContent="@xml/backup_rules"
910
android:icon="@mipmap/ic_launcher"
1011
android:label="@string/app_name"
1112
android:roundIcon="@mipmap/ic_launcher_round"
1213
android:supportsRtl="true"
13-
android:theme="@style/Theme.BooketAndroid"
14+
android:theme="@style/Theme.Booket"
1415
tools:targetApi="31">
15-
<activity
16-
android:name=".MainActivity"
17-
android:exported="true"
18-
android:label="@string/app_name"
19-
android:theme="@style/Theme.BooketAndroid">
20-
<intent-filter>
21-
<action android:name="android.intent.action.MAIN" />
2216

23-
<category android:name="android.intent.category.LAUNCHER" />
24-
</intent-filter>
25-
</activity>
2617
</application>
2718

2819
</manifest>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.ninecraft.booket
2+
3+
import android.app.Application
4+
import dagger.hilt.android.HiltAndroidApp
5+
6+
@HiltAndroidApp
7+
class BooketApplication : Application()

app/src/main/kotlin/com/ninecraft/booket/MainActivity.kt

Lines changed: 0 additions & 47 deletions
This file was deleted.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.ninecraft.booket.di
2+
3+
import com.slack.circuit.foundation.Circuit
4+
import com.slack.circuit.runtime.presenter.Presenter
5+
import com.slack.circuit.runtime.ui.Ui
6+
import dagger.Module
7+
import dagger.Provides
8+
import dagger.hilt.InstallIn
9+
import dagger.hilt.android.components.ActivityRetainedComponent
10+
import dagger.hilt.android.scopes.ActivityRetainedScoped
11+
import dagger.multibindings.Multibinds
12+
13+
@Module
14+
@InstallIn(ActivityRetainedComponent::class)
15+
abstract class CircuitModule {
16+
17+
@Multibinds
18+
abstract fun presenterFactories(): Set<Presenter.Factory>
19+
20+
@Multibinds
21+
abstract fun uiFactories(): Set<Ui.Factory>
22+
23+
companion object {
24+
@[Provides ActivityRetainedScoped]
25+
fun provideCircuit(
26+
presenterFactories: @JvmSuppressWildcards Set<Presenter.Factory>,
27+
uiFactories: @JvmSuppressWildcards Set<Ui.Factory>,
28+
): Circuit = Circuit.Builder()
29+
.addPresenterFactories(presenterFactories)
30+
.addUiFactories(uiFactories)
31+
.build()
32+
}
33+
}

app/src/main/res/values/strings.xml

Lines changed: 0 additions & 3 deletions
This file was deleted.

app/src/main/res/values/themes.xml

Lines changed: 0 additions & 5 deletions
This file was deleted.

build-logic/build.gradle.kts

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
1-
@Suppress("DSL_SCOPE_VIOLATION")
1+
@Suppress("DSL_SCOPE_VIOLATION", "INLINE_FROM_HIGHER_PLATFORM")
22

33
plugins {
44
`kotlin-dsl`
55
alias(libs.plugins.gradle.dependency.handler.extensions)
66
}
77

8-
group = "com.ninecraft.booket.buildlogic"
9-
108
dependencies {
119
compileOnly(libs.android.gradle.plugin)
1210
compileOnly(libs.kotlin.gradle.plugin)
11+
compileOnly(libs.compose.compiler.gradle.plugin)
1312
implementation(files(libs.javaClass.superclass.protectionDomain.codeSource.location))
1413
}
1514

@@ -32,16 +31,6 @@ gradlePlugin {
3231
}
3332
}
3433

35-
java {
36-
toolchain {
37-
languageVersion.set(JavaLanguageVersion.of(17))
38-
}
39-
}
40-
41-
kotlin {
42-
jvmToolchain(17)
43-
}
44-
4534
// Pair<PluginName, ClassName>
4635
fun NamedDomainObjectContainer<PluginDeclaration>.pluginRegister(data: Pair<String, String>) {
4736
val (pluginName, className) = data

build-logic/src/main/java/AndroidFeatureConventionPlugin.kt

Lines changed: 0 additions & 20 deletions
This file was deleted.

build-logic/src/main/java/com/ninecraft/booket/convention/Compose.kt

Lines changed: 0 additions & 21 deletions
This file was deleted.

0 commit comments

Comments
 (0)