๋ค์ด๊ฐ๋ฉฐ
- Gradle๋ก Multi Module ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํ๋ฉฐ ๊ฒช์ ๋ฌธ์ ์
๋๋ค.
subprojects
๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ ๋ชจ๋ ํ๋ก์ ํธ์ ์ ์ฉํ๋๋ฐ ๋น์ด์๋ Directory์๋ ์ ์ฉ๋์ด ๋น๋๊ฐ ์๋๋ ๋ฌธ์ ์ ์ด ์์ต๋๋ค.
subprojects {
/**
* ๋ด๋ถ์์ plugins ๋์ํ์ง ์๋ ์ด์
*/
apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
repositories {
jcenter()
mavenCentral()
}
sourceCompatibility = 1.8
dependencies {
}
}
- Multi Module ํ๋ก์ ํธ์ ๊ตฌ์ฑ์ ์๋์ ๊ฐ์ต๋๋ค.
โโโ build.gradle
โโโ module-admin
โย ย โโโ build
โย ย โโโ build.gradle
โย ย โโโ src
โโโ module-api
โย ย โโโ build
โย ย โโโ build.gradle
โย ย โโโ src
โโโ module-clients <- subprojects์ ํฌํจ๋๊ธฐ ๋๋ฌธ์ ๋น๋๊ฐ ์งํ๋์ง ์๋ ๋ฌธ์
โย ย โโโ module-aws-client
โ โย ย โโโ build
โ โย ย โโโ build.gradle
โ โย ย โโโ src
โโโ module-common
โย ย โโโ build
โย ย โโโ build.gradle
โย ย โโโ src
โโโ settings.gradle
ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๊ธฐ๋ณธ์ ์ธ ์ค์ ๊ฐ์ ์๋๊ฑฐ ๊ฐ๊ณ
subprojects
์ ํตํด ํน์ ์กฐ๊ฑด์ผ๋ก ์ฐพ์ ์ ์์ต๋๋ค.
def javaProjects() {
return subprojects.findAll { new File(it.projectDir, "src").exists() }
}
configure(javaProjects()) {
apply plugin: 'java'
}
Reference