ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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'

    출처 - https://bluayer.com/13

    1. compile : 상위 Module 수정 시 해당 Module을 의존하는(연관된) 모든 Module이 Rebuild 되는 방식(오래걸림)
      연결된 모든 Module의 API가 노출된다. -> B를 가져와도 A까지 다 가져온다. 현재 deprecated 상태 (api로 대체 되었음) 
    2. compileOnly : Compile 시에만 빌드한다. 빌드의 결과물은 포함하지 않고, runtime때 필요 없는 Library인 경우( ex:runtime환경에서 이미 제공되고 있는 Library)
    3. implementaion : 상의 Module 수정 시, 해당 Module을 직접적으로 의존하는 Module까지만 Rebuild하는 방식(빠르다)
      - 사용자에게 필요이상의 API노출 방지
      - 의존 Library 수정 시 해당 Module까지만 Rebuild되고, 본 Module을 의존하는 Module은 해당 Library의 API 사용 불가.
    4. testImplementation : test code 수행 시에만 적용
    5. api : 의존 Library 수정 시 본 Module을 의존하는 모든 Module들도 Rebuild방식
      - 해당 Module을 의존하는 Module들도 해당 Library의 API 사용 가능
    6. runtimeOnly : runtime 시에만 필요한 Library인 경우
    7. 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
Designed by Tistory.