开源软件license管理


项目当中遇到一些问题,需要排查所有的依赖的license信息,需要将所有的依赖的license信息都列出来,由于依赖的继承和传递关系,依赖的数量非常庞大,因此手工来完成这个任务是不太现实,好在已经有很好的开源工具实现了这个功能.

java项目

修改gradle的配置,安装插件Gradle-License-Report

plugins {
    id("com.github.jk1.dependency-license-report") version "1.16"
}

licenseReport {
    renderers = arrayOf<ReportRenderer>(InventoryHtmlReportRenderer("report.html","Backend"),com.github.jk1.license.render.CsvReportRenderer())
    filters = arrayOf<DependencyFilter>(LicenseBundleNormalizer())
}

这款插件会为你生成你项目所有依赖的license报表信息,可以支持多种报表格式,包括csv,html,pdf等.
安装以后,会添加如下的task

Reporting tasks
---------------
generateLicenseReport - Generates license report for all dependencies of this project and its subprojects

执行./gradlew generateLicenseReport以后,就可以在build/reports/dependency-license里找到新生成的report了,新生成的report如下图
license report

nodejs

npm里有一个license-checker可以很方便地查看每个依赖的license信息,使用前先进行全局安装

npm install -g license-checker
npm install -g yui-lint

然后运行如下的命令就可以生成相应的csv报告,注意在执行前要先运行一下yarn install, 确保所有的依赖都已经正确安装了

license-checker --production --csv > license.csv


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM