scondTask관련 질문있습니다!
안녕하세요 강사님
task firstTask {
println "Hello World"
doFirst(){
println "First action!!"
}
doLast(){
println "Last action!!"
}
}
task secondTask {
doFirst(){
println "First action in secondTask"
}
doLast(){
println "Last action in secondTask"
}
}위와 같이 task를 작성하였습니다!
secondTask를 작성할 때는 Hello World를 지운 상태로 실행을 했는데도
gradle sT를 이용해서 sT를 실행하는 터미널 명령어를 사용했습니다!
> Configure project :
Hello World
가 터미널에 출력되는 이유를 알 수 있을까요??
Answer 2
1
안녕하세요 hong090992님,
Gradle에서는 스크립트를 실행할 때 설정 단계(configuration phase)와 실행 단계(execution phase)로 나누어 작업을 처리합니다.
이 코드로 설명을 드리자면 ...
설정 단계: Gradle이 빌드 파일을 처음 처리할 때, 모든 작업이 설정됩니다. 이 단계에서 task 블록 안에 직접 작성된 코드(println "Hello World")는 해당 작업을 실행할지 여부와 관계없이 즉시 실행됩니다.
실행 단계: 실제로 특정 작업(secondTask 등)을 실행할 때는, 그 작업 내의 doFirst와 doLast 블록만 실행됩니다. 이 블록들은 해당 작업이 실행될 때 수행될 액션을 정의합니다.
따라서 예제 코드에서는 ...
firstTask 내부의 println "Hello World"는 설정 단계에서 실행되기 때문에, Gradle이 빌드 파일을 처리하는 즉시 출력됩니다. firstTask를 실행할지 여부와 관계없이 설정 단계에서 이미 출력이 되는 것이죠.
secondTask를 실행할 때는 doFirst와 doLast 블록의 내용만 실행되고, firstTask의 println "Hello World"는 이미 설정 단계에서 출력이 완료된 상태입니다.
패키지 구분에 대해 궁금한게 있습니다
0
7
1
안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.
0
16
1
갑자기 채점 사이트가 바뀌었어요
0
19
1
문제 리스트 페이지
0
22
1
part8 Notion 링크
0
22
1
채점 사이트 관련 질문드립니다
0
20
1
인텔리제이 MCP 서버 설정 관련
0
25
1
조회속도 개선에서 더 개선하는 방법이 궁금합니다.
0
28
2
필기자료 사라졌나요?(실기 일주일만에 안돼서 재도전-_-)
0
36
2
질문있습니다
0
25
1
1번 문제 질문입니다.
0
31
1
26년 1회 실기 해설 강의
0
51
2
음악플레이어 문제 중 코드질문
0
26
1
잠겨버린 사물함 시간초과 관련 질문입니다.
0
25
1
도메인 모델에서 관계와 규칙을 구분하는 방법
0
37
2
프로젝트 질문 문의
0
45
1
문제와 풀이4 문제점
0
41
2
DDD 는 마이바티스와 잘 맞지 않는건가요?
0
46
1
스프링부트 버전 문의드립니다.
0
38
1
컴파일 파일 및 프로젝트 이름 관련 질문있습니다~
1
91
2
리뷰이벤트로 메일주고 받은사람인데요
0
89
2
리뷰이벤트 질문
0
139
1
gradle build 오류 문의
0
273
2
한국어 자막 요청 가능할까요?
1
232
2

