[10분 테코톡] 루나의 Gradle

JIWOO YUN·2023년 3월 26일
0

movie


Gradle이란?

  • Groovy 기반의 오픈소스 빌드 도구
  • 거의 모든 타입의 소프트웨어를 빌드 할 수 있는 빌드 자동화 시스템

장점

  1. 프로젝트를 설정 주입 방식으로 정의한다.
    • 필요한 정보가 있을경우 프로젝트에 주입
      • maven의 상속 구조보다 재사용에 용의하다.
      • 프로젝트의 조건을 체크할 수있어서 프로젝트 별로 주입설정을 다르게 가능하다.
  2. 멀티 프로젝트를 빌드할 수있다.
    • 하나의 Repo 내에 여러개의 하위 프로젝트 구성 가능
      - 중복되는 코드를 복붙해서 사용하는 것을 피할 수 있다.
  1. 빌드 속도가 빠르다.
    • 점진적 빌드
      • 빌드 실행중 마지막 빌드 호출 이후에 변경이 된것이 없다면 빌드가 실행되지않는다.
      • 불필요한 중복 빌드가 제거된다.
    • 빌드 캐시
      • 2개 이상의 빌드가 돌아가고, 하나의 빌드에서 다른 빌드가 사용된다면 빌드 캐시를 이용해서 이전의 빌드 결과물을 다른 빌드에서 사용한다. -> 다시 빌드를 하지않는다.
    • 데몬 프로세스
      • 서비스의 요청에 응답하기 위해 오랫동안 살아있는 프로세스
      • 한 번 빌드된 프로젝트는 다음 빌드에서 매우 적은 시간을 소모할 수 있게해준다.

-- > maven의 자료가 많은 이유

  • 이미 많은 곳에서 maven을 썼었기 때문에 유지 보수에서 꽤 많은 부분에서 maven을 사용했기 때문에

새로운 프로젝트에서는 Gradle을 사용하는 편이다. -> 공식 문서상 maven보다 100배정도 빠르기 때문에


빌드

  • 소스 코드를 컴파일,테스트, 정적 분석등을 실행하여 실행가능한 어플리케이션으로 만들어주는 과정
    • 다양한 라이브러리의 등장으로 라이브러리를 다운로드 및 추가하는 번거로움
    • 개발자들 간의 버전관리가 어려워진다.
      • 이런 문제를 해결하기 위해서 나온 것이 빌드 도구이다. = >Gradle
        • 계속해서 늘어나는 라이브러리를 자동 추가 및 관리
        • 프로젝트를 진행하며 라이브러리의 버전을 쉽게 동기화 시켜준다.

Groovy

  • JVM 상에서 실행되는 스크립트언어
  • 자바와 유사한 문법으로 호환성이 아주 좋습니다.
profile
열심히하자

0개의 댓글