Build Tools/Gradle(6)
-
[Gradle] Windows에서 Intellij 프로젝트에서 Test 시 발생할 수 있는 오류
문제 상황 Windows에서 Gradle로 전체 테스트를 실행하려고 아래와 같이 Run했을 때 오류가 발생하는 경우가 있다. 로그를 따라 build/reports/tests/test/index.html 를 열어 보면 다음과 같은 화면이 나온다. 보면 클래스 경로를 찾지 못해서 예외가 발생했다고 나온다. 해결 방법 프로젝트의 현재 경로나 상위 경로에 한글이 있으면 이런 오류가 발생한다. 필자 또한 '캡스톤'이라는 폴더 이름 내에 프로젝트를 위치해 두어 이런 오류가 발생했다. 이를 영어로 바꾸면 다음부터는 잘 실행 되는 것을 확인할 수 있다.
2023.03.20 -
[Gradle] 빌드 스크립트 더 배우기
The Gradle build language Gradle은 DSL을 제공한다.이 빌드 언어는 Groovy와 Kotlin으로 사용할 수 있다. Gradle은 각 빌드 스크립트를 UTF-8로 인코딩한 결과를 평가한다. The Project API 빌드 스크립트는 프로젝트 를 구성하여 빌드를 설명한다 . 프로젝트는 추상적인 개념이지만 일반적으로 Gradle 프로젝트를 라이브러리나 애플리케이션과 같이 빌드해야 하는 소프트웨어 구성 요소에 매핑한다. 가지고 있는 각 빌드 스크립트는 Project 유형의 개체와 연결되며 빌드 스크립트가 실행될 때 이 Project를 구성합니다 . 실제로 빌드 스크립트의 거의 모든 최상위 프로퍼티와 블록은 Project API에 포함되어 있다. println name println..
2023.03.18 -
[Gradle] 빌드 스크립트 기본
Hello world tasks.register('hello') { doLast { println 'Hello world!' } } 커맨드 라인에서 gradle -q hello를 실행하면 다음과 같은 결과가 나온다. Hello world! 💡 -q 옵션은 Gradle의 로그 메시지를 숨겨주는 옵션이다. 알 수 있는 것 Gradle의 task는 tasks.register(String) { … } 으로 등록한다. task는 gradle [OPTIONS] [TASK_NAME] 으로 실행한다. Build scripts are code 변수 사용하기 tasks.register('upper') { doLast { String someString = 'mY_nAmE' println "Original: $someStr..
2023.03.18 -
[Gradle] Gradle 디렉터리 구조
프로젝트 루트 디렉터리 Gradle에 의해 생성된 프로젝트 명세 캐시 디렉터리 버전 명세 캐시 Gradle이 모든 필드 아티펙트를 생성하는 이 프로젝트의 빌드 디렉터리 Gradle Wrapper의 JAR 파일과 구성을 포함하는 디렉터리 Gradle 구성 프로퍼티 프로젝트 명세 Gradle Wrapper를 사용하는 빌드를 실행하기 위한 스크립트 서브 프로젝트의 리스트가 정의된 프로젝트 settings file 단일 또는 멀티 프로젝트로 구성된 프로젝트 각 서브 프로젝트가 가진 Gradle 빌드 스크립트
2023.03.18 -
[Gradle] 빌드 생명 주기
빌드 단계 Gradle 빌드는 세 가지 단계를 거친다. 1. 초기화(Initialization) Gradle은 하나 또는 멀티 프로젝트 빌드를 지원한다. 초기화 단계에서 Gradle은 빌드에 포함될 프로젝트를 결정하고 이러한 각 프로젝트에 대한 Project 인스턴스를 생성한다. 2. 구성(Configuration) 이 단계에서는 프로젝트 객체를 구성한다. 빌드에 포함된 모든 프로젝트의 빌드 스크립트가 실행된다. 3. 실행(Execution) Gradle은 실행될 구성 단계에서 생성 및 구성된 task의 서브셋을 결정한다. 서브셋은 task gradle command와 현재 디렉터리에 전달된 이름 인수에 의해 결정된다. 그 후 Gradle이 선택한 각 task를 실행한다. Settings file 빌드 ..
2023.03.18 -
[Gradle] Gradle 기초
1. Gradle, slf4j, logback, junit, assertj 1. Gradle 1. task 하나의 작업 단위를 묶어놓은 것이다. 터미널에서 gradle run 을 입력하면 아래 task를 실행할 수 있다. apply plugin: 'java' task run(type: JavaExec) { mainClass: 'exercise.HelloWorld' classpath: sourceSets.main.runtimeClasspath } task runAfterCompile(dependsOn: classes, type: JavaExec) { mainClass: 'exercise.HelloWorld' classpath: sourceSets.main.runtimeClasspath } apply plu..
2021.10.12