Skip to content

Commit 477e160

Browse files
authored
Merge pull request #7 from Nexters/feature/network-module
AuthAPIService와 구글 로그인을 추가합니다.
2 parents 59cedb0 + 40f28f2 commit 477e160

File tree

16 files changed

+236
-30
lines changed

16 files changed

+236
-30
lines changed

.github/workflows/ci-for-test.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,13 @@ jobs:
1212
- name: Check out Repository
1313
uses: actions/[email protected]
1414

15+
- name: Create local.properties file
16+
run: touch local.properties
17+
18+
- name: Add Base URL to local.properties file
19+
run: |
20+
echo "TUK_BASE_URL=KEY" >> local.properties
21+
1522
- name: Set up JDK 21
1623
uses: actions/setup-java@v3
1724
with:

app/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@ android {
1010

1111
dependencies {
1212
implementation(project(":feature:main"))
13+
implementation(project(":core:network"))
1314
testImplementation(libs.junit)
1415
}

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:tools="http://schemas.android.com/tools">
4-
4+
<uses-permission android:name="android.permission.INTERNET" />
55
<application
66
android:name=".TukAndroidApp"
77
android:allowBackup="true"
@@ -11,6 +11,7 @@
1111
android:label="@string/app_name"
1212
android:roundIcon="@mipmap/ic_launcher_round"
1313
android:supportsRtl="true"
14+
android:usesCleartextTraffic="true"
1415
android:theme="@style/Theme.Tuk">
1516
<activity
1617
android:name="com.plottwist.feature.main.MainActivity"
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.plottwist.tuk.config
2+
3+
import com.plottwist.core.network.config.ServerConfig
4+
import com.plottwist.tuk.BuildConfig
5+
import javax.inject.Inject
6+
7+
class ServerConfigImpl @Inject constructor() : ServerConfig {
8+
override val baseUrl: String
9+
get() = BuildConfig.TUK_BASE_URL
10+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.plottwist.tuk.di
2+
3+
import com.plottwist.core.network.config.ServerConfig
4+
import com.plottwist.tuk.config.ServerConfigImpl
5+
import dagger.Binds
6+
import dagger.Module
7+
import dagger.hilt.InstallIn
8+
import dagger.hilt.components.SingletonComponent
9+
import javax.inject.Singleton
10+
11+
12+
@Module
13+
@InstallIn(SingletonComponent::class)
14+
interface AppModule {
15+
16+
@Binds
17+
@Singleton
18+
fun providesServerConfig(
19+
serverConfigImpl: ServerConfigImpl
20+
): ServerConfig
21+
}

build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ import com.plottwist.tuk.configureKotlinAndroid
44
import org.gradle.api.Plugin
55
import org.gradle.api.Project
66
import org.gradle.kotlin.dsl.configure
7+
import java.io.File
8+
import java.io.FileInputStream
9+
import java.util.Properties
710

811
class AndroidApplicationConventionPlugin: Plugin<Project> {
912
override fun apply(project: Project) {
@@ -25,6 +28,21 @@ class AndroidApplicationConventionPlugin: Plugin<Project> {
2528
)
2629
}
2730
}
31+
32+
flavorDimensions += "stage"
33+
productFlavors {
34+
val localProperties = Properties().apply {
35+
load(FileInputStream(File(project.rootDir.absolutePath + File.separator + "local.properties")))
36+
}
37+
create("production") {
38+
dimension = "stage"
39+
buildConfigField(
40+
"String",
41+
"TUK_BASE_URL",
42+
"\"${localProperties.getProperty("TUK_BASE_URL")}\""
43+
)
44+
}
45+
}
2846
}
2947
}
3048
}

core/network/build.gradle.kts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
11
plugins {
22
alias(libs.plugins.tuk.android.library)
3+
alias(libs.plugins.tuk.android.library.hilt)
4+
alias(libs.plugins.kotlinx.serialization.plugin)
35
}
46

57
android {
68
namespace = "com.plottwist.core.network"
79
}
810

911
dependencies {
12+
implementation(libs.kotlinx.serialization)
13+
implementation(libs.retrofit)
14+
implementation(libs.retrofit.converter.serialization)
15+
16+
platform(libs.okhttp.bom).apply {
17+
implementation(this)
18+
implementation(libs.okhttp)
19+
implementation(libs.okhttp.logging)
20+
}
1021

11-
implementation(libs.core.ktx)
12-
implementation(libs.appcompat)
13-
implementation(libs.material)
1422
testImplementation(libs.junit)
15-
androidTestImplementation(libs.androidx.test.ext.junit)
16-
androidTestImplementation(libs.espresso.core)
1723
}

core/network/src/androidTest/java/com/plottwist/core/network/ExampleInstrumentedTest.kt

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

core/network/src/main/java/com/plottwist/core/network/.gitkeep

Whitespace-only changes.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.plottwist.core.network.config
2+
3+
interface ServerConfig {
4+
val baseUrl: String
5+
}

0 commit comments

Comments
 (0)