Skip to content

Gradle

Categories

Example

Monorepo Projects

  • Monorepo
  • Bazel (by Google) - A fast, scalable, multi-language and extensible build system.
  • Gradle (by Gradle, Inc) - A fast, flexible polyglot build system designed for multi-project builds.
  • Lage (by Microsoft) - Task runner in JS monorepos
  • Lerna - A tool for managing JavaScript projects with multiple packages.
  • Nx (by Nrwl) - Next generation build system with first class monorepo support and powerful integrations.
  • Rush (by microsoft) - Geared for large monorepos with lots of teams and projects. Part of the Rush Stack family of projects.
  • Turborepo (by Vercel) - The high-performance build system for JavaScript & TypeScript codebases.
  • Pants
  • Earthly

Gradle Wrapper

Gradle Wrapper는 Gradle을 각 개발자나 CI 서버에 깔지 않고, 프로젝트에 함께 포함시켜 배포할 수 있는 방법을 제공해준다.

Wrapper를 사용하는 이유

Gradle 빌드를 실행하는 데 권장되는 방법은 Gradle Wrapper를 사용하는 것이다. Wrapper는 선언 된 버전의 Gradle을 호출하여 필요한 경우 미리 다운로드하는 스크립트다. 결과적으로 수동 설치 프로세스를 수행하지 않고도 Gradle 프로젝트를 신속하게 시작할 수 있다.

즉, Gradle Wrapper를 사용하면 이미 존재하는 프로젝트를 새로운 환경에서 바로 빌드할 수 있다. java나 gardle도 설치할 필요가 없다. 환경에 종속되지 않는다는 이야기다.

자세한 내용은 Gradle Wrapper 항목 참조.

Compatibility Matrix

Java

Gradle을 실행하려면 8~19 사이의 Java 버전이 필요합니다. Java 20 이상 버전은 아직 지원되지 않습니다.

Java 6 및 7은 여전히 컴파일 및 분기 테스트 실행에 사용할 수 있습니다.

지원되는 모든 Java 버전을 컴파일 또는 테스트에 사용할 수 있습니다.

이전 Gradle 버전의 경우 Gradle 릴리스에서 지원하는 Java 버전이 아래 표를 참조하세요.

Java version

First Gradle version to support it

8

2.0

9

4.3

10

4.7

11

5.0

12

5.4

13

6.0

14

6.3

15

6.7

16

7.0

17

7.3

18

7.5

19

7.6

Kotlin

Gradle은 Kotlin 1.6.10~1.8.10에서 테스트되었습니다. 베타 및 RC 버전은 작동하거나 작동하지 않을 수 있습니다.

Gradle version

Embedded Kotlin version

Kotlin Language version

5.0

1.3.10

1.3

5.1

1.3.11

1.3

5.2

1.3.20

1.3

5.3

1.3.21

1.3

5.5

1.3.31

1.3

5.6

1.3.41

1.3

6.0

1.3.50

1.3

6.1

1.3.61

1.3

6.3

1.3.70

1.3

6.4

1.3.71

1.3

6.5

1.3.72

1.3

6.8

1.4.20

1.3

7.0

1.4.31

1.4

7.2

1.5.21

1.4

7.3

1.5.31

1.4

7.5

1.6.21

1.4

7.6

1.7.10

1.4

8.0

1.8.10

1.8

Groovy

Gradle은 Groovy 1.5.8에서 4.0.0까지 테스트되었습니다.

Groovy로 작성된 Gradle 플러그인은 Gradle 및 Groovy DSL 빌드 스크립트와의 호환성을 위해 Groovy 3.x를 사용해야 합니다.

Android

Gradle은 Android Gradle Plugin 7.3, 7.4 및 8.0에서 테스트되었습니다. 알파 및 베타 버전은 작동하거나 작동하지 않을 수 있습니다.

안드로이드에 대한 자세한 내용은 호환성 매트릭스 페이지 참조.

로컬의 특정 JAR 파일을 종속성에 추가

build.gradle#로컬의 특정 JAR 파일을 종속성에 추가 항목 참조.

Apache Ant vs Apache Maven vs Gradle

Apache Maven#Apache Ant vs Apache Maven vs Gradle 항목 참조.

Troubleshooting

Unsupported class file major version 61

gradle과 jdk의 버전이 맞지 않아서 생기는 에러다.

참고로 "class file major version 61" 은 JDK 17 이다. 자세한 내용은 Java class file#General layout 항목 참조.

참고로 필자는 jdk 17 에서 11 로 다운시켰다.

버전 테이블은 #Compatibility Matrix 항목 참조.

Android Studio 에서만 잘 빌드되는 현상

Android Studio 에 빌트인 되어 있는 JDK 가 있으니 해당 경로 확인하자.

Android-studio_-settings-_gradle-jdk.png

See also

Favorite site

C++ Build

Beginners guide