====== Gradle ====== ===== 의존성 옵션 ===== * **implementation**: 의존 라이브러리 수정시 본 모듈까지만 재빌드한다. \\ 본 모듈을 의존하는 모듈은 해당 라이브러리의 api 를 사용할 수 없음 * **api**: 의존 라이브러리 수정시 본 모듈을 의존하는 모듈들도 재빌드 \\ 본 모듈을 의존하는 모듈들도 해당 라이브러리의 api 를 사용할 수 있음 * **compileOnly**: 이름에서 알 수 있듯이 compile 시에만 빌드하고 빌드 결과물에는 포함하지 않는다. \\ runtime 시 필요없는 라이브러리인 경우 (runtime 환경에 이미 라이브러리가 제공되고 있는가 하는 등의 경우) * **runtimeOnly**: runtime 시에만 필요한 라이브러리인 경우 * **annotationProcessor**: annotation processor 명시 (ex:lombok) * **testImplementation** : 테스트 코드를 수행할 때만 적용. ===== References ===== * [[https://velog.io/@franc/Gradle-%EA%B8%B0%EB%B3%B8%EC%82%AC%EC%9A%A9%EB%B2%95|Gradle 기본사용법]] * [[https://velog.io/@sa1341/Gradle-%EA%B8%B0%EB%B3%B8-%EB%8B%A4%EC%A7%80%EA%B8%B0-1%ED%8E%B8|Gradle 기본 다지기 1편]] * [[https://namsick96.github.io/build%20tool/Gradle_version_change_at_Intellij/|Intellij에서 Gradle 버전 바꾸기]] * [[https://tube-life.tistory.com/25|[intellij] gradle 버전 변경]] * [[https://cantcoding.tistory.com/59|Gradle 의존성 옵션 정리(Compile VS implementation,옵션)]]