Manage dependencies in Gradle

1.implementation ꡬ성:

  • implementation ꡬ성은 ν”„λ‘œμ νŠΈμ˜ μ†ŒμŠ€ μ½”λ“œμ— μ§μ ‘μ μœΌλ‘œ μ˜μ‘΄ν•˜λŠ” 쒅속성을 μ„ μ–Έν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

  • 이 κ΅¬μ„±μœΌλ‘œ μ„ μ–Έλœ 쒅속성은 컴파일 μ‹œκ°„μ— ν•„μš”ν•˜λ©°, ν”„λ‘œμ νŠΈμ˜ 클래슀패슀(Classpath)에 ν¬ν•¨λ©λ‹ˆλ‹€.

  • **implementation**으둜 μ„ μ–Έλœ 쒅속성은 ν•΄λ‹Ή ν”„λ‘œμ νŠΈμ˜ API λ˜λŠ” 라이브러리둜 μ‚¬μš©λ˜λŠ” 경우 주둜 μ‚¬μš©λ©λ‹ˆλ‹€.

2.runtimeOnly ꡬ성:

  • runtimeOnly ꡬ성은 ν”„λ‘œμ νŠΈμ˜ λŸ°νƒ€μž„ μ‹œμ—λ§Œ ν•„μš”ν•œ 쒅속성을 μ„ μ–Έν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

  • 이 κ΅¬μ„±μœΌλ‘œ μ„ μ–Έλœ 쒅속성은 컴파일 μ‹œκ°„μ—λŠ” ν•„μš”ν•˜μ§€ μ•ŠμœΌλ©°, ν”„λ‘œμ νŠΈμ˜ μ‹€ν–‰ν™˜κ²½(Runtime Environment)μ—μ„œλ§Œ ν•„μš”ν•©λ‹ˆλ‹€.

  • **runtimeOnly**으둜 μ„ μ–Έλœ 쒅속성은 ν•΄λ‹Ή ν”„λ‘œμ νŠΈμ˜ μ‹€ν–‰ν™˜κ²½μ—μ„œλ§Œ μ‚¬μš©λ˜λŠ” 경우 주둜 μ‚¬μš©λ©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, μ„œλ²„ ν™˜κ²½μ—μ„œ 싀행될 λ•Œ ν•„μš”ν•œ 라이브러리 등이 이에 ν•΄λ‹Ήν•©λ‹ˆλ‹€.

3.compileOnly:

  • compileOnly ꡬ성은 컴파일 μ‹œμ—λ§Œ ν•„μš”ν•œ 쒅속성을 μ„ μ–Έν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

  • 이 κ΅¬μ„±μœΌλ‘œ μ„ μ–Έλœ 쒅속성은 컴파일 μ‹œμ— ν•„μš”ν•˜μ§€λ§Œ, λŸ°νƒ€μž„ μ‹œμ—λŠ” ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

  • 주둜 μΈν„°νŽ˜μ΄μŠ€λ‚˜ μ• λ…Έν…Œμ΄μ…˜κ³Ό 같이 컴파일 μ‹œμ—λ§Œ ν•„μš”ν•œ κ²½μš°μ— μ‚¬μš©λ©λ‹ˆλ‹€.

4.testImplementation:

  • testImplementation ꡬ성은 ν…ŒμŠ€νŠΈ μ½”λ“œμ—λ§Œ ν•„μš”ν•œ 쒅속성을 μ„ μ–Έν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

  • 이 κ΅¬μ„±μœΌλ‘œ μ„ μ–Έλœ 쒅속성은 ν…ŒμŠ€νŠΈ μ½”λ“œ 컴파일 및 싀행에 ν•„μš”ν•œ μ’…μ†μ„±μœΌλ‘œ, 주둜 ν…ŒμŠ€νŠΈ ν”„λ ˆμž„μ›Œν¬λ‚˜ ν…ŒμŠ€νŠΈμš© 라이브러리 등이 ν¬ν•¨λ©λ‹ˆλ‹€.

5.testRuntimeOnly:

  • testRuntimeOnly ꡬ성은 ν…ŒμŠ€νŠΈ μ½”λ“œμ˜ λŸ°νƒ€μž„ ν™˜κ²½μ—λ§Œ ν•„μš”ν•œ 쒅속성을 μ„ μ–Έν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

  • 이 κ΅¬μ„±μœΌλ‘œ μ„ μ–Έλœ 쒅속성은 ν…ŒμŠ€νŠΈ μ‹€ν–‰ μ‹œμ—λ§Œ ν•„μš”ν•˜λ©°, ν…ŒμŠ€νŠΈ ν™˜κ²½μ— λŒ€ν•œ λŸ°νƒ€μž„ μ’…μ†μ„±μœΌλ‘œ 주둜 μ‚¬μš©λ©λ‹ˆλ‹€.

Last updated

Was this helpful?