Hello Ability! - noonmaru/psychics GitHub Wiki
(https://github.com/noonmaru/psychics-abilities) ํ๋ก์ ํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ช ํ๊ฒ ์ต๋๋ค.
์ง์ ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํ๋ค๋ฉด ๋น์ทํ ์์กด์ฑ์ ๊ฐ์ง ์ฌ๋ฌ ํ๋ก์ ํธ๋ฅผ ํ๋ฒ์ ๋น๋ํ๊ณ ๊ฐํธํ ์์กด์ฑ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ํด Gradle Multiproject๋ฅผ ์ฌ์ฉํ๋๊ฒ์ ์ถ์ฒํฉ๋๋ค.
- abilities๋ก ์ด๋ํ๊ธฐ
Project ํญ์์ abilities ๋ชจ๋์ ์ฌ์ธ์.
- sample ๋ชจ๋ ๋ณต์ ํ๊ธฐ
sample ๋ชจ๋์ ์ํ๋ ์ด๋ฆ์ผ๋ก ๋ณต์ ํ์ธ์. F5๋ฅผ ๋๋ฅด๋ฉด ๊ฐ๋จํ๊ฒ ๋ณต์ ํ ์ ์์ต๋๋ค.
sample์ ์ ๊ฐ ๋ฏธ๋ฆฌ ๋ง๋ค์ด๋ ์์ ๋ฅ๋ ฅ์ ๋๋ค.
์ ๋ myability๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ณต์ ํ์ต๋๋ค.
- ๋ชจ๋ ์ธ์์ํค๊ธฐ
๋ณต์ ํ Ctrl + Shift + O๋ฅผ ๋๋ฅด๊ฑฐ๋ ์ค๋ฅธ์ชฝ์ ์๋ Gradle ํญ์ ๋๋ฌ ์๋ก๊ณ ์นจ(Reload All Gradle Projects)์ ๋๋ฌ์ฃผ์ธ์.
์ ์ Buildํญ์ด ํ์ฑํ๋๋ฉฐ ํ๋ก์ ํธ ๊ด๋ จ ํ์คํฌ๋ค์ด ์คํ๋ฉ๋๋ค.
์ ์์ ์ผ๋ก ํ์คํฌ๊ฐ ์๋ฃ๋๋ฉด myability ํด๋๊ฐ ๋ชจ๋๋ก ์ธ์๋ฉ๋๋ค. (ํ๋์ ๋ค๋ชจ)
- ๊ธฐ์กด ์ฝ๋ ์ญ์ ํ๊ธฐ
myability/src/main/kotlin ํ์์ ์๋ ํจํค์ง์ ํ์ผ์ ๋ชจ๋ ์ญ์ ํฉ์๋ค.
- ํจํค์ง์ ํ์ผ ๋ง๋ค๊ธฐ
์ํ๋ ์ด๋ฆ์ ํจํค์ง์ ์ฝํ๋ฆฐ ํ์ผ์ ๋ง๋ค์ด๋ด ์๋ค.
์ ๋ ์์๊ฐ์ด ํจํค์ง๋ foo.tutorial.psychics.ability
, ํ์ผ ์ด๋ฆ์ MyAbility
๋ก ๋ง๋ค์์ต๋๋ค.
- Ability ํด๋์ค ๋ง๋ค๊ธฐ
MyAbility ํ์ผ์ ์ด์ด์ ํด๋์ค๋ฅผ ๋ง๋ค๊ณ com.github.noonmaru.psychics.Ability
๋ฅผ ์์ํ์ธ์
Aility
์์์๋ <AbilityConcept>
๋ AbilityConcept ํ์ด์ง์์ ์ค๋ช
ํ๊ฒ ์ต๋๋ค.
- Main ์ง์ ํ๊ธฐ
myability/gradle.properties
ํ์ผ์ ์ด์ด ๋ฐฉ๊ธ ๋ง๋ Ability
๋ฅผ ์์ํ ํด๋์ค์ ๊ฒฝ๋ก๋ฅผ main์ ํจํค์ง.ํด๋์ค
๋ก ์ ์ด์ฃผ์ธ์.
- group ๊ณผ author ๋ณ๊ฒฝํ๊ธฐ
๋น๋ํ๊ธฐ ์ ๊ฒฐ๊ณผ๋ฌผ์ ์ ์์์ group์ ์ ๋ณด๋ฅผ ๋ณ๊ฒฝํ์ธ์.
๊ธฐ๋ณธ๊ฐ์ ์ ์์ = noonmaru
, group = com.github.noonmaru
์
๋๋ค.
ํ๋ก์ ํธ ์ต์์ ๊ฒฝ๋ก์ gradle.properties
๋ฅผ ์ด์ด group๊ณผ author์ ๊ฐ์ ๋ณ๊ฒฝํ๋ฉด ๋ฉ๋๋ค.
- ๋น๋ํ๊ธฐ
์๋ฒ์ ์ ์ฉํ๊ธฐ์ํ jarํ์ผ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋๋ค.
1. Gradle ํญ์์ Tasks/build/build ํ์คํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋น๋์คํ
2. ๋๋ ํฐ๋ฏธ๋์์ `./gradlew build` ๋ฅผ ์คํ
์ ์ build ํ์คํฌ๊ฐ ์๋ฃ๋๊ธธ ๊ธฐ๋ค๋ฆฐ ํ์ abilities/build
ํด๋๋ฅผ ํ์ธํ์ธ์.
๋ฐฉ๊ธ ๋ง๋ ๋ฅ๋ ฅ์ด (group).(project.name).jar ์ด๋ฆ์ผ๋ก ์์ฑ๋๋ฉด ์ฑ๊ณต!
- ์๋ฒ์ ์ ์ฉํ๊ธฐ
๋น๋ ๊ฒฐ๊ณผ๋ฌผ์ ์๋ฒ์ ๋ณต์ฌํ์ธ์. ์ฐธ์กฐ: ๊ตฌ์ฑํ๊ธฐ
์คํ ํ ์ฝ์์์ ๋ค์๊ณผ ๊ฐ์ ๋ฉ์์ง๊ฐ ๋์ค๋ฉด ์ ์์ ์ผ๋ก ๋ก๋ฉ๋๊ฒ์ ๋๋ค.