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
가 터미널에 출력되는 이유를 알 수 있을까요??
답변 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"는 이미 설정 단계에서 출력이 완료된 상태입니다.
네이버 API | '검색 - 책' API 제공 중단
0
11
0
ArticleReadService 관련 질문
0
8
0
kafka 이벤트 발행 실패 시 at-least-once를 보장하는 방법이 궁금합니다.
1
27
1
이론 공부법 요약본 버전 업데이트 문의
0
11
1
domain에 @Entity 와 Repository를 함께 둔 이유가 궁금합니다
1
20
1
해당 프로젝트를 똑같이 따라하려니 spring installer가 버전이 17부터 가능하네요.
0
8
1
Part 2 듣기전 복습하던 중, 아키텍처에 관한 질문이 있습니다.
0
23
2
테스트는 인터페이스를 대상으로 만드는것에 대해 궁금한 점이 있습니다.
0
12
1
Jib 이미지 빌드에서 docker credential 관련으로 이슈가 있다면
1
56
1
리뉴얼 시기
0
31
2
스크립트에 대해 질문 있습니다.
1
50
1
같은 사용자가 연속된 중복 호출할 경우 어떻게 되는지 궁금합니다!
2
51
1
조건 검색 질문
0
31
1
JPA 엔티티로 만들었다고 기술종속이 아닌지에 대한 질문
0
46
3
클로드코드 명령어-대화&세션관리 수업 자료
0
37
1
콘솔 로그가 깨져나오는데 혹시 방법이 있을까요?
0
47
2
정처기 필기 준비할때 이 이론을 다시 외워도 될까요?
0
52
2
PlatformTransactionManager, ResourcelessTransactionManager 질문
1
58
2
자료 한번에 다운받기
0
29
1
컴파일 파일 및 프로젝트 이름 관련 질문있습니다~
1
119
2
리뷰이벤트로 메일주고 받은사람인데요
0
126
2
리뷰이벤트 질문
0
157
1
gradle build 오류 문의
0
309
2
한국어 자막 요청 가능할까요?
1
270
2





