EAP용 빌드 구성하기
EAP용 빌드 구성하기 (Configure your build for EAP)
Kotlin의 EAP(Early Access Preview) 버전을 직접 프로젝트에 적용해 보고 싶을 때가 있죠. 이번에는 Gradle과 Maven에서 빌드를 EAP 버전으로 맞추는 방법을 차근차근 살펴볼게요. 핵심은 두 가지예요. Kotlin 자체의 버전을 EAP로 바꾸고, 함께 쓰는 라이브러리 버전도 EAP와 호환되는 것으로 맞춰 주는 거예요.
본문
빌드를 Kotlin EAP 버전으로 구성하려면 다음 두 가지를 정리해야 해요.
- Kotlin의 EAP 버전을 지정해요. 사용 가능한 EAP 버전은 여기에서 확인할 수 있어요.
- 의존성의 버전을 EAP에 맞는 것으로 바꿔요. EAP 버전의 Kotlin은 이전에 출시된 버전의 라이브러리와 호환되지 않을 수 있거든요.
아래 절차에서는 Gradle과 Maven에서 빌드를 각각 어떻게 구성하는지 설명할게요.
Gradle에서 구성하기
이 섹션에서는 다음 두 가지를 다룰게요.
Kotlin 버전 조정하기
build.gradle(.kts)의 plugins 블록에서 KOTLIN-EAP-VERSION을 실제 EAP 버전(예: 2.4.20-RC3)으로 바꿔요. 사용 가능한 EAP 버전은 여기에서 확인할 수 있어요.
대신 settings.gradle(.kts)의 pluginManagement 블록에 EAP 버전을 지정해도 돼요. 자세한 내용은 Gradle 문서를 참고하세요. 아래는 Multiplatform 프로젝트의 예시예요.
plugins {
java
kotlin("multiplatform") version "KOTLIN-EAP-VERSION"
}
repositories {
mavenCentral()
}
plugins {
id 'java'
id 'org.jetbrains.kotlin.multiplatform' version 'KOTLIN-EAP-VERSION'
}
repositories {
mavenCentral()
}
의존성의 버전 조정하기
프로젝트에서 kotlinx 라이브러리를 쓴다면, 그 라이브러리 버전이 Kotlin EAP 버전과 호환되지 않을 수 있어요. 이 문제를 풀려면 의존성에 호환되는 라이브러리 버전을 지정해야 해요. 호환되는 라이브러리 목록은 EAP 빌드 상세에서 확인할 수 있어요.
대부분의 경우 특정 릴리스의 첫 EAP 버전을 위한 라이브러리를 만들고, 그 라이브러리는 같은 릴리스의 이후 EAP 버전에서도 그대로 동작해요. 다음 EAP 버전에서 호환되지 않는 변경이 생기면 그때 라이브러리의 새 버전을 출시해요.
예를 들어 kotlinx.coroutines 라이브러리의 경우, 2.4.20-RC3와 호환되는 버전인 1.11.0을 지정하면 돼요.
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.11.0")
}
dependencies {
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.11.0"
}
Maven에서 구성하기
샘플 Maven 프로젝트 정의에서 KOTLIN-EAP-VERSION을 실제 버전(예: 2.4.20-RC3)으로 바꿔요. 사용 가능한 EAP 버전은 여기에서 확인할 수 있어요.
<project ...>
<properties>
<kotlin.version>KOTLIN-EAP-VERSION</kotlin.version>
</properties>
<repositories>
<repository>
<id>mavenCentral</id>
<url>https://repo1.maven.org/maven2/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>mavenCentral</id>
<url>https://repo1.maven.org/maven2/</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>${kotlin.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
<version>${kotlin.version}</version>
...
</plugin>
</plugins>
</build>
</project>
문제가 생기면
- 문제를 발견하면 이슈 트래커 YouTrack에 보고해 주세요.
- Kotlin Slack의 #eap 채널에서 도움을 받을 수 있어요. (초대 받기)
- 최신 안정 버전으로 되돌리려면 빌드 스크립트 파일에서 버전을 바꾸면 돼요.
더 알아보기
- Kotlin EAP — EAP 버전과 빌드 상세 정보
- Gradle에서 프로젝트 구성하기 — Gradle 플러그인 설정 기초
- Maven에서 프로젝트 구성하기 — Maven 플러그인 설정 기초