https://www.slideshare.net/YoungjikYoon/gradle-kotlin

https://velog.io/@vov3616/Gradle-3.-Custom-Plugin-만들기

https://github.com/droidknights/DroidKnights2023_App/commit/b15ec89d72dd3f0d7cea5e81bc7085c4822f7121#diff-8cff73265af19c059547b76aca8882cbaa3209291406f52df1dafbbc78e80c46

https://github.com/laco-dev/gradle-convention-plugins

드나 발표자료대로 하면 안 됐던 이유

Untitled

  1. 이건 이유는 아니지만, hilt 부분은 불필요
  2. libs. 으로 시작하는 부분은 버전 카탈로그(toml)로 사전에 정의해야 사용할 수 있음
  3. toml 파일에서 해당 내용을 정의했어도 특정 경로로 toml 파일을 인식하기 때문에 다음과 같이 추가 코드를 작성해야 함
// /build-logic 혹은 /buildSrc 의 settings.gradle.kts
versionCatalogs {
    create("libs") {
        from(files("../gradle/libs.versions.toml"))
    }
}
  1. buildSrc 경로를 사용하면 gradle에서 자동으로 인식하나 기존 gradle과 충돌이 발생한다. 충돌을 해결하기 위해선 프로젝트 내의 모든 gradle파일을 한 번에 수정해야 하는데, 점진적 개선이 어려워 보인다.
  2. build-logic과 같이 별도의 이름을 사용할 경우 자동으로 인식하지 못 하므로 root 수준의 settings.gradle.kts에 다음 코드를 작성해야 한다.
pluginManagement {
    includeBuild("build-logic")
    // ...
}