-
Gradle 기본 정리개발 2022. 12. 21. 11:28
Groovy 기반 Build Tool
ant,maven 같은 이전세대 빌드 도구들의 단점을 보완 및 장점을 취합한 오픈소스 빌드 도구
의존성 주입 방식
implementation 'org.junit.jupiter:junit-jupiter:5.4.2' compile group: 'com.amazonaws', name: 'aws-java-sdk-sqs',version: '1.11.415'
- compile : 상위 Module 수정 시 해당 Module을 의존하는(연관된) 모든 Module이 Rebuild 되는 방식(오래걸림)
연결된 모든 Module의 API가 노출된다. -> B를 가져와도 A까지 다 가져온다. 현재 deprecated 상태 (api로 대체 되었음) - compileOnly : Compile 시에만 빌드한다. 빌드의 결과물은 포함하지 않고, runtime때 필요 없는 Library인 경우( ex:runtime환경에서 이미 제공되고 있는 Library)
- implementaion : 상의 Module 수정 시, 해당 Module을 직접적으로 의존하는 Module까지만 Rebuild하는 방식(빠르다)
- 사용자에게 필요이상의 API노출 방지
- 의존 Library 수정 시 해당 Module까지만 Rebuild되고, 본 Module을 의존하는 Module은 해당 Library의 API 사용 불가. - testImplementation : test code 수행 시에만 적용
- api : 의존 Library 수정 시 본 Module을 의존하는 모든 Module들도 Rebuild방식
- 해당 Module을 의존하는 Module들도 해당 Library의 API 사용 가능 - runtimeOnly : runtime 시에만 필요한 Library인 경우
- annotationProcessor : annotation processor 명시 (ex - lombok)
'개발' 카테고리의 다른 글
Spring Multi Module (0) 2022.12.29 Eureka - [Spring Cloud] (0) 2022.12.29 Effective Java Study - 1 (1) 2022.09.08 JPA 연관 관계 매핑 (0) 2022.08.02 Index (2) (0) 2022.07.05 - compile : 상위 Module 수정 시 해당 Module을 의존하는(연관된) 모든 Module이 Rebuild 되는 방식(오래걸림)