Skip to content

Conversation

@kangyuri1114
Copy link
Member

@kangyuri1114 kangyuri1114 commented Jan 1, 2026

Summary

kapt -> ksp 마이그레이션, compose compiler 추가

Describe your changes

Issue

To reviewers

@kangyuri1114 kangyuri1114 self-assigned this Jan 1, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @kangyuri1114, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 PR은 프로젝트의 빌드 구성을 현대화하여 어노테이션 처리 및 Jetpack Compose 설정을 개선합니다. Kotlin 버전 업그레이드, KAPT에서 KSP로의 마이그레이션, 그리고 Compose Compiler 플러그인 통합을 포함하며, 이는 Android 개발에서 최신 기능과 성능 향상을 활용하기 위한 필수적인 단계입니다.

Highlights

  • Kotlin 버전 업데이트: 프로젝트의 Kotlin 버전을 1.9.25에서 2.0.21로 업데이트했습니다.
  • KAPT에서 KSP로 마이그레이션: 어노테이션 프로세싱 도구를 KAPT(Kotlin Annotation Processing Tool)에서 KSP(Kotlin Symbol Processing)로 전환했습니다. 이는 빌드 성능 향상에 기여합니다.
  • Compose Compiler 플러그인 추가: Kotlin 2.0.x 이상 버전에서 Jetpack Compose를 사용하기 위해 Compose Compiler 플러그인을 프로젝트에 추가하고 구성했습니다.
  • 불필요한 설정 제거: 새로운 Kotlin 및 Compose 설정에 따라 더 이상 필요하지 않은 composeOptions 블록과 kapt 설정 블록을 제거하여 빌드 스크립트를 간소화했습니다.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

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

Choose a reason for hiding this comment

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

Code Review

kapt에서 ksp로의 마이그레이션과 Compose Compiler 추가를 위한 전반적인 변경 사항들이 잘 적용되었습니다. Kotlin 버전을 업데이트하고 관련 의존성을 수정한 점이 좋습니다. 몇 가지 개선 사항과 함께, 빌드가 실패할 수 있는 중요한 문제를 발견하여 리뷰에 포함했습니다. gradle/libs.versions.toml 파일에서 glide-compiler의 버전이 4.12.0으로 설정되어 있는데, Glide의 KSP 지원은 4.13.0 버전부터 시작되었습니다. 따라서 빌드를 성공시키려면 이 버전을 4.15.1 (glide 라이브러리와 동일하게) 또는 최소 4.13.0 이상으로 업데이트해야 합니다. 이 부분은 변경된 코드 범위 밖이라 일반 요약에 남깁니다.

I am having trouble creating individual review comments. Click here to see my feedback.

app/build.gradle.kts (12)

medium

kapt 플러그인을 제거하는 것은 올바른 마이그레이션 단계입니다. 플러그인 선언을 정리하는 김에, 10번째 줄의 id("kotlin-android") 선언은 5번째 줄의 alias(libs.plugins.kotlin.android)와 중복되므로 제거하는 것을 권장합니다. 버전 카탈로그를 일관되게 사용하면 프로젝트의 유지보수성이 향상됩니다.

app/build.gradle.kts (106-108)

medium

composeOptions 블록을 제거한 것은 Kotlin 2.0 마이그레이션에 따른 올바른 조치입니다. 추가적으로, kotlin { jvmToolchain(17) }을 사용하고 있으므로 110-112줄의 kotlinOptions 블록은 더 이상 필요하지 않습니다. 해당 블록을 제거하면 빌드 스크립트를 더 간결하게 유지할 수 있습니다.

core/design-system/build.gradle.kts (32-34)

medium

composeOptions를 제거한 것은 올바른 변경입니다. app 모듈과의 일관성을 유지하고 최신 Gradle 관행을 따르기 위해, kotlinOptions를 사용하는 대신 kotlin { jvmToolchain(11) }을 설정하는 것을 고려해 보세요. 이렇게 하면 빌드 구성을 더 명확하고 일관되게 관리할 수 있습니다.

gradle/libs.versions.toml (168)

medium

파일의 끝에 개행 문자(newline)가 없습니다. 일반적으로 텍스트 파일은 끝에 개행 문자를 추가하는 것이 좋으며, 일부 도구에서 예기치 않은 문제를 방지할 수 있습니다.

@PeraSite
Copy link
Member

PeraSite commented Jan 2, 2026

코틀린 버전을 올리는 겸 최신 버전이면 좋을 것 같은데, 2.3.0 버전이 아니라 2.0.21 버전인 이유가 있을까요?
https://mvnrepository.com/artifact/org.jetbrains.kotlin.android/org.jetbrains.kotlin.android.gradle.plugin

@kangyuri1114
Copy link
Member Author

kotlin을 2.3.0으로 올리면서 ksp도 쓰려면 현재 agp도 최신버전으로 올려야 합니다! (오류 메시지의 원인이 이거인 것 같아요)
그래서 사이드이펙트와 부수적인 많은 라이브러리의 업데이트가 있을까하여.. kotlin + ksp 가 현재 agp에서 잘 빌드되는 버전 조합을 찾은 게 kotlin 2.0.21버전이라 그렇게 올려두었습니다
아직 머지가 안된 AGP PR이 있는데 왜 머지가 아직 안되는지도 잘 몰라서요..! @PeraSite

@PeraSite
Copy link
Member

PeraSite commented Jan 2, 2026

kotlin을 2.3.0으로 올리면서 ksp도 쓰려면 현재 agp도 최신버전으로 올려야 합니다! (오류 메시지의 원인이 이거인 것 같아요) 그래서 사이드이펙트와 부수적인 많은 라이브러리의 업데이트가 있을까하여.. kotlin + ksp 가 현재 agp에서 잘 빌드되는 버전 조합을 찾은 게 kotlin 2.0.21버전이라 그렇게 올려두었습니다 아직 머지가 안된 AGP PR이 있는데 왜 머지가 아직 안되는지도 잘 몰라서요..! @PeraSite

Github Actions의 그래들 캐시가 문제인 것 같은데... 아무리해도 #341 이 왜 안되는지는 잘 모르겠네용.. 허허
확인했습니다!!

Copy link
Member

@PeraSite PeraSite left a comment

Choose a reason for hiding this comment

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

👍👍

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.

[Chore] kapt -> ksp

3 participants