Skip to content

CradlePlugin으로 target 단위 Mermaid .mmd 개발 산출물을 생성하도록 구현한다 - #34

Merged
opficdev merged 14 commits into
developfrom
feat/#33
Sep 5, 2026
Merged

opficdev merged 14 commits into
developfrom
feat/#33

Conversation

@opficdev

@opficdev opficdev commented Sep 5, 2026

Copy link
Copy Markdown
Owner

🔗 연관된 이슈

🎯 작업 목적

@DependencyGraph 선언을 build 산출물로 확인할 수 있게 Mermaid 코드를 생성하고, 앱·라이브러리 제품에는 포함하지 않으면서 ExampleApp에서 쉽게 열 수 있게 합니다.

📝 작업 내용

📌 요약

  • diagram 설정을 기준으로 target별 단일 DependencyGraph.mmd 생성
  • CradlePlugin과 CradleDiagramMaker artifact를 통한 build 시 분석·생성
  • ExampleApp build 뒤 .cradle/DependencyGraph.mmd로 복사
  • Mermaid 렌더링·산출물 관리·consumer fixture 검증 추가

🔍 상세

  • @DependencyGraph(diagram: Bool = true)를 추가하고 diagram: false 선언은 산출물에서 제외
  • 조건부 컴파일 분기를 평가하지 않고 작성된 graph를 분석하며, 중복 graph path와 accessor 충돌은 오류로 처리
  • 의존성 화살표는 모두 실선으로 표현하고 .shared와 .transient provider는 node 테두리로 구분
  • graph별 파일 대신 target 안의 대상 graph를 하나의 DependencyGraph.mmd에 정리
  • 내용이 같으면 파일 수정 시각을 보존하고, 분석 실패 시 기존 산출물을 유지
  • CradlePlugin을 연결한 target만 분석하며 source·resource·최종 app bundle에는 .mmd를 포함하지 않음
  • ExampleApp의 Cradle Mermaid copy 단계가 CopyCradleMermaid.sh를 실행해 .cradle/DependencyGraph.mmd로 복사
  • README와 DocC에 생성 조건, 작업 경로 수명, ExampleApp 설정을 기록
  • 사용자 요청에 따라 .agents의 설계·검토 역할 model 설정 변경 포함
  • Example App 레이어
image

✅ 검증

  • swift build
  • swift test
  • ExampleApp generic iOS build
  • Mermaid 렌더링, 산출물 유지·정리, consumer plugin 연결 fixture 검증
  • .mmd의 app bundle 미포함 및 .cradle/ Git 제외 확인

🔄 변경 흐름

flowchart LR
    source[Swift source] --> plugin[CradlePlugin]
    configuration[diagram 설정] --> plugin
    plugin --> maker[CradleDiagramMaker]
    maker --> output[DependencyGraph.mmd]
    output --> copy[ExampleApp Run Script]
    copy --> local[.cradle DependencyGraph.mmd]
Loading

@opficdev opficdev self-assigned this Sep 5, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 5, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-05T04:49:19.456463Z 617d321 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 617d321892

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread Package.swift
Comment thread Examples/ExampleApp/Scripts/CopyCradleMermaid.sh
Comment thread Sources/CradleGraphAnalysis/GraphDiagramParser.swift Outdated
Comment thread Examples/ExampleApp/Scripts/CopyCradleMermaid.sh Outdated
@opficdev
opficdev merged commit 81ecf50 into develop Sep 5, 2026
5 checks passed
@opficdev
opficdev deleted the feat/#33 branch September 5, 2026 05:27
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.

CradlePlugin으로 target 단위 Mermaid .mmd 개발 산출물을 생성하도록 구현한다

1 participant