반응형
개발을하며 사용한 모든 오픈소스에 대한 라이센스를 고지해야 한다.
손수 작성하기엔 어려움이 있어 자동으로 작성하는 방법을 찾아보았고 Gradle를 사용하고 있다면 Gradle License Report 플러그인을 사용해서 라이센스를 고지하는 파일을 만들 수 있다.
사용법
build.gradle에 플러그인을 추가한다.
사용하고 있는 gradle 버전에 따라 사용하는 플러그인 버전이 다르다.
Gradle 7+
plugins {
id 'com.github.jk1.dependency-license-report' version '2.0'
}
Gradle 6.x
plugins {
id 'com.github.jk1.dependency-license-report' version '1.17'
}
플러그인을 추가했다면 아래 코드를 build.gradle 파일안에 작성한다.
import com.github.jk1.license.render.*
import com.github.jk1.license.filter.ExcludeTransitiveDependenciesFilter
...
licenseReport {
// 라이센스 고지 파일을 반환할 경로 default는 $projectDir/reports/dependency-license
outputDir = "$projectDir/build/licenses"
// markdown 생성
renderers = [new InventoryMarkdownReportRenderer()]
// html 생성
// renderers = [new InventoryHtmlReportRenderer()]
// xml 생성
// renderers = [new XmlReportRenderer()]
// 보고서에 첫 번째 수준 종속성만 표기
filters = [new LicenseBundleNormalizer(), new ExcludeTransitiveDependenciesFilter()]
}
filters에 com.github.jk1.license.filter.LicenseBundleNormalizer를 사용하면 커스텀 정규화도 가능하다.
Markdown, Html, Xml 유형의 파일로 추출할 수 있는데, 나는 README 파일로 사용할 것이므로 Markdown 파일로 생성하였다.
위처럼 설정하고 Gradle Tasks를 확인해보면 reporting에 generateLicenseReport를 확인할 수 있다.
요것을 더블 클릭해 Task를 실행해보면 build.gradle에 설정한 outputDir 경로를 확인해보면 licenses.md 파일이 생성되어있을 것이다.
이렇게 간단하게 라이센스 리포트를 작성하는 방법을 실행해보았다.
생성된 문서들을 자동으로 동기화 할 수 있는 방법을 함께 사용한다면 유용하게 사용할 수 있을 것 같다.
더욱 자세한 방법은 아래 GitHub를 참고
반응형
'Spring' 카테고리의 다른 글
Spring Boot Admin 구축 및 보안 설정 (0) | 2023.01.02 |
---|---|
SlackAppender를 이용한 Logback Slack 알림 받기 (0) | 2022.12.01 |
Spring Boot + AOP + Sentry 로깅 및 오류 모니터링 하기 (0) | 2022.07.19 |
Jenkins + Docker + Spring Cloud Config 적용기 (4) | 2022.05.24 |
Spring Docs + Swagger 설정하기 (Spring Rest Docs 비교) (2) | 2022.05.02 |