開源軟體license管理
阿新 • • 發佈:2021-06-22
專案當中遇到一些問題,需要排查所有的依賴的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如下圖
nodejs
npm裡有一個license-checker可以很方便地檢視每個依賴的license資訊,使用前先進行全域性安裝
npm install -g license-checker
npm install -g yui-lint
然後執行如下的命令就可以生成相應的csv報告,注意在執行前要先執行一下yarn install
, 確保所有的依賴都已經正確安裝了
license-checker --production --csv > license.csv