fix(release): Maven 메타데이터를 MIT 라이선스로 통일 - #52
Conversation
📝 WalkthroughSummary by CodeRabbit
WalkthroughChangesMIT publication metadata alignment
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Comment |
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
build.gradle (1)
154-159: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win공개 대상 판단을 positive allowlist로 통일 권장.
현재 154행은
name != 'token-pilot-sample-app'(샘플 앱만 제외)로maven-publish적용 대상을 결정하고, 별도로publishedModuleDescriptions맵(7개 공개 모듈)을 진실의 원천으로 사용합니다. 두 판단 기준이 분리되어 있어, 향후 비공개용 서브프로젝트(예: 통합 테스트 모듈)가 추가되면 155-158행의GradleException으로 빌드가 즉시 실패하는데, 이를 해결하는 가장 손쉬운 방법이publishedModuleDescriptions에 설명을 추가하는 것이 되어버려 의도치 않게 해당 모듈이 실제로 배포되어 버릴 수 있습니다(274-347행의verifyPublicationMetadata는 이 상태를 통과시킵니다). 조건을publishedModuleDescriptions.containsKey(name)기반으로 바꾸면 "공개 모듈 목록"의 단일 진실 공급원이 되어 이런 드리프트를 방지할 수 있습니다.♻️ 제안 리팩터
- if (name != 'token-pilot-sample-app') { + if (publishedModuleDescriptions.containsKey(name)) { description = publishedModuleDescriptions[name] - if (!description) { - throw new GradleException("Missing publication description for ${project.path}") - }🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@build.gradle` around lines 154 - 159, Update the publication-target condition in the Gradle configuration to use publishedModuleDescriptions.containsKey(name) as the positive allowlist. Keep the existing description lookup and missing-description validation for allowed modules, while ensuring projects absent from the map are not configured for publication.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@build.gradle`:
- Around line 154-159: Update the publication-target condition in the Gradle
configuration to use publishedModuleDescriptions.containsKey(name) as the
positive allowlist. Keep the existing description lookup and missing-description
validation for allowed modules, while ensuring projects absent from the map are
not configured for publication.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro Plus
Run ID: fd36065f-89cb-4533-848f-7ea21f8d28e7
📒 Files selected for processing (3)
AGENTS.mdREADME.mdbuild.gradle
변경 사항
verifyPublicationMetadata태스크를 추가했습니다.원인
루트
LICENSE와 README는 MIT였지만 공통 Maven publishing 설정은 Apache License 2.0을 선언해, 모든 배포 아티팩트의 POM에 잘못된 라이선스가 전파되고 있었습니다.영향
Maven 소비자가 확인하는 라이선스와 저장소의 실제 라이선스가 일치합니다. 이후 metadata가 회귀하면 일반
check및build단계에서 탐지됩니다.검증
./gradlew verifyPublicationMetadata./gradlew clean build jreleaserConfigCloses #29