naver / arcus-spring

ARCUS as a caching provider for the Spring Cache Abstraction
Apache License 2.0
26 stars 16 forks source link

INTERNAL: Adjust `@NonNullApi` and `@NonNullFields` using package-info. #97

Open uhm0311 opened 1 month ago

uhm0311 commented 1 month ago

๐Ÿ”— Related Issue

โŒจ๏ธ What I did

oliviarla commented 1 month ago

@uhm0311 @jhpark816 ArcusClientFactoryBean ํด๋ž˜์Šค๋ฅผ Deprecate ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์€ ์–ด๋–ค๊ฐ€์š”? ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ฌธ์„œ์—๋Š” ArcusCacheManager๋ฅผ ๋นˆ์œผ๋กœ ๋“ฑ๋กํ•˜๋ผ๊ณ  ์„ค๋ช…ํ•˜๊ณ  ์žˆ๊ณ  ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์„ ์ œ์™ธํ•˜๊ณ ๋Š” ์ด ํด๋ž˜์Šค๊ฐ€ ํ•„์š”ํ•œ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ํด๋ž˜์Šค๋กœ ์ธํ•ด PlaceHolder๋ผ๋Š” ์š”์†Œ๋ฅผ ๋ผ์›Œ๋„ฃ๊ณ  Nullableํ•˜์ง€ ์•Š์•„์•ผ ํ•˜๋Š” ๊ณณ์— Nullable์„ ๋ถ™์ด๊ฒŒ ๋˜๋‹ค๋ณด๋‹ˆ, ๋‚˜์ค‘์— ์ฝ”๋“œ๋ฅผ ๋ณผ๋•Œ ํ—ท๊ฐˆ๋ฆด ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

uhm0311 commented 1 month ago

FactoryBean์ด ์•„๋‹ˆ์–ด๋„ Placeholder๋ฅผ ๋‘๋Š” ๊ณณ์€ ์žˆ์Šต๋‹ˆ๋‹ค.

kiheyunkim commented 3 weeks ago

์ง€๋‚œ PR๋ณ€๊ฒฝ์‚ฌํ•ญ๋“ค๊ณผ JDK8๋ฒ„์ „์œผ๋กœ ์˜ฌ๋ผ๊ฐ„ develop ๋ธŒ๋žœ์น˜์ƒ ๊ธฐ๋ก์„ ๋ดค์„ ๋•Œ org.springframework.lang.Nullable์ด ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๊ณ  ๋˜ ์ด๋ฒˆ PR์—์„œ ํ•ด๋‹น ์–ด๋…ธํ…Œ์ด์…˜ ์‚ฌ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์œผ๋ฏ€๋กœ, https://github.com/naver/arcus-spring/pull/61 PR์—์„œ @Nullable ๋งŒ์„ ์œ„ํ•ด ์ถ”๊ฐ€๋๋˜ ์•„๋ž˜์˜ ๋ชจ๋“ˆ๋„ ํ•จ๊ป˜ ์ œ๊ฑฐ ๋˜์–ด๋„ ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

<dependency>
            <groupId>com.google.code.findbugs</groupId>
            <artifactId>jsr305</artifactId>
            <version>${com.google.code.findbugs.version}</version>
           <scope>provided</scope>
 </dependency>
oliviarla commented 2 weeks ago

@kiheyunkim ์•ˆ๋…•ํ•˜์„ธ์š”, ๋ฆฌ๋ทฐ ์˜๊ฒฌ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

Arcus Spring์˜ ๊ฒฝ์šฐ Compile Warning์ด ๋ฐœ์ƒํ•˜๋ฉด ์ปดํŒŒ์ผ์ด ๋˜์ง€ ์•Š๋„๋ก ์„ค์ •ํ•ด๋‘๊ณ  ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ jsr305์— ๋Œ€ํ•œ ์˜์กด์„ฑ์„ ์ œ๊ฑฐํ•˜๋ฉด unknown enum constant javax.annotation.meta.When.MAYBE ์ปดํŒŒ์ผ ์›Œ๋‹์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ œ๊ฑฐํ•  ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค.

Spring ๋ฌธ์„œ์—์„œ๋„ ์ด์— ๊ด€๋ จํ•œ ๋‚ด์šฉ์„ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. https://github.com/spring-projects/spring-framework/blob/main/framework-docs/modules/ROOT/pages/core/null-safety.adoc#jsr-305-meta-annotations

jhpark816 commented 2 weeks ago

@uhm0311 @oliviarla ๋ณธ PR์€ ํ˜„ ์‹œ์ ์—์„œ ๋ฐ›์ง€ ์•Š๊ณ  ๋ณด๋ฅ˜ํ•ด ๋‘๊ฒ ์Šต๋‹ˆ๋‹ค. NonNull, Nullable ๊ด€๋ จ annotation์„ ์˜๋ฏธ์ ์œผ๋กœ ์ž˜ ๋ถ™์ผ ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ์กด ์ฝ”๋“œ๋ฅผ ๋จผ์ € ๋ฆฌํŒฉํ† ๋งํ•œ ํ›„, ๋ณธ PR์„ ๋‹ค์‹œ ์ ์šฉํ•˜๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.