build.gradle이 직접 선언한 오픈소스는 mcp-json-jackson2 하나지만, 런타임 전이 의존까지 따라가면 12건이 산출물 classpath에 올라간다. json-schema-validator, itu, jackson-dataformat-yaml, reactor-core, reactive-streams는 SDK를 넣기 전에는 없던 것들이라 함께 수록한다. 여기에 빌드 환경 2건(JDK 21, Gradle 8.14.3)을 scope optional로 더해 14건이다. 버전과 해시는 Gradle 로컬 캐시의 실제 pom을 따라가 그래프를 만들고 실제 jar 바이너리에서 SHA-512/SHA-1을 계산했다. Gradle 배포본의 SHA-256은 wrapper의 distributionSha256Sum 값이다. 산출 근거와 한계는 docs/sbom/README.md에 있다. 라이선스는 Apache-2.0 9건, MIT 3건, MIT-0 1건, JDK 미확정 1건이다. copyleft가 없어 소스 공개 의무는 없다. JDK는 toolchain이 벤더를 고정하지 않으므로 실제 배포판이 정해지면 라이선스를 확정해야 한다. optional인 joni/graal-js/graal-sdk(약 50MB), provided인 jakarta.servlet-api, test scope와 annotationProcessor는 산출물에 포함되지 않아 제외했다. 제외 사유는 Exclusions 시트에 있다. 확인이 남은 항목은 jackson-databind다. SDK가 요청한 2.20.1이 io.spring.dependency-management에 의해 Spring Boot 3.5.11의 2.19.4로 내려간다. sandbox에서 gradle daemon이 뜨지 않아 gradlew dependencies로 대조하지 못했으므로 빌드 환경에서 한 번 확인해야 한다. xlsx가 줄바꿈 정규화 대상이 되지 않도록 .gitattributes에 binary로 명시한다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
26 lines
707 B
Plaintext
26 lines
707 B
Plaintext
# 줄바꿈 정책을 저장소가 소유한다.
|
|
# 이 파일이 있으면 각자의 core.autocrlf 설정과 무관하게 동일한 결과가 나온다.
|
|
|
|
# 기본: 텍스트로 판단되면 저장소에는 항상 LF로 보관한다.
|
|
* text=auto
|
|
|
|
# 반드시 LF여야 한다. CRLF가 섞이면 Linux/컨테이너에서 실행되지 않는다.
|
|
*.java text eol=lf
|
|
gradlew text eol=lf
|
|
*.sh text eol=lf
|
|
|
|
# 반드시 CRLF여야 한다. Windows 셸이 해석하는 파일이다.
|
|
*.bat text eol=crlf
|
|
*.cmd text eol=crlf
|
|
*.ps1 text eol=crlf
|
|
|
|
# 바이너리: diff와 줄바꿈 변환 대상에서 제외한다.
|
|
*.jar binary
|
|
*.png binary
|
|
*.jpg binary
|
|
*.pdf binary
|
|
*.pptx binary
|
|
*.xlsx binary
|
|
*.p12 binary
|
|
*.jks binary
|