Gradle Multi Module Project - upswp/THXSTORE GitHub Wiki
Gradle Multi Module Project ꡬμ±νκΈ°
Gradle Multi Module
νλ‘μ νΈλ₯Ό κ΅¬μ± μ web, api λ±μΌλ‘ μ©λκ° λ€λ₯Έ νλ‘μ νΈλ₯Ό Gradle Multi Moduleλ₯Ό μ΄μ©ν΄ κ°λ°μ μ§ννμ΅λλ€.
Gradle Multi Moduleλ‘ νλ‘μ νΈλ₯Ό μ§νν κ²½μ° λ€μκ³Ό κ°μ μ₯μ μ κ°μ§κ³ μμ΅λλ€.
1. κ°κ°μ λͺ¨λμμ 곡ν΅μΌλ‘ μ¬μ©νλ dependencies, ν΄λμ€ λΆλ¦¬νμ¬ common λͺ¨λμμ κ΄λ¦¬ν©λλ€. μ΄λ₯Ό ν΅ν΄ κ° λͺ¨λλ€μ λ 립μ μ΄κ³ νμν μ΅μνμ μμ‘΄μ±μ λΆμ¬νμ¬ μ¬μ¬μ©κ³Ό μ μ§ λ³΄μλ₯Ό μ½κ² λ§λλλ€.
μ ν¬ thx-store νλ‘μ νΈμμλ λ€μκ³Ό κ°μ΄ 곡λμΌλ‘ μ¬μ©λλ dependenciesμ ν΄λμ€λ₯Ό κ΄λ¦¬νλ 'module-common' λͺ¨λμ λ§λ€μ΄ λ€λ₯Έ λͺ¨λμμ 곡ν΅μΌλ‘ μ¬μ©λλ domain, dto, repositoryμ μ€μ , util μ λΆλ¦¬νμμ΅λλ€.
2. TDDλ°©μμΌλ‘ κ°λ°μ μ§ν μ λͺ¨λ νλ‘μ νΈλ₯Ό λΉλν νμμμ΄ ν μ€νΈκ° νμν λͺ¨λλ§ λΉλλ₯Ό μ§ννμ¬ λΉλμ νμν μκ°μ λ¨μΆν μ μμ΅λλ€.
ν μ€νΈ μ£Όλ λ°©μμΌλ‘ μ§νν μ ν¬ νλ‘μ νΈλ λͺ¨λλ³λ‘ ν μ€νΈλ₯Ό μμ±νκ³ ν μ€νΈκ° νμν λͺ¨λλ§ λΉλλ₯Ό μ§ννμ¬ ν μ€νΈν μ μμ΅λλ€. μ΄λ νλ‘μ νΈμ μ μ§λ³΄μ μ ν° μ΄μ μ΄ λλ€κ³ μκ°ν©λλ€.
3. THX-store νλ‘μ νΈμμλ κ°λ°, μ΄μμ νμμ±μ μν΄ λͺ¨λμ λΆλ¦¬νμμ΅λλ€.(μμ§μ λͺ¨λ리μμ λλ€.) μΆν μλΉμ€κ° νμ₯λμμ κ²½μ° λ©ν° λͺ¨λ κΈ°λ°μ΄κΈ° λλ¬Έμ [μ£Όλ¬Έ μλΉμ€ - λ°°λ¬ μλΉμ€], [κ΅λ΄ μλΉμ€-ν΄μΈ μλΉμ€] μ κ°μ νμμΌλ‘ MSAλ‘ μ ννκΈ° μ½μ΅λλ€.
λͺ¨λμ λΆλ¦¬λ 1. κ°λ°κ³Ό μ΄μμ μν ν΅ν© μλΉμ€λ₯Ό λΆλ¦¬νλ κ² 2. λ€μν μλΉμ€λ₯Ό λͺ¨λλ‘ λΆλ¦¬ν΄ κ΄λ¦¬νλ κ² (MSA) λ‘ λλ μ§λλ€.
THX-store νλ‘μ νΈλ νμ¬ 1λ² λ°©μμ μ¬μ©ν΄ λͺ¨λ리μ μλΉμ€ μμμ λͺ¨λμ λΆλ¦¬νμμΌλ©° μλΉμ€ νμ₯ μ API μλ²λ₯Ό λΆλ¦¬λ₯Ό ν΅ν MSAλ‘μ μ νμ κ³ λ €νκ³ μμ΅λλ€.
κ³΅ν΅ λͺ¨λμ κ°μ§κ³ μκ³ Gradle Multi Moduleλ‘ κ΅¬μ±λ νκ²½μ μλΉμ€ λ³λ‘ λͺ¨λμ νμ₯νκ±°λ κ°λ°, μ΄μμ μν MSAλ₯Ό ꡬμΆν λ μ½κ² μ νν μ μμ΅λλ€.