[Gradle] ํ•˜์œ„ ํ”„๋กœ์ ํŠธ ๊ฐ„ ๋นŒ๋“œ ๋กœ์ง ๊ณต์œ  (Sharing Build Logic between Subprojects)
ยท
Tool/Gradle
Convention Plugins ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์ค‘ ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ์˜ ํ•˜์œ„ ํ”„๋กœ์ ํŠธ๋Š” ๋ช‡ ๊ฐ€์ง€ ๊ณตํ†ต๋œ ํŠน์„ฑ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์—ฌ๋Ÿฌ ํ•˜์œ„ ํ”„๋กœ์ ํŠธ์—๋Š” ํŠน์ • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๋œ ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์ง€๋งŒ ๋‹ค๋ฅธ ํ•˜์œ„ ํ”„๋กœ์ ํŠธ๋Š” ๋ฌธ์„œํ™” ์ „์šฉ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ ํ’ˆ์งˆ ๊ทœ์น™์€ ๋ชจ๋“  ์ฝ”๋“œ ํ•˜์œ„ ํ”„๋กœ์ ํŠธ์— ์ ์šฉ๋˜์ง€๋งŒ ์„ค๋ช…์„œ ํ•˜์œ„ ํ”„๋กœ์ ํŠธ์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋™์‹œ์—, ํ•˜๋‚˜์˜ ๊ณตํ†ต๋œ ํŠน์„ฑ์„ ๊ณต์œ ํ•˜๋Š” ํ•˜์œ„ ํ”„๋กœ์ ํŠธ๋Š” ๋‹ค๋ฅธ ๋ชฉ์ ์„ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค - ๊ทธ๋“ค์€ ๊ทธ๋“ค์„ ๋”์šฑ ์ฐจ๋ณ„ํ™”ํ•˜๋Š” ๋‹ค๋ฅธ ์•„ํ‹ฐํŒฉํŠธ ์œ ํ˜•์„ ์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค , for example: public libraries - libraries that are published to some repository internal libraries - lib..