[global] 수동 작성 모델 클래스 제거 및 shared 타입 도입 + GitHub Packages CI/CD 구성#15
Merged
wwwcomcomcomcom merged 11 commits intoJul 9, 2026
Merged
Conversation
snowykte0426
reviewed
Jun 9, 2026
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
shared 타입 도입 + GitHub Packages CI/CD 구성
snowykte0426
approved these changes
Jun 25, 2026
ZaMan0806
approved these changes
Jul 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
datagsm-shared의존성 도입으로 공유 타입을 단일 소스로 관리Changes
Refactor
model/패키지 내 수동 작성 모델 클래스 전체 삭제ClubApi,NeisApi,ProjectApi,StudentApi및 각 Impl 클래스에서 shared 타입 import로 교체JsonUtil: Gson 제거, JacksonObjectMapper+KotlinModule도입kotlinx.datetime.LocalDate커스텀 역직렬화기 추가 (LocalDate.parse(String)이 synthetic이므로fromEpochDays방식 사용)Breaking Changes⚠️
NeisApi.getMeals()반환 타입:List<Meal>→MealResDtoNeisApi.getSchedules()반환 타입:List<Schedule>→ScheduleResDtoNeisApi.getTimetables()반환 타입:List<Timetable>→TimetableResDtoClubApi.getClub()반환 타입:ClubDetail→ClubResDtoProjectApi.getProject()반환 타입:Project→ProjectResDtoStudentApi.getStudent()반환 타입:Student→StudentResDto1.7.0→2.0.0(Major bump — 위 인터페이스 변경 반영)Build / CI
build.gradle.kts: GitHub Packages 저장소 추가,datagsm-shared의존성 추가, Java 17 타겟으로 통일jitpack.yml제거.github/workflows/CI.yml:develop브랜치 빌드 트리거 추가, GitHub Packages 인증 환경변수 추가.github/workflows/CD.yml: GitHub Packages 배포로 전환,permissions: packages: write추가, JDK 21 + Temurin으로 교체.github/workflows/build.yml추가 (PR/push 시 빌드 검증) — CI.yml과 통합 가능 여부 검토 필요Known Issues / Follow-up
build.yml과CI.yml이 동일 트리거에서 중복 실행되는 문제 → 추후 통합 검토datagsm-shared-jvm:20260514-2날짜 기반 버전 → semantic versioning으로 전환 검토Test Plan
./gradlew build로컬 빌드 통과 확인ClubApi,StudentApi,NeisApi,ProjectApi)가 shared 타입으로 정상 동작하는지 통합 확인🤖 Generated with Claude Code