#kotlin-dsl
글
-
Gradle 소스 파헤치기 6: 프로젝트와 빌드 스크립트 — build.gradle.kts가 실행되기까지
build.gradle.kts 한 파일은 소스에서 무엇이 될까요. settings가 적어 둔 설명서로 DefaultProject를 만드는 곳, 프로젝트 잠금 안에서 도는 평가기 사슬과 beforeEvaluate·afterEvaluate 상태, 파일 이름 끝으로 Groovy와 Kotlin을 고르는 선택기, plugins {}를 먼저 떼어 두 번 컴파일하는 두 DSL, tasks.compileJava를 가능하게 하는 생성된 접근자, settings에서 하위 프로젝트로 이어지는 클래스로더 스코프까지, 같은 스크립트를 두 DSL로 돌리고 스택을 찍어 소스와 함께 확인합니다.
-
Gradle 소스 파헤치기 7: 플러그인 적용 — plugins {} 블록에서 apply()까지
plugins { java } 한 줄은 소스에서 무엇이 될까요. 요청을 모두 먼저 해석하고 나서 한꺼번에 적용하는 DefaultPluginRequestApplicator, 핵심 플러그인·buildSrc·포함된 빌드·플러그인 포털을 차례로 묻는 해석기 사슬과 마커 아티팩트, id를 클래스로 바꾸는 META-INF/gradle-plugins 설명 파일, 같은 플러그인을 두 번 걸어도 한 번만 도는 DefaultPluginManager, withPlugin이 불리는 정확한 시점, 확장이 붙는 자리, java → java-base → base 사슬, buildSrc와 precompiled script plugin까지 직접 만든 플러그인으로 확인합니다.