Skip to content

Latest commit

Β 

History

History
63 lines (55 loc) Β· 2.8 KB

File metadata and controls

63 lines (55 loc) Β· 2.8 KB

Knowre Android Library

  • 노리 ν”„λ‘œμ νŠΈμ— μ‚¬μš©λ˜λŠ” 곡톡 μ½”λ“œλ“€μ„ λͺ¨μ•„λ‘λŠ” μ„œλΈŒλͺ¨λ“ˆ λ ˆνΌμ§€ν† λ¦¬μž…λ‹ˆλ‹€.

Modules

  • extension-standard

    • 순수 kotlin κ΄€λ ¨ μ»€μŠ€ν…€ ν™•μž₯ν•¨μˆ˜ 및 μœ ν‹Έ 클래슀 μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” λͺ¨λ“ˆμž…λ‹ˆλ‹€.
  • extension-android

    • μ•ˆλ“œλ‘œμ΄λ“œ κ΄€λ ¨ μ»€μŠ€ν…€ λ·° / ν™•μž₯ν•¨μˆ˜ 및 μœ ν‹Έ 클래슀 μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” λͺ¨λ“ˆμž…λ‹ˆλ‹€.
    • extension-standard 에 dependency λ₯Ό κ°€μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€.

Usage

  • μ„œλΈŒ λͺ¨λ“ˆμ΄ ν¬ν•¨λœ λ ˆν¬μ§€ν† λ¦¬λ₯Ό ν΄λ‘ ν•˜λŠ” 경우

    • μ•„λž˜ λͺ…λ Ήμ–΄λ‘œ 슈퍼 λ ˆν¬μ§€ν† λ¦¬λ₯Ό clone
    android_project> git clone [SUPER_REPOSITRY]
    android_project> cd [PROJECT_NAME]
    
    • μœ„μ²˜λŸΌ 땑겨왔을 경우 μ„œλΈŒλͺ¨λ“ˆ 폴더 kal μ•ˆμ—λŠ” 아무 λ‚΄μš©μ΄ μ—†μŒ
    • μ•„λž˜ λͺ…λ Ήμ–΄λ‘œ μ„œλΈŒλͺ¨λ“ˆμ— λŒ€ν•œ μ„€μ •νŒŒμΌ 생성(init) 및 μ„œλΈŒ λͺ¨λ“ˆμ•ˆμ˜ μ½”λ“œλ“€ fetch ν•΄μ˜΄(update)
    super> git submodule init
    super> git submodule update --remote
    
  • ν•΄λ‹Ή λ ˆνŒŒμ§€ν† λ¦¬κ°€ μ„œλΈŒλͺ¨λ“ˆλ‘œ μ„€μ •λ˜μ–΄ μžˆμ§€ μ•Šμ€ λ ˆνŒŒμ§€ν† λ¦¬μ—μ„œ μž„ν¬νŠΈν•  경우

    • μ•„λž˜ λͺ…λ Ήμ–΄λ‘œ μ„œλΈŒλͺ¨λ“ˆμ„ super λ ˆνŒŒμ§€ν† λ¦¬μ— μΆ”κ°€ (폴더λͺ…은 kal 둜 μ„€μ •)
    super> git submodule add https://github.com/Knowre-Dev/KnowreAndroidLibrary.git kal
    
    • μœ„μ²˜λŸΌ ν•˜λ©΄ super λ ˆνŒŒμ§€ν† λ¦¬ λ£¨νŠΈμ— .gitsubmodule 파일이 생성됨. ν•΄λ‹Ή νŒŒμΌμ—μ„œ 맨 μ•„λž«μ€„μ— branch = main μΆ”κ°€
      • branch λ₯Ό main 으둜 μ„€μ •ν•  경우 git submodule update --remote μ‹€ν–‰ μ‹œ 항상 main branch 의 μ΅œμ‹  λ‚΄μš©μ„ pull ν•˜κ²Œ 됨
    • μ΅œμƒμœ„ setting.gradle 에 μ•„λž˜ λ‚΄μš© μΆ”κ°€(μ™„λ£Œν•˜κ³ λ‚˜λ©΄ IDE κ°€ ν•΄λ‹Ή 폴더듀을 λͺ¨λ“ˆλ‘œ μΈμ‹ν•˜κΈ° μ‹œμž‘)
    include ':kal'
    include ':kal:app'
    include ':kal:extension-android'
    include ':kal:extension-standard'
    include ':kal:기타_kal_ν”„λ‘œμ νŠΈμ—_μƒμ„±λœ_λͺ¨λ“ˆλ“€'
    • kal:app 의 build.gradle μ—λŠ” buildType 이 release 밖에 μ—†κΈ° λ•Œλ¬Έμ—, super ν”„λ‘œμ νŠΈμ˜ buildType κ³Ό 뢈일치 ν•  경우 μ—λŸ¬κ°€ λ°œμƒν•œλ‹€. 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ super ν”„λ‘œμ νŠΈμ˜ build.gradle 에 μ•„λž˜μ™€ 같은 buildType matchingFallbacks μΆ”κ°€.
    buildTypes {
          debugTest {
               /**
               * λ§Œμ•½ import 된 android module 이 debugTest buildType 을 κ°€μ§€κ³  μžˆμ§€ μ•Šμ„ 경우 ν•΄λ‹Ή λͺ¨λ“ˆμ€ debug 둜 λΉŒλ“œν•˜λ„λ‘ μ„€μ •
               */
              matchingFallbacks = ['debug']
          }
          
          qa {
              matchingFallbacks = ['debug']
          }
      }
    • super ν”„λ‘œμ νŠΈμ˜ app μˆ˜μ€€μ˜ gradle μ—μ„œ μ•„λž˜μ™€ 같이 μ„œλΈŒλͺ¨λ“ˆμ˜ λͺ¨λ“ˆμ„ μ„ νƒμ μœΌλ‘œ μž„ν¬νŠΈν•˜μ—¬ μ‚¬μš©
    implementation(project(':kal:extension-android'))
    implementation(project(':kal:extension-standard'))