반응형
[Gradle] compile(api) vs. implementation |
-
gradle 3.0 이 나오면서 compile 은 deprecated 되었고, implementation 또는 api 를 써야 한다.
-
api dependency는 consumer 에게 library 가 노출이 되어, consumer 의 classpath 에 포함이 된다.
implementation 은 consumer 에게 노출되지 않아, compile classpath 에 들어가지 않는다.
-
implementation 의 장점은 아래와 같다.
dependency 가 compile classpath 에 들어가지 않아서 transitive dependency 를 실수로 depend 하지 않는다.
더 빠른 compile 이 가능하다.
dependency change 가 발생했을 때 recompile 을 적게 한다.
쉬운 배포가 가능하다. library 가 쓰는 녀석과 compile 할 때 들어가야 하는 library 구분이 된다.
-
예를 들어 x 라는 lib 을 사용하는데, 여기서 y, z 라는 lib 을 dependency 로 가지고 있다면, implementation 으로 사용하면 x 의 api 만 open 되고, api 를 사용하면 y, z 도 함께 노출된다.
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[Effective Unit Testing] Chap2. 좋은 테스트란? (0) | 2019.02.27 |
---|---|
[Effective Unit Testing] Chap1. 좋은 테스트의 약속 (0) | 2019.02.26 |
[android] Android unit and instrumentation tests tutorial (0) | 2019.02.05 |
[android] Espresso Tutorial (0) | 2019.02.04 |
[android] gradle build 성능 향상시키기 (0) | 2019.02.03 |
댓글