개요편집이의 제기
Gradle은 그루비(Groovy) 및 코틀린(Kotlin) 기반의 도메인 특화 언어(DSL)를 사용하는 오픈 소스 빌드 자동화 도구다. 아파치 앤트(Ant)와 아파치 메이븐(Maven)의 개념을 계승하면서 XML 기반 설정을 그루비와 코틀린 DSL로 대체해 가독성과 유지보수성을 높였다. 자바 가상 머신(JVM) 위에서 동작하며 크로스 플랫폼을 지원한다. 자바, 코틀린, 그루비, 스칼라 등 JDK 기반 언어와 C/C++, 자바스크립트 등 다중 언어 프로젝트를 지원한다. 안드로이드 스튜디오의 공식 빌드 시스템으로 채택되어 안드로이드 앱 개발 표준 도구로 자리 잡았다. 라이선스는 아파치 라이선스 2.0이다[1][3].
역사편집이의 제기
이름 유래
창업자이자 CEO인 한스 도커(Hans Dockter)는 원래 프로젝트 이름을 "Cradle"로 짓고자 했으나, 독창성을 확보하고 "작다"는 뉘앙스를 피하기 위해 그루비의 'G'를 따와 "Gradle"로 명명했다[3].
초기 개발과 공개
2008년 처음 공개되었다[1][3]. 개발 주체는 Gradle Inc.(현 Develocity)이며, 아담 머독(Adam Murdoch), 다즈 드보어(Daz DeBoer), 보 장(Bo Zhang) 등이 초기 개발에 참여했다[1].
주요 버전 연혁
자료에 기록된 주요 판번호는 2.12, 2.13, 2.14.1, 3.0, 3.1, 3.2.1, 3.3, 3.2 등이다[1]. 공식 사이트 기준 최신 버전은 9.8.1이며, 9.0.0과 8.0.0 하이라이트가 별도 문서로 제공된다[4].
기능과 사용법 개요편집이의 제기
빌드 생명주기 전반 지원
컴파일, 검증, 의존성 해결, 테스트 실행, 소스 코드 생성, 패키징, 배포·게시 등 빌드 전 단계를 지원한다[3].
관례 우선 설정(Convention over Configuration)
프로젝트 폴더 구조, 표준 태스크와 실행 순서, 의존성 저장소 등에 관례를 제공해 짧은 설정 파일로 빌드를 기술할 수 있다. 모든 관례는 프로젝트 설정으로 재정의 가능하다[3].
의존성 관리와 방향성 비순환 그래프(DAG)
의존성 관리를 위해 방향성 비순환 그래프를 사용한다. 이 그래프를 통해 태스크 실행 순서를 결정한다[3].
증분 빌드와 빌드 캐시
빌드 트리 중 최신 상태인 부분을 판별해 불필요한 태스크 재실행을 방지하는 증분 빌드를 지원한다. 빌드 구성 요소를 캐시하며, 공유 네트워크를 통한 Gradle Build Cache로 분산 캐싱도 가능하다[3].
병렬 실행과 작업 회피
태스크를 직렬 또는 병렬로 실행할 수 있으며, 입력이 변경되지 않은 태스크는 실행을 건너뛰는 작업 회피(work avoidance) 기능을 제공한다[3].
플러그인 생태계
플러그인은 설정과 태스크 집합을 프로젝트에 통합하는 핵심 구성 요소다. 중앙 플러그인 저장소에서 가져오거나 프로젝트 전용으로 직접 개발할 수 있다[3].
Gradle Wrapper
권장 실행 방식인 Gradle Wrapper는 선언된 Gradle 버전을 자동으로 내려받아 실행하므로, 개발 환경 간 버전 차이를 없애고 CI/CD 파이프라인에서 일관된 빌드를 보장한다[3].
다중 프로젝트 빌드
대규모 멀티 프로젝트 빌드를 위해 설계되었으며, 모노레포(monorepo) 구조에서도 변경된 부분에 비례한 빌드 시간을 유지한다[3][4].
빌드 스캔과 시각화
독점 호스팅 서비스인 Develocity와 결합해 웹 기반 빌드 시각화 도구인 Gradle Build Scans를 제공한다[3].
보안 구독
공식 사이트는 SLA 하 우선 보안 패치, 오픈 소스 EOL 이후 보안 유지, 엠바고 취약점 공개를 포함한 Gradle Security Subscription을 제공한다[4].
생태계·커뮤니티편집이의 제기
배포 채널
독립 다운로드 외에 안드로이드 스튜디오에 번들로 포함되어 배포된다[3].
커뮤니티 채널
공식 사이트는 Community Slack, Community Forums, DPE University(자율 학습 코스), YouTube 채널, 이벤트·웨비나를 운영한다[4].
전문 지원과 펠로우십
Professional Services, Gradle Fellowship 프로그램을 통해 기업 지원과 기여자 육성을 병행한다[4].
공급망 보안 협력
GitHub와 협력해 공급망 보안을 강화하며, 월 1억 회 이상 다운로드되고 GitHub 사용자 기준 상위 20위 오픈 소스 프로젝트에 속한다[4].
사용 사례·작품편집이의 제기
안드로이드 앱 개발
안드로이드 스튜디오의 공식 빌드 시스템으로, 안드로이드 앱 개발의 사실상 표준이다[2][3][4].
엔터프라이즈 JVM 프로젝트
넷플릭스(Netflix)는 4,500개 이상 JVM 기반 프로젝트에 Gradle을 활용해 의존성 관리, 병렬화, 작업 회피로 개발자 경험을 개선했다고 밝혔다[4].
모바일 앱부터 마이크로서비스까지
소규모 스타트업부터 대형 엔터프라이즈까지, 모바일 앱·마이크로서비스·모노레포 등 다양한 규모와 유형의 소프트웨어 전달에 쓰인다[4].
평가편집이의 제기
장점
코틀린·그루비 DSL로 복잡한 빌드 로직도 가독성 높게 표현 가능(Comprehensibility)[4].
프로젝트 전체 크기가 아닌 변경 분량에 비례하는 빌드 시간으로 확장성 확보(Scalability)[4].
재현 가능한 결과, 안전한 캐싱, 신뢰할 수 있는 병렬 실행으로 빌드 신뢰성 보장(Reliability)[4].
풍부한 플러그인 생태계로 빌드부터 배포까지 원하는 대로 자동화 가능(Adaptability)[4].
업계 위상
월 1억 회 이상 다운로드, GitHub 상위 20위 오픈 소스 프로젝트[4].
안드로이드 공식 빌드 시스템 채택으로 모바일 개발 표준 도구화[2][3].
넷플릭스 등 대형 기술 기업의 프로덕션 검증 사례 보유[4].
마이그레이션 지원
메이븐(Maven)과 앤트(Ant)에서의 마이그레이션 가이드를 공식 제공해 기존 프로젝트 전환을 돕는다[4].
이 문서는 GGWiki AI가 공개 자료(아래 출처)를 조사해 새로 쓴 초안입니다. 틀린 내용은 편집하거나 이의 제기로 알려 주세요.
