jundev
개발
jundev
전체 방문자
오늘
어제
  • 분류 전체보기 (37)
    • 생각 (0)
    • 블록체인 (3)
      • 책 (0)
      • 블록체인개론 (0)
      • 논문 (1)
      • 기술 (2)
    • 개발 (6)
      • JavaScript (1)
      • Java (9)
      • SpringBoot (1)
      • Mysql , SQL (4)
      • Git (1)
      • Spring (0)
    • CS (7)
      • 컴퓨터구조 (3)
      • 운영체제 (1)
      • 자료구조 (1)
      • 알고리즘 (1)
      • 데이터베이스 (0)
    • 프로젝트 (3)
      • 야구어플 (2)
      • 스테이블코인 결제 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

티스토리

hELLO · Designed By 정상우.
jundev

개발

개발

Spring Security 오픈소스 기여 후기

2026. 1. 22. 09:18

Spring Security에 첫 기여를 진행했습니다.

이슈 #18451 "Remove javadoc warnings for spring-security-data"를 해결했습니다.
이번 PR은 spring-security-data 모듈의 Javadoc 빌드 경고를 제거하고, 경고 발생 시 빌드를 실패하도록 설정하는 작업을 포함합니다.


이슈 이해하기

이슈 #18451: Remove javadoc warnings for spring-security-data

  • 목적: spring-security-data 모듈의 Javadoc 빌드 경고 제거
  • 상위 이슈: #18443 (전체 모듈의 Javadoc 경고 제거)
  • 요구사항
    1. Javadoc 경고 제거
    2. javadoc-warnings-error 플러그인 적용

문제 분석

Javadoc이란?

Java 주석(/** ... */)으로부터 HTML API 문서를 자동 생성하는 도구입니다.

/**
 * 사용자에게 인사하는 메서드
 * @param name 사용자 이름
 * @return 인사 메시지
 */
public String greet(String name) { ... }

발견한 문제

SecurityEvaluationContextExtension.java 내 메서드에 @param 태그가 누락되어 경고가 발생했습니다.

수정 전

/**
 * Sets the {@link SecurityContextHolderStrategy} to use.
 * @since 5.8
 */
public void setSecurityContextHolderStrategy(SecurityContextHolderStrategy securityContextHolderStrategy) { ... }

해결 과정

1. 코드 분석

spring-security-data 모듈 내 파일 조사:

  • SecurityEvaluationContextExtension.java
  • AuthorizeReturnObjectDataHintsRegistrar.java
  • package-info.java 등

2. 누락된 @param 태그 추가

수정 후

/**
 * Sets the {@link SecuritySecurityContextHolderStrategy} to use. The default action is to use
 * the {@link SecurityContextHolderStrategy} stored in {@link SecurityContextHolder}.
 * @param securityContextHolderStrategy the {@link SecurityContextHolderStrategy} to use. Cannot be null.
 * @since 5.8
 */
public void setSecurityContextHolderStrategy(SecurityContextHolderStrategy securityContextHolderStrategy) { ... }

3. javadoc-warnings-error 플러그인 적용

spring-security-data.gradle에 플러그인 추가:

plugins {
    id 'security-nullability'
    id 'javadoc-warnings-error'
}

4. 로컬 빌드 검증

./gradlew --no-build-cache clean :spring-security-data:javadoc

결과:

BUILD SUCCESSFUL

원리 설명

Javadoc 경고 종류

  • @param, @return, @throws 누락
  • 깨진 {@link}
  • 문법 오류 태그

javadoc-warnings-error 플러그인 동작

options.addBooleanOption('Werror', true)
options.addStringOption('Xdoclint:all,-missing')

커밋 메시지

Remove javadoc warnings for spring-security-data

- Add javadoc-warnings-error plugin to spring-security-data.gradle
- Add missing @param tag in setSecurityContextHolderStrategy method

Closes gh-18451

Signed-off-by: Junmo <hongjm1022@gmail.com>

최종 결과

수정된 파일

  1. spring-security-data.gradle
  2. SecurityEvaluationContextExtension.java

검증 결과

Javadoc 빌드 경고 없음 → 빌드 성공

PR merge

  • PR 생성 완료 (#18532)
  • 메인테이너 리뷰후 merge

'개발' 카테고리의 다른 글

[코드트리] 2차원배열 알고리즘 약점 극복 학습 후기  (1) 2026.05.24
[코드트리 후기] 오랜만에 코딩테스트 준비해보기 갭체크부터 시작!  (0) 2026.05.17
Nginx 정리: 백엔드 개발자가 알아야 할 개념부터 실무 설정까지  (0) 2026.04.15
AWS 크레딧 1000불 받는 방법 (승인 실패 후 재검토 받는법)  (0) 2025.11.05
RESTful API 완벽 가이드  (0) 2025.10.16
    '개발' 카테고리의 다른 글
    • [코드트리 후기] 오랜만에 코딩테스트 준비해보기 갭체크부터 시작!
    • Nginx 정리: 백엔드 개발자가 알아야 할 개념부터 실무 설정까지
    • AWS 크레딧 1000불 받는 방법 (승인 실패 후 재검토 받는법)
    • RESTful API 완벽 가이드
    jundev
    jundev

    티스토리툴바