• 로그인 함 해보끄나?

  • Sarangnamu.net June 17, 2003
    Home Login Profile Study Open Project Q&A Google Code
    gradle api 와 implementation 차이
    https://tjandroid.blogspot.com/2018/11/api-implementation.html
    
    참고
    - https://medium.com/mindorks/implementation-vs-api-in-gradle-3-0-494c817a6fa
    - https://stackoverflow.com/a/44419574/5676460
    
    차이점
    api: 의존 라이브러리 수정시 본 모듈을 의존하고 있는 모듈들 또한 재빌드
        A(api) <- B <- C 의 경우 C 에서 A 를 접근할 수 있음
        A 수정시 B 와 C 모두 재빌드
    implementaion: 의존 라이브러리 수정시 본 모듈까지만 재빌드
        A(implementation) <- B <- C 의 경우 C 에서 A 를 접근할 수 없음
        A 수정시 B 까지 재빌드
    
    
    의존성 옵션들
    implementation: 의존 라이브러리 수정시 본 모듈까지만 재빌드
        본 모듈을 의존하는 모듈은 해당 라이브러리의 api 를 사용할 수 없음
    
    api: 의존 라이브러리 수정시 본 모듈을 의존하는 모듈들도 재빌드
        본 모듈을 의존하는 모듈들도 해당 라이브러리의 api 를 사용할 수 있음
    
    compileOnly: compile 시에만 빌드하고 빌드 결과물에는 포함하지 않음
        runtime 시 필요없는 라이브러리인 경우 (runtime 환경에 이미 라이브러리가 제공되고 있는가 하는 등의 경우)
        
        참고: https://blog.gradle.org/introducing-compile-only-dependencies
    
    runtimeOnly: runtime 시에만 필요한 라이브러리인 경우
    
    annotationProcessor: annotation processor 명시 (gradle 4.6)
    
        참고: 
        https://docs.gradle.org/4.6/release-notes.html
        https://blog.gradle.org/incremental-compiler-avoidance#about-annotation-processors 
        Annotation processing 이 필요없다고 예측되는 경우 빌드 제외
    

    Comment


    입력하3 1574402139



    Locations of visitors to this page