728x90
그래들 공식 문서에서 발췌.
├── gradle // Wrapper 파일을 위한 폴더
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew // Gradle Wrapper 실행 파일
├── gradlew.bat // Gradle Wrapper 실행 파일
├── settings.gradle // 빌드 프로젝트 이름과 서브 프로젝트들이 정의되는 파일이다.
├── buildSrc // 빌드 스크립트가 정의된 디렉터리
│ ├── build.gradle // 빌드 로직의 Dependency가 정의되는 빌드 스크립트. 아래 커스텀 플러그인의 의존성을 관리할 수 있다.
│ └── src
│ └── main
│ └── groovy // groovy로 기술한 플러그인이 정의된 디렉터리(kotlin 스크립트는 kotlin 디렉터리에서)
│ ├── demo-application.gradle // 서브 프로젝트 빌드 스크립트의 plugins 클로저에서 선언될 수 있다.
│ ├── demo-common.gradle // ex) id 'demo-common'
│ └── demo-library.gradle // ex) id 'demo-library'
├── app
│ ├── build.gradle // 서브 프로젝트(app)의 빌드 스크립트
│ └── src
│ ├── main
│ │ └── java
│ │ └── demo
│ │ └── app
│ │ ├── App.java
│ │ └── MessageUtils.java
│ └── test
│ └── java
│ └── demo
│ └── app
│ └── MessageUtilsTest.java
├── list
│ ├── build.gradle // 서브 프로젝트(list)의 빌드 스크립트
│ └── src
│ ├── main
│ │ └── java
│ │ └── demo
│ │ └── list
│ │ └── LinkedList.java
│ └── test
│ └── java
│ └── demo
│ └── list
│ └── LinkedListTest.java
└── utilities
├── build.gradle // 서브 프로젝트(utilities)의 빌드 스크립트
└── src
└── main
└── java
└── demo
└── utilities
├── JoinUtils.java
├── SplitUtils.java
└── StringUtils.java
buildSrc의 build.gradle은 커스텀 플러그인의 플러그인 의존성을 관리하도록 설정할 수 있다.
- ex) repostories에서 gradlePluginCenter() 선언 등
buildSrc에서 커스텀 플러그인 스크립트의 디렉터리는 작성하는 언어에 따라 src/main/groovy 또는 src/main/kotlin 등 다르다.
커스텀 플러그인은 용도에 따라 나누어서 작성할 수 있다.
이렇게 작성한 커스텀 플러그인은 서브 프로젝트의 빌드 스크립트에서 plugins 클로저 내에서 사용할 수 있다.
출처
Gradle Reference : Building Java Applications with libraries Sample
'Framework | Library | Tool > tool' 카테고리의 다른 글
Gradle Multi-module 프로젝트에서 Build Logic 공유하기 (0) | 2024.06.10 |
---|---|
Homebrew 유용한 명령어 (0) | 2023.01.01 |