7.4 KiB
title, source_type, url, archive_url, related_branches, related_projects, tags, created
| title | source_type | url | archive_url | related_branches | related_projects | tags | created | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SpotBugs Gradle Plugin — 공식 문서 | official-doc | https://spotbugs.readthedocs.io/en/stable/gradle.html |
|
|
|
2026-06-15 |
SpotBugs Gradle Plugin — 공식 문서
Layer:
raw/— 외부 자료(공식 문서)의 원문 발췌·출처 기록. 검증된 요약은/ingest후wiki/concepts/에source-summary-template형식으로 별도 작성. 원본은 raw에 영구 보관.
Parent / 활용 branch (필수)
| Branch | 이 자료가 정당화하는 결정 |
|---|---|
| raw/branch-notes/feature-static-analysis-quality-contract | D3/D4/D9 — SpotBugs Gradle plugin (com.github.spotbugs) 채택, spotbugsPlugins configuration 으로 FindSecBugs 연동, check task 자동 집계(./gradlew check) |
출처 / Source
- 원본 URL: https://spotbugs.readthedocs.io/en/stable/gradle.html
- 아카이브 URL: (미기록 — 추후 archive.org 스냅샷 병기 권장)
- 저자 / 조직: spotbugs community
- 발행일: (문서 내 미기재, 저작권 표기 2016-2022)
- 마지막 확인일: 2026-06-15
왜 저장했는지 / Why archived
SpotBugs Gradle Plugin 의 공식 설정 방법(플러그인 적용, check task 자동 의존성, spotbugsPlugins configuration, toolVersion 지정)을 verbatim 근거로 확보하기 위해 보관. feature-static-analysis-quality-contract 의 D3(plugin 채택), D4(FindSecBugs 연동), D9(check task 집계) 결정의 직접 근거.
핵심 인용 / Key quotes (verbatim, self-grep 통과)
[§ Tasks introduced by this Gradle Plugin] "SpotBugs Gradle Plugin adds task dependency from check to these generated tasks, so you can simply run ./gradlew check to run SpotBugs."
[§ Tasks introduced by this Gradle Plugin] "This Gradle Plugin generates task for each sourceSet generated by Gradle Java Plugin."
[§ Configure Gradle Plugin — code block] "spotbugs { toolVersion = '4.10.2' }"
[§ Introduce SpotBugs Plugin — code block] "spotbugsPlugins 'com.h3xstream.findsecbugs:findsecbugs-plugin:1.14.0'"
[§ Use SpotBugs Gradle Plugin] "Note that SpotBugs Gradle Plugin does not support Gradle v6, you need to use v7.0 or later."
Claims Extracted / 추출된 주장
이 자료가 직접 말하는 것만 claim 으로 분리한다.
| Claim ID | Claim (이 자료가 직접 말하는 것) | Evidence quote | Strength | Applies to | Does not prove |
|---|---|---|---|---|---|
| SPOTBUGS-GRADLE-C1 | SpotBugs Gradle Plugin은 check task 에 생성된 spotbugs task 에 대한 의존성을 자동으로 추가하므로 ./gradlew check 한 번으로 SpotBugs 분석을 실행할 수 있다 |
[§ Tasks introduced] "SpotBugs Gradle Plugin adds task dependency from check to these generated tasks, so you can simply run ./gradlew check to run SpotBugs." | official-vendor-doc |
SpotBugs Gradle Plugin 을 적용한 모든 Gradle 프로젝트 (Gradle v7.0+) | check task 내에서 SpotBugs 가 최초로 실행되는 순서·병렬 여부; 실제 CI gate 차단 동작 |
| SPOTBUGS-GRADLE-C2 | Gradle Java Plugin 이 생성하는 각 sourceSet(예: main, test)마다 별도 spotbugs task(예: spotbugsMain, spotbugsTest)가 자동 생성된다 | [§ Tasks introduced] "This Gradle Plugin generates task for each sourceSet generated by Gradle Java Plugin." | official-vendor-doc |
Gradle Java Plugin + SpotBugs Gradle Plugin 동시 적용 시 | Base Plugin 사용 시(자동 task 미생성 경로); multi-project 세부 동작 |
| SPOTBUGS-GRADLE-C3 | spotbugs { toolVersion = '...' } Extension 블록으로 SpotBugs 버전을 명시 지정할 수 있다 |
[§ Configure Gradle Plugin] "spotbugs { toolVersion = '4.10.2' }" | official-vendor-doc |
SpotBugs Gradle Plugin Extension 설정 범위 | 사용 가능한 모든 toolVersion 목록; 버전 간 동작 차이 |
| SPOTBUGS-GRADLE-C4 | dependencies { spotbugsPlugins '<artifact>' } 선언으로 FindSecBugs 등 SpotBugs 플러그인을 추가할 수 있다 |
[§ Introduce SpotBugs Plugin] "spotbugsPlugins 'com.h3xstream.findsecbugs:findsecbugs-plugin:1.14.0'" | official-vendor-doc |
SpotBugs Gradle Plugin 이 제공하는 spotbugsPlugins configuration |
FindSecBugs 가 특정 룰을 실제로 검출하는지 여부; 룰셋 내용 |
| SPOTBUGS-GRADLE-C5 | SpotBugs Gradle Plugin 은 Gradle v6 를 지원하지 않으며 v7.0 이상이 필요하다 | [§ Use SpotBugs Gradle Plugin] "Note that SpotBugs Gradle Plugin does not support Gradle v6, you need to use v7.0 or later." | official-vendor-doc |
SpotBugs Gradle Plugin 최소 요구 사항 | Gradle v7.x 의 구체적 최소 패치 버전; Gradle v8+ 의 지원 여부 |
Usage Boundaries / 적용 경계
- 이 자료가 직접 증명하는 것:
SPOTBUGS-GRADLE-C1:./gradlew check하나로 SpotBugs 분석이 자동 포함됨SPOTBUGS-GRADLE-C2: sourceSet 별 별도 task 자동 생성SPOTBUGS-GRADLE-C3:toolVersion으로 SpotBugs 버전 고정 방법SPOTBUGS-GRADLE-C4:spotbugsPlugins로 FindSecBugs 등 플러그인 추가 방법SPOTBUGS-GRADLE-C5: Gradle v7.0+ 필수 요구사항
- 이 자료가 증명하지 않는 것:
effort,reportLevel,excludeFilter등 상세 Extension 속성 — 본 페이지는SpotBugsExtension문서를 외부 참조로만 안내; 상세 속성은 별도 Extension 문서 확인 필요- plugin id
com.github.spotbugs적용 코드 — 본 페이지는 "official Gradle Plugin page 지침을 따르라"고만 안내하며 코드 블록 미제공; Gradle Plugin Portal(https://plugins.gradle.org/plugin/com.github.spotbugs) 에서plugins { id("com.github.spotbugs") version "..." }확인 - FindSecBugs 가 실제 보안 취약점을 검출하는지 여부 및 룰 내용
- multi-project build 세부 설정
- 내 프로젝트에 적용하려면 추가 확인이 필요한 것:
- ca-tmpl/ca-skeleton 의 실제 Gradle 버전이 v7.0 이상인지 검증 (C5)
checktask 가 CI pipeline gate 에서 실제 차단 동작하는지 로컬 검증 (C1)effort/reportLevel/excludeFilter설정 — SpotBugsExtension 공식 문서(https://javadoc.io/doc/com.github.spotbugs/spotbugs-gradle-plugin/) 별도 참조 필요
메모 / Notes
- 본 페이지는 plugin 적용 코드 블록을 직접 제공하지 않고 Gradle Plugin Portal 로 위임. 실제
plugins { id("com.github.spotbugs") version "..." }DSL 코드는 https://plugins.gradle.org/plugin/com.github.spotbugs 에서 확인. effort,reportLevel,excludeFilter설정은 SpotBugsExtension Javadoc 또는 spotbugs-gradle-plugin README 를 별도 원본으로 추가 아카이빙 권장.- 페이지 제목은 "spotbugs 4.10.2 documentation" 이나 이는 readthedocs 빌드 기준이며 플러그인 최신 버전과 다를 수 있음 (2026-06-15 기준 Gradle Plugin Portal 최신: 6.5.6).
Related / 관련
- Gradle Plugin Portal 페이지: https://plugins.gradle.org/plugin/com.github.spotbugs (plugin id
com.github.spotbugs적용 코드 확인) - SpotBugsExtension API 문서: https://javadoc.io/doc/com.github.spotbugs/spotbugs-gradle-plugin/ (
effort,reportLevel,excludeFilter등 상세 속성) - spotbugs-gradle-plugin GitHub README: https://github.com/spotbugs/spotbugs-gradle-plugin
- 같은 branch 의 ArchUnit 근거 자료: raw/official-docs/archunit-user-guide