글을 작성하게 된 계기
Gradle을 사용하면서 Incubating 이라는 단어를 알게 되었고, 이를 정리하기 위해 글을 작성하게 되었습니다.
1. Incubating
build.gradle.kts를 수정하던 중, 다음과 같은 경고를 마주치게 되었습니다.
1
2
3
4
5
configurations {
compileOnly {
extendsFrom(configurations.annotationProcessor.get())
}
}
‘invoke(org.gradle.api.artifacts.ConfigurationContainer, org.gradle.api.Action
)' is marked unstable with @Incubating
처음 보는 내용이라 궁금해서 검색을 했더니 Gradle의 Incubating 이라는 개념이 있더라고요. 해당 기능이 아직 완전히 안정화되지 않았고 개발 중이기 때문에 향후 변경되거나 제거될 수 있다는 내용인데, 쉽게 말해 아직 실험중인 기능이라고 생각하시면 됩니다.
어노테이션도 존재하고요. 이는 Gradle에서 제공하는 기능으로, 개발자가 직접 사용할 일은 거의 없습니다.
1
2
3
4
@Documented
@Retention(value = RetentionPolicy.RUNTIME)
@Target(value = [ElementType.PACKAGE, ElementType.TYPE, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.FIELD, ElementType.METHOD])
annotation class Incubating
여튼 다음과 같이 수정해서 경고를 제거했습니다.
1
2
3
configurations.compileOnly {
extendsFrom(configurations.annotationProcessor.get())
}
2. 정리
별 내용은 없는데요, Gradle을 사용하면서 Incubating이라는 개념을 알게 되었고, 기왕 알게 된 내용 정리하려고 했습니다. 💩