안드로이드 탐구 : Kotlin Library Module

Skele·2025년 5월 6일
0
post-thumbnail

안드로이드에 멀티 모듈 아키텍쳐를 사용함에 있어서, 주로 안드로이드와 관련된 기능이 필요하기 때문에 대부분 안드로이드 라이브러리 또는 앱 모듈로 생성하게 된다.
하지만 자바 또는 코틀린만으로 이루어진 외부 라이브러리를 쓰거나 안드로이드의 기능이 필요없는 경우, 불필요한 안드로이드 의존성을 넣기보단 호환가능한 순수 자바/코틀린 라이브러리로 생성하는 것이 더 나을 것이다.

Create Module


새 모듈 생성을 선택한 후, Java or Kotlin Library를 선택하면 된다.

Plugin for Build-logic

멀티 모듈 구조로 프로젝트를 설계했고 별도의 의존성 관리를 위한 빌드로직을 가지고 있다면, 이러한 자바/코틀린 라이브러리 또한 플러그인을 만들어 관리할 수 있다.

Kotlin Convention Plugin

class KotlinLibraryConventionPlugin : Plugin<Project> {
    override fun apply(target: Project) {
        with(target) {
            with(pluginManager) {
                apply("org.jetbrains.kotlin.jvm")
            }
            configureKotlinJvm()
        }
    }
}
internal fun Project.configureKotlinJvm() {
    extensions.configure<JavaPluginExtension> {
        sourceCompatibility = JavaVersion.VERSION_17
        targetCompatibility = JavaVersion.VERSION_17
    }

    configure<KotlinJvmProjectExtension> {
        compilerOptions.jvmTarget = JvmTarget.JVM_17
    }
}

코틀린 라이브러리를 모델 관리용도로만 쓸 생각이기 때문에 추가적인 의존성 없이 담백하게 자바 버전만 잘 관리해주면 된다.

build.gradle.kts

plugins {
    alias(libs.plugins.module.kotlin.library)
}

플러그인을 등록 후, 해당 모듈에 적용해주기만 하면 된다.

profile
Tireless And Restless Debugging In Source : TARDIS

0개의 댓글