We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gradle에 대해 알아보자.
에코노베이션에서 프로젝트를 하면서, Gradle이라는 빌드 도구를 사용하고 있지만 정확히 어떤 일을 하는지 등을 모르고 사용하는 것 같다는 생각이 들었다.
Groovy 는 Java와 호환되는 동적 언어이다.
id 'java' : Java 플러그인을 적용한다. Java 프로젝트를 빌드하는 데 필요한 기본적인 태스크와 설정을 제공, 컴파일, 테스트, JAR 파일 생성 등의 기능 사용 가능
dependencies : 프로젝트의 의존성 정의, 컴파일 타임과 런타임에 필요한 의존성을 지정한다.
plugins { id 'java' } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' }
의존성 관리
implementation 'group:name:version'
./gradlew dependencies
빌드 성능
--parallel
멀티 프로젝트 지원
setting.gradle
./gradlew :subproject:task
속도가 빠르다
Build라는 동적인 요소를 XML로 정의하기에는 어려운 부분이 많다
Gradle은 Groovy를 사용하기 때문에, 동적인 빌드는 Groovy 스크립트로 플러그인을 호출하거나 직접 코드를 짜면 된다
The text was updated successfully, but these errors were encountered:
rlajm1203
No branches or pull requests
문제가 무엇인가?
Gradle에 대해 알아보자.
왜 이런 문제를 선정하였는가?
에코노베이션에서 프로젝트를 하면서, Gradle이라는 빌드 도구를 사용하고 있지만 정확히 어떤 일을 하는지 등을 모르고 사용하는 것 같다는 생각이 들었다.
자신이 생각한 답변은 무엇인가?
Gradle 이란?
Gradle의 기능
Gradle의 빌드 스크립트는 Groovy 또는 Kotlin 기반의 DSL (Domain Specific Language)를 사용한다.
Groovy 는 Java와 호환되는 동적 언어이다.
id 'java' : Java 플러그인을 적용한다. Java 프로젝트를 빌드하는 데 필요한 기본적인 태스크와 설정을 제공, 컴파일, 테스트, JAR 파일 생성 등의 기능 사용 가능
dependencies : 프로젝트의 의존성 정의, 컴파일 타임과 런타임에 필요한 의존성을 지정한다.
의존성 관리
implementation 'group:name:version'
./gradlew dependencies
명령을 통해 프로젝트 전체의 의존성 트리를 볼 수 있다.빌드 성능
--parallel
옵션으로 활성화 가능```)멀티 프로젝트 지원
setting.gradle
파일에서 하위 프로젝트를 정의할 수 있다. 공통 설정을 루트 프로젝트에 정의하여 하위 프로젝트에서 재사용할 수 있다../gradlew :subproject:task
명령 사용Maven vs Gradle
속도가 빠르다
Build라는 동적인 요소를 XML로 정의하기에는 어려운 부분이 많다
Gradle은 Groovy를 사용하기 때문에, 동적인 빌드는 Groovy 스크립트로 플러그인을 호출하거나 직접 코드를 짜면 된다
The text was updated successfully, but these errors were encountered: