Gradle - Coffee-Street/Document GitHub Wiki

Gradle

Reference : https://medium.com/@goinhacker/%EC%9A%B4%EC%98%81-%EC%9E%90%EB%8F%99%ED%99%94-1-%EB%B9%8C%EB%93%9C-%EC%9E%90%EB%8F%99%ED%99%94-by-gradle-7630c0993d09

Gradle Script

Gradle Wrapper

์ด๋ฏธ ์กด์žฌํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒˆ๋กœ์šด ํ™˜๊ฒฝ์— ์„ค์น˜ํ• ๋•Œ ๋ณ„๋„์˜ ์„ค์น˜๋‚˜ ์„ค์ •๊ณผ์ •์—†์ด ๊ณง ๋ฐ”๋กœ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.

Java๋‚˜ Gradle๋„ ์„ค์น˜ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ๋˜ํ•œ ๋กœ์ปฌ์— ์„ค์น˜๋œ Gradle ๋˜๋Š” Java์˜ ๋ฒ„์ „๋„ ์‹ ๊ฒฝ์“ธ ํ•„์š”๊ฐ€ ์—†๋‹ค. ๋”ฐ๋ผ์„œ ํ•ญ์ƒ Wrapper๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค.

gradlew

์œ ๋‹‰์Šค์šฉ ์‹คํ–‰ ์Šคํฌ๋ฆฝํŠธ๋‹ค. Gradle๋กœ ์ปดํŒŒ์ผ์ด๋‚˜ ๋นŒ๋“œ ๋“ฑ์„ ํ• ๋•Œ, ์•„๋ž˜์™€ ๊ฐ™์ด ํ•˜๋ฉด ๋กœ์ปฌ์— ์„ค์น˜๋œ gradle์„ ์‚ฌ์šฉํ•œ๋‹ค.

gradle build

์ด ๊ฒฝ์šฐ Java๋‚˜ Gradle์ด ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•˜๊ณ , ์ƒˆ๋กœ๋ฐ›์€ ํ”„๋กœ์ ํŠธ์˜ Gradle ๋ฒ„์ „๊ณผ ๋กœ์ปฌ์— ์„ค์น˜๋œ Gradle ๋ฒ„์ „์ด ํ˜ธํ™˜๋˜์ง€ ์•Š์œผ๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ Wrapper๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์‹คํ–‰ํ•œ๋‹ค.

./gradlew build

gradlew.bat

์›๋„์šฐ์šฉ ์‹คํ–‰ ๋ฐฐ์น˜ ์Šคํฌ๋ฆฝํŠธ๋‹ค. ์›๋„์šฐ์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ๋งŒ ์ œ์™ธํ•˜๋ฉด gradlew์™€ ๋™์ผํ•˜๋‹ค.

gradle/wrapper/gradle-wrapper.jar

Wrapper ํŒŒ์ผ์ด๋‹ค. gradlew๋‚˜ gradlew.bat ํŒŒ์ผ์ด ํ”„๋กœ์ ํŠธ ๋‚ด์— ์„ค์น˜ํ•˜๋Š” ์ด ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ gradle task๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋กœ์ปฌ ํ™˜๊ฒฝ์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค. (์‹ค์ œ๋กœ๋Š” Wrapper ๋ฒ„์ „์— ๋งž๋Š” ๊ตฌ์„ฑ๋“ค์„ ๋กœ์ปฌ ์บ์‹œ์— ๋‹ค์šด๋กœ๋“œ ๋ฐ›์Œ)

gradle/wrapper/gradle-wrapper.properties

Gradle Wrapper ์„ค์ • ํŒŒ์ผ์ด๋‹ค. ์ด ํŒŒ์ผ์˜ wrapper ๋ฒ„์ „ ๋“ฑ์„ ๋ณ€๊ฒฝํ•˜๋ฉด task ์‹คํ–‰์‹œ, ์ž๋™์œผ๋กœ ์ƒˆ๋กœ์šด Wrapper ํŒŒ์ผ์„ ๋กœ์ปฌ ์บ์‹œ์— ๋‹ค์šด๋กœ๋“œ ๋ฐ›๋Š”๋‹ค.

build.gradle

์˜์กด์„ฑ์ด๋‚˜ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์ • ๋“ฑ์„ ์œ„ํ•œ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์ด๋‹ค.

settings.gradle

ํ”„๋กœ์ ํŠธ์˜ ๊ตฌ์„ฑ ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•˜๋Š” ํŒŒ์ผ์ด๋‹ค. ์–ด๋–ค ํ•˜์œ„ํ”„๋กœ์ ํŠธ๋“ค์ด ์–ด๋–ค ๊ด€๊ณ„๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ๊ธฐ์ˆ ํ•œ๋‹ค. Gradle์€ ์ด ํŒŒ์ผ์— ๊ธฐ์ˆ ๋œ๋Œ€๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค. ํ•ด๋‹น ํŒŒ์ผ์„ ์ด์šฉํ•˜์—ฌ ๋ฉ€ํ‹ฐ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

Gradle Plugin

Search Hub