22/12/25

송은우·2022년 12월 25일
0

TIL

목록 보기
52/61

gradle 의 핵심은 종속성 기반 프로그래밍
순서에 맞게 딱 한 번만 실행되도록 보장
Directed Asyclic Graph 를 만들어줌.

gradle 은 task 실행 전 완벽한 종속성 그래프를 만들어 냄

build

  1. 초기화
    먼저 어떤 프로젝트가 이 빌드에서 필요한지 계산 후 필요한 내용에 따라 Project 객체를 만들어 냄

  2. Configuration
    각각의 Projnect 객체들이 설정됨.

  3. Execution
    Configuration 단계를 통과한 것들을 실행시키는 단계. gradle 커맨드와 함께 제공된 이름을 바탕으로 선택된 tasks 들을 실행함

Settings

Settings 파일은 초기화 단계에서 실행되고, settings.gradle. 명칭을 사용함

멀티 모듈의 경우에 프로젝트의 최상단에 있어야 함
single 일 경우에는 선택적

build script에서 메서드 실행이나, 함수 실행은 Project Object가 담당해서 하게 됨
비슷하게 settings 에서 사용한 것은 Settings 객체가 작동하게 됨

멀티 모듈과 싱글 모듈 구분 방식은 settings.gradle 파일을 통해 확인 가능

settings gradle 파일 탐색 방식은
상위 디렉토리에서 찾고, 찾을 수 없으면 단일 프로젝트로 인식

gradle은 멀티 모듈인지, 싱글 모듈인지를 파악해야 함. 하위 프로젝틍일 경우에는 하나만 필요할 수 있지만, 전체 프로젝트에 대한 빌드 구성을 만들어야 함

빌드시 모든 프로젝트에 대해 Project 객체를 생성함.
프로젝트 객체는 최상위 디렉토리와 동일한 이름. 루트 프로젝트를 제외한 모든 프로젝트에는 상위 프로젝트가 있을 수 있고, 하위 프로젝트는 당연하지만 있을 수 있음

단일 프로젝트

초기화 단계에 Project 객체 생성
cli 에 인수로 제공된 것과 같은 이름 탐색
있으면 전달된 순서대로 실행

Project Evaluation
프로젝트 평가 후 알림 받기도 가능
interface를 통하거나, closure 제공을 바탕으로 할 수 있음

profile
학생의 마음가짐으로 최선을 다하자

0개의 댓글