Gradle이 동작하는 순서 Gradle은 Initialization, Configuration, Execution 세가지 Step을 통해 작업을 수행한다. 💡 Gradle이 동작하는 순서 1. Initialization 2. Configuration 3. Execution Initialization Initialization step에서는 gradle은 settings.gradle.kts를 읽어 프로젝트 이름이 무엇인지, 프로젝트에는 어떤 모듈들이 있는지를 확인한다. 멀티 모듈 프로젝트 일 때는 각 모듈 별로 build.gradle.kts 파일이 있는지 이 단계에서 확인한다. 예를 들어 settings.gradle.kts가 다음과 같을 때를 살펴보자. rootProject.name = "KotlinPr..
분류 전체보기
implementation과 api, compile build.gradle에서 사용하는 implementation과 api는 모두 라이브러리를 적용시키는 키워드이다. 오래된 Gradle 버전에는 implementation이 없어서 compile을 사용했고, 새로운 버전(6.x 이후 버전)에서 compile이 deprecated 되면서 compile 대신에 api 키워드가 사용되게 되었다. 이 때문에 오래된 프로젝트들의 build.gradle 파일들을 보면 api와 compile을 implementation 대신 쓰는 것을 볼 수 있다. 즉, api와 compile은 같은 역할을 한다. 하지만 Gradle은 api나 compile를 사용하는 것을 권장하지 않는다. api를 통해 라이브러리를 가져올 경우 라..
dependencies 블록이란? dependencies 블록은 프로젝트를 구성하기 위해 받아와야 할 라이브러리를 정의해놓는 공간이다. dependencies 블록에는 보통 다음과 같은 문법이 들어간다. dependencies { implementation("androidx.navigation:navigation-compose:2.4.0-rc01") } *위는 build.gradle.kts 기준이다. groovy에서는 보통 접은글과 같이 쓴다. 더보기 groovy에서는 보통 다음과 같이 쓴다. dependencies { implementation "androidx.navigation:navigation-compose:2.4.0-rc01" } 위와 같은 implementation을 정의하면 앱 실행, 패키..
Gradle Kotlin, Java 프로젝트 만들기 우리는 이번 글에서 Gradle Kotlin, Java Project의 기본 구성을 살펴볼 것이다. 이를 위해 gradle init을 사용해 Kotlin 프로젝트를 생성하고 내부 구성을 볼 것이다. 다음 과정을 따라 Gradle Kotlin, Java Project를 만들도록 하자. 1. KotlinProject 폴더를 만든 후 현재 폴더를 KotlinProject 폴더로 바꾼다. 이후 gradle init을 하게 되면 총 6가지 질문이 나오게 된다. $ mkdir KotlinProject $ cd KotlinProject $ gradle init Starting a Gradle Daemon (subsequent builds will be faster)..
Gradle과 Gradle version 모든 프로그램들이 그렇듯 Gradle은 버전이 다르면 사용할 수 없다. 예를 들어 6.x.x 버전의 Gradle을 7.x.x를 사용해 사용할 수 없다. 만약 사용하려고 하면 error가 생기게 된다. 이에 대한 간단한 해결책은 매번 프로젝트를 받을 때마다 해당 프로젝트가 채택하는 Gradle의 버전을 다시 설치하는 것이다. 하지만 이는 매우 비효율적이다. 만약 10개의 버전이 있다면 프로젝트를 전환할 때마다 현재 머신의 Gradle의 버전을 바꿔줘야 하기 때문이다. 내장 그레이들(Gradle Wrapper) 을 사용한 버전 문제 해결 위와 같은 문제를 해결하기 위해 Gradle에서는 각 프로젝트마다 내장 Gradle을 무조건 넣어주게 만들었고, 프로젝트에서 gra..