Skip to content

[#663] Home 탭을 HomeTab 모듈로 분리한다#677

Open
opficdev wants to merge 11 commits into
developfrom
refactor/#663-HomeTab
Open

[#663] Home 탭을 HomeTab 모듈로 분리한다#677
opficdev wants to merge 11 commits into
developfrom
refactor/#663-HomeTab

Conversation

@opficdev

@opficdev opficdev commented Jul 2, 2026

Copy link
Copy Markdown
Owner

🔗 연관된 이슈

🎯 의도

  • Home 탭의 화면, TCA feature, coordinator를 Presentation target에서 분리해 HomeTab target이 소유하도록 정리

📝 작업 내용

📌 요약

  • HomeTab target 추가 및 Home 관련 파일 이동
  • PresentationShared target으로 공용 Presentation feature 분리
  • Presentation target이 HomeTabPresentationShared를 조립하는 구조로 변경
  • 탭 모듈 분리 후 발생한 framework/link 경고 및 README 아키텍처 그래프 정리

🔍 상세

  • HomeFeature, HomeView, HomeViewCoordinator, CategoryManageFeature, CategoryManageViewHomeTab으로 이동
  • Todo 목록/상세/작성, Search, 공용 UI component, presentation item을 PresentationShared로 분리
  • HomeTabPresentationShared, Domain, Core만 직접 참조하도록 target dependency 정리
  • PresentationShared 소스 위치를 Application/Presentation/PresentationShared/Sources로 정리
  • Presentation target의 source glob과 PresentationShared source path 갱신
  • Presentation 계열 framework를 static framework로 전환
  • no-symbol libtool warning 억제를 위한 OTHER_LIBTOOLFLAGS 설정 추가
  • README의 Tuist 모듈 의존성 그래프 갱신

📸 영상 / 이미지 (Optional)

  • README 아키텍처 그래프 갱신

@opficdev opficdev self-assigned this Jul 2, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

이번 풀 리퀘스트는 프레젠테이션 레이어를 PresentationShared, HomeTab, Presentation 등의 여러 타겟으로 모듈화하고, 이에 맞춰 파일들의 접근 제어자를 public으로 업데이트하며 의존성 및 테스트 코드를 재구성하는 작업을 포함하고 있습니다. 리뷰어는 public extension 내부에 정의된 메서드나 프로퍼티가 명시적으로 public 키워드를 갖지 않아 외부 모듈에서 접근할 수 없는 문제를 해결하도록 가이드하고 있으며, HomeFeature 내의 중복된 액션 처리 로직을 리팩토링하여 유지보수성을 높일 것을 제안하고 있습니다.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

❌ iOS CI failed.

Build failed

No compiler-style error diagnostics were found in build.log.

Tests failed

Failed schemes:

  • Presentation (ios-test-Presentation)
cmark_gfm_extensions (Clang): 1 variant
dnssd (Clang): 2 variants
launch (Clang): 3 variants
libDER (Clang): 1 variant
libkern (Clang): 1 variant
os (Clang): 6 variants
os_object (Clang): 6 variants
os_workgroup (Clang): 6 variants
ptrauth (Clang): 4 variants
ptrcheck (Clang): 6 variants
simd (Clang): 3 variants
sys_types (Clang): 6 variants
Full report written to '/Users/runner/Library/Developer/Xcode/DerivedData/DevLog-dtgllwgostbreabkgrzgvbsdezcv/Build/Intermediates.noindex/XCBuildData/swiftmodulesreport'
note: Run script build phase 'SwiftLint' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'PresentationTests' from project 'Presentation')
note: Run script build phase 'SwiftLint' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'PresentationShared' from project 'Presentation')
note: Run script build phase 'SwiftLint' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'Presentation' from project 'Presentation')
note: Run script build phase 'SwiftLint' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'HomeTab' from project 'Presentation')
note: Run script build phase 'SwiftLint' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'Domain' from project 'Domain')
note: Run script build phase 'SwiftLint' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'Core' from project 'Core')
Test session results, code coverage, and logs:
/Users/runner/Library/Developer/Xcode/DerivedData/DevLog-dtgllwgostbreabkgrzgvbsdezcv/Logs/Test/Test-Presentation-2026.07.02_15-43-20-+0000.xcresult

Check the uploaded test log artifacts for full diagnostics.

@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

❌ iOS CI failed.

Build failed

No compiler-style error diagnostics were found in build.log.

Tests failed

Failed schemes:

  • Presentation (ios-test-Presentation)
cmark_gfm_extensions (Clang): 1 variant
dnssd (Clang): 2 variants
launch (Clang): 3 variants
libDER (Clang): 1 variant
libkern (Clang): 1 variant
os (Clang): 6 variants
os_object (Clang): 6 variants
os_workgroup (Clang): 6 variants
ptrauth (Clang): 4 variants
ptrcheck (Clang): 6 variants
simd (Clang): 3 variants
sys_types (Clang): 6 variants
Full report written to '/Users/runner/Library/Developer/Xcode/DerivedData/DevLog-dtgllwgostbreabkgrzgvbsdezcv/Build/Intermediates.noindex/XCBuildData/swiftmodulesreport'
note: Run script build phase 'SwiftLint' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'PresentationTests' from project 'Presentation')
note: Run script build phase 'SwiftLint' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'PresentationShared' from project 'Presentation')
note: Run script build phase 'SwiftLint' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'Presentation' from project 'Presentation')
note: Run script build phase 'SwiftLint' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'HomeTab' from project 'Presentation')
note: Run script build phase 'SwiftLint' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'Domain' from project 'Domain')
note: Run script build phase 'SwiftLint' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'Core' from project 'Core')
Test session results, code coverage, and logs:
/Users/runner/Library/Developer/Xcode/DerivedData/DevLog-dtgllwgostbreabkgrzgvbsdezcv/Logs/Test/Test-Presentation-2026.07.02_16-02-53-+0000.xcresult

Check the uploaded test log artifacts for full diagnostics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Home 탭을 HomeTab 모듈로 분리한다

1 participant