Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#2 : 안드로이드 프로젝트 셋업 #4

Merged
merged 21 commits into from
Jun 16, 2024
Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
f91b26c
[CHORE]#2 : Create WeSpot Android Project
jeongjaino Jun 11, 2024
94c86bf
[CHORE]#2 : Version Catalog 구현 및 사용 종속성 및 플러그인 추가
jeongjaino Jun 11, 2024
8b7636a
[CHORE]#2 : Version Catalog androidx 관련 속성 추가
jeongjaino Jun 12, 2024
3eac8dc
[CHORE]#2 : Gradle Convention Plugins 구현
jeongjaino Jun 12, 2024
fb32284
[CHORE]#2 : app 모듈 파일 정리 및 종속성 설정
jeongjaino Jun 12, 2024
4264edc
[CHORE]#2 : project 단위 환경 설정 setting.gradle, gradle.properties
jeongjaino Jun 12, 2024
e75c601
[CHORE]#2 : app module lint format
jeongjaino Jun 12, 2024
1e6fc0d
[CHORE]#2 : data module 구성
jeongjaino Jun 12, 2024
b22a322
[CHORE]#2 : domain module 구성
jeongjaino Jun 12, 2024
cb94f0c
[CHORE]#2 : designsystem module 구성
jeongjaino Jun 12, 2024
27527f6
[CHORE]#2 : auth module 구성
jeongjaino Jun 12, 2024
d222038
[CHORE]#2 : model module 구성
jeongjaino Jun 12, 2024
c742be3
[CHORE]#2 : libs 함수 로컬 필드 -> 전역 변수 변경
jeongjaino Jun 15, 2024
5e36bd6
[CHORE]#2 : gradle plugin, commonExtensions 적용 및 각 라이브러리에 맞는 Extensio…
jeongjaino Jun 15, 2024
89f1d43
[CHORE]#2 : JVM Library Plugin 구현 및 domain, model 플러그인 적용
jeongjaino Jun 15, 2024
5c8bcfc
[CHORE]#2 : common, ui core 모듈 생성
jeongjaino Jun 15, 2024
9e4aa3c
[CHORE]#2 : JVM Plugin 생성
jeongjaino Jun 15, 2024
fe16696
[CHORE]#2 : Gradle Plguin, Version Catalog 등록 및 적용
jeongjaino Jun 15, 2024
2000594
[CHORE]#2 : gitignore 등록 및 idea 파일 삭제
jeongjaino Jun 15, 2024
c6316fb
[CHORE]#2 : formatting 수정
jeongjaino Jun 15, 2024
7a2b130
[CHORE]#2 : Module 간 의존 모듈 관계 설정
jeongjaino Jun 16, 2024
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
203 changes: 203 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@
# Created by https://www.toptal.com/developers/gitignore/api/android,androidstudio,kotlin
# Edit at https://www.toptal.com/developers/gitignore?templates=android,androidstudio,kotlin

### Android ###
# Gradle files
.gradle/
build/

# Local configuration file (sdk path, etc)
local.properties
lighthouse.properties
credentials.json
output-metadata.json

# Log/OS Files
*.log

# Android Studio generated files and folders
captures/
.externalNativeBuild/
.cxx/
*.apk
output.json

# IntelliJ
*.iml
.idea/
misc.xml
deploymentTargetDropDown.xml
render.experimental.xml

# Keystore files
*.jks
*.keystore

# Google Services (e.g. APIs or Firebase)
google-services.json

# Android Profiling
*.hprof

### Android Patch ###
gen-external-apklibs

# Replacement of .externalNativeBuild directories introduced
# with Android Studio 3.5.

### Kotlin ###
# Compiled class file
*.class

# Log file

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
replay_pid*

### AndroidStudio ###
# Covers files to be ignored for android development using Android Studio.

# Built application files
*.ap_
*.aab

# Files for the ART/Dalvik VM
*.dex

# Java class files

# Generated files
bin/
gen/
out/

# Gradle files
.gradle

# Signing files
.signing/

# Local configuration file (sdk path, etc)

# Proguard folder generated by Eclipse
proguard/

# Log Files

# Android Studio
/*/build/
/*/local.properties
/*/out
/*/*/build
/*/*/production
.navigation/
*.ipr
*~
*.swp

# Keystore files

# Google Services (e.g. APIs or Firebase)
# google-services.json

# Android Patch

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild

# NDK
obj/

# IntelliJ IDEA
*.iws
/out/

# User-specific configurations
.idea/caches/
.idea/libraries/
.idea/shelf/
.idea/workspace.xml
.idea/tasks.xml
.idea/.name
.idea/compiler.xml
.idea/copyright/profiles_settings.xml
.idea/encodings.xml
.idea/misc.xml
.idea/modules.xml
.idea/scopes/scope_settings.xml
.idea/dictionaries
.idea/vcs.xml
.idea/jsLibraryMappings.xml
.idea/datasources.xml
.idea/dataSources.ids
.idea/sqlDataSources.xml
.idea/dynamic.xml
.idea/uiDesigner.xml
.idea/assetWizardSettings.xml
.idea/gradle.xml
.idea/jarRepositories.xml
.idea/navEditor.xml

# Legacy Eclipse project files
.classpath
.project
.cproject
.settings/

# Mobile Tools for Java (J2ME)

# Package Files #

# virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml)

## Plugin-specific files:

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Mongo Explorer plugin
.idea/mongoSettings.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

### AndroidStudio Patch ###

!/gradle/wrapper/gradle-wrapper.jar

# End of https://www.toptal.com/developers/gitignore/api/android,androidstudio,kotlin


/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.cxx
2 changes: 2 additions & 0 deletions app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/build
/google-services.json
22 changes: 22 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
plugins {
alias(libs.plugins.wespot.android.application)
alias(libs.plugins.wespot.android.hilt)
alias(libs.plugins.wespot.android.compose)
alias(libs.plugins.wespot.android.firebase)
}

android {
namespace = "com.bff.wespot"
}

dependencies {
implementation(project(":feature:auth"))
flash159483 marked this conversation as resolved.
Show resolved Hide resolved
implementation(project(":domain"))
implementation(project(":data"))
implementation(project(":core:model"))
implementation(project(":feature:auth"))
implementation(libs.androidx.appcompat)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.junit)
}
21 changes: 21 additions & 0 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
22 changes: 22 additions & 0 deletions app/src/androidTest/java/com/bff/wespot/ExampleInstrumentedTest.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.bff.wespot

import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith

/**
* Instrumented test, which will execute on an Android device.
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {
@Test
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("com.bff.wespot", appContext.packageName)
}
}
28 changes: 28 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<application
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.WeSpot"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.WeSpot">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

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

</manifest>
10 changes: 10 additions & 0 deletions app/src/main/kotlin/com/bff/wespot/MainActivity.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.bff.wespot

import android.os.Bundle
import androidx.activity.ComponentActivity

class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
}
Loading