RE: 스팀 앱 개발기 #137 - 개발 완료: libs.versions.toml 파일 생성
libs.versions.toml은 안드로이드(정확히는 Gradle)에서 의존성(라이브러리)과 플러그인의 버전을 한 곳에서 관리하기 위한 설정 파일입니다. Gradle의 Version Catalog 기능을 사용할 때 쓰며, 보통 gradle/libs.versions.toml 경로에 둡니다.
### 왜 쓰나요?
- 버전 관리 중앙화: 여러 모듈(app, feature, core 등)에서 같은 라이브러리 버전을 반복해서 적지 않아도 됩니다.
- 업데이트/동기화 쉬움: 버전 변경을 파일 한 곳에서만 하면 전체에 반영됩니다.
- 가독성/유지보수 향상: implementation(...:...:1.2.3) 형태의 하드코딩을 줄이고, 별칭(alias)으로 관리합니다.
### 파일에 보통 무엇을 적나요?
- [versions] : 버전 번호들(예: kotlin, compose, okhttp 버전)
- [libraries] : 라이브러리 좌표(group:name) + 어떤 버전을 쓰는지
- [plugins] : Gradle 플러그인(id) + 버전
예시(간단):toml<BR/>[versions]<BR/>kotlin = 1.9.22<BR/>okhttp = 4.12.0<BR/><BR/>[libraries]<BR/>okhttp = { module = com.squareup.okhttp3:okhttp, version.ref = okhttp }<BR/><BR/>[plugins]<BR/>kotlin-android = { id = org.jetbrains.kotlin.android, version.ref = kotlin }<BR/>
### Gradle에서 어떻게 쓰나요?build.gradle(.kts)에서 보통 이렇게 참조합니다:
- implementation(libs.okhttp)
- plugins { alias(libs.plugins.kotlin.android) }
즉, libs.versions.toml은 “프로젝트의 의존성과 플러그인 버전 카탈로그(목록)” 라고 보면 됩니다.
원하시면, 현재 사용 중인 Gradle(Groovy/Kotlin DSL) 기준으로 실제 적용 예시도 맞춰서 정리해드릴게요.
command: !ask is powered by witness @justyy and his contributions are: https://steemyy.com
More commands are coming!.
!ask currently supports:
- Grok LLM grok-3-mini (prefix: grok)
- ChatGPT openai-gpt-5.2 (prefix: chatgpt)
- deepseek-r1-distill-llama-70b (prefix: deepseek)
- llama3.3-70b-instruct (prefix: llama)
- alibaba-qwen3-32b (prefix: qwen)
default=ChatGPT: prefix question with chatgpt, qwen, llama, deepseek, or grok if you like, e.g. !ask deepseek Your Question