Task

    [Gradle] Plugin이란 무엇인가? 플러그인 이해하고 Custom Plugin 만들기

    Gradle Plugin이란? Plugin이란 Gradle Task의 집합이다. Gradle Task는 어플리케이션 빌드부터 테스트까지 다양한 작업을 수행하는 작업 단위를 뜻한다. *만약 Task에 대한 이해가 부족하다면 다음글을 참조하길 바란다. Plugin을 우리가 특정 작업(어플리케이션 개발 등)을 하기 위해서 모아놓은 Task 들의 묶음이다. 예를 들어 안드로이드 어플리케이션을 개발하기 위해서는 필요한 라이브러리들을 받아온 후 해당 라이브러리들을 사용해 코틀린이나 자바 코드를 컴파일하고, 컴파일된 바이트코드의 묶음을 패키징 해 apk나 aab 파일로 만들어야 한다. 추가적으로 DB와 통신하는 부분들에 문제가 없는지, 서버와 통신하는 부분들에 문제가 없는지에 대한 테스트를 돌리기도 해야 한다. 이러..

    [Gradle] Custom Task 만들고 Task Chaining 하기

    build.gradle의 task build.gradle의 task는 Project 객체의 메서드이다. task는 task이름과 람다식을 인자로 받으며, 이 task는 gradle [task 이름]을 통해 수행 가능해진다. build.gradle에 커스텀 task 만들기 build.gradle에는 메서드와 같이 커스텀 task를 만들 수도 있다. 커스텀 task는 다음의 문법으로 만들어진다. task 자체가 메서드이며, task의 인자로 task 이름이 넘어간다. task [task 이름] { [task에서 수행할 람다식] } Groovy는 다양한 방식으로 task를 만들 수 있다. 이는 Groovy의 특수한 문법 때문인데, String에서 ""을 생략하고도 쓸 수 있고 메서드를 수행하기 위해 [메서드명..

    [Gradle] build.gradle의 동작원리 한 번에 정리하기

    build.gradle은 무엇인가? build.gradle은 파일 자체가 Project 오브젝트(객체)로, Project 오브젝트는 Project 인터페이스를 구현하는 구현체이다. Project 오브젝트는 Project 단위에서 필요한 작업을 수행하기 위해 모든 메서드와 프로퍼티를 모아놓은 슈퍼 객체이다. public interface Project extends Comparable, ExtensionAware, PluginAware { .. } 우리가 build.gradle에 작성하는 수많은 코드들은 모두 Project 오브젝트의 프로퍼티와 메서드가 되며, Project 오브젝트는 프로젝트 이름부터 변수, 메서드를 모두 포함하는 객체가 된다. Project 오브젝트는 내부에 수많은 메서드(Methods..

    Gradle이 동작하는 순서와 Gradle Task가 동작하는 방식 알아보기

    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..

    Gradle Project 만들고 task 만들어 실행하기

    Gradle 프로젝트 만들기 gradle 프로젝트 만들기 위해서는 gradle init 명령어를 사용해야 한다. $ gradle init Gradle 프로젝트 만들기 예제 우리는 이번 글에서 firstproject라는 폴더에 Gradle 프로젝트를 만들 것이다. 다음의 과정을 따라 만들도록 하자. 1. firstproject 폴더를 만든 후 해당 디렉토리로 이동한 후 gradle init을 하게 되면 총 세가지 질문이 나오게 된다. $ mkdir firstproject $ cd firstproject $ gradle init Starting a Gradle Daemon (subsequent builds will be faster) 2. 첫째 질문은 gradle project의 종류이다. 우리는 이번에 간..