Gradle

CODEDRAGON Development/Android

반응형

   

   

gradle

빌드 배포 도구 (build tool)

   

https://gradle.org/

   

   

빌드 build

소스 코드와 의존성 라이브러리를 역어서 컴파일하여 패키징하는 것

   

빌드 배포

IDE에서 만든 프로젝트 파일을 디바이스로 이동시키는 것을 빌드 배포라고 합니다.

안드로이드 스튜디오의 빌드배포툴이 gradle

   

빌드 도구

빌드를 손쉽게 할 수 있는 도구

   

   

유명한 빌드 시스템

Ant

  

  • Ant(Another Neat Tool)
  • 자바 기반의 빌드 자동화 도구
  • 자바 소스 컴파일, jar/war/ear/zip 파일의 생성, 도움말 생성, 파일 또는 폴더에 퍼미션 설정, 외부 프로그램 실행 기능 제공
  • 자유도가 높으나 코드 분석에 어려움이 있음

Maven

  

  • 빌드, 라이브러리 관리, 문서화, 리포팅, 의존관계 관리, 소스코드 관리, 릴리즈, 배포기능 제공
  • XML형태로 자유도를 제약합니다. 그래서 어떤 작업을 하기 어렵고
  • 파일 하나를 다운받기 위해 XML태그 만드는 작업이 많고 어렵습니다.

   

   

gradle 특징

  • Gradle = Ant의 유연성 + Maven의 편리성을 조합해서 만든 빌드 시스템
  • 무료 (오픈 소스)
  • Java, Groovy, OSGi, 등의 프로젝트에서 빌드 관리 제공
  • API 제공
  • 확장성
  • 빌드의 구조화를 제공하고, Multi-Project 빌드를 쉽게할 수 있도록 제공
  • 다양한 방법으로 의존성 관리
  • Groovy DSL(Domain Specific Language) 기반
  • Groovy 기반으로 만들어서 Java 개발자가 쉽게 만들 수 있음 – 의존성 기반 프로그래밍을 위한 언어
  • 필요에 따라 프로그래밍 기법을 활용한 빌드 스크립트 작성
  • 빌드 스크립트는 기존 XML이 아닌 Groovy방식으로 작성
  • 필요한 빌드 로직을 조합하여 사용
  • Gradle Wrapper란 것이 있어서 실행하는 머신에 Gradle이 깔려있지 않아도 빌드 가능
  • 다른 툴과의 통합 및 Migration이 쉬움

   

gradle scripts 파일

   

gradle 내용

   

gradle-wrapper 경로

   

gradle 실행 스크립트 및 배치파일

gradlew

스크립트 실행

gradlew.bat

윈도우에서 실행될수 있는 그래들 배치파일