scan code是一个工具,用于扫描代码的许可证、版权、包及其文档依赖项和其他有趣的事实。

scancode-toolkit的Python项目详细描述


一个典型的软件项目经常重用数百个第三方软件包。 许可证和来源信息并不总是容易找到且不规范: scancode为您发现并规范化这些数据。

为什么scancode更好?

  • 作为独立命令行工具,scancode是易于安装,运行 并嵌入到您的ci/cd处理管道中。它在windows、macos和linux上运行。
  • scancode是几个项目和组织使用的,例如Eclipse FoundationOpenEmbedded.orgFSFOSS Review ToolkitClearlyDefined.ioRedHat Fabric8 analytics还有更多。
  • scancode检测许可证、版权、包清单和直接依赖项 以及源代码二进制文件中的更多内容。
  • scancode提供最精确的许可检测引擎,并执行 完全比较(又名差异或红线)在许可证文本数据库之间 以及您的代码,而不是依赖regex模式或概率搜索或 机器学习。
  • scancode是用python编写的,易于用插件进行扩展以贡献新的 改进了扫描器,数据摘要,包装清单和新的 输出。
  • 您可以将扫描结果保存为json、html、csv或spdx。你可以使用 同伴ScanCode workbench GUI app 查看和显示扫描结果、统计数据和图形。
  • scancode是主动维护的,拥有一个不断增长的用户社区
  • scancode经过了大量的测试,拥有超过^{str1}$8000个测试的自动化测试套件

有关即将推出的功能,请参见我们的路线图: https://github.com/nexB/scancode-toolkit/wiki/Roadmap

生成和测试状态

BranchCoverageLinux/macOSWindows
MasterMaster branch test coverage (Linux)Linux Master branch tests statusWindows Master branch tests status
DevelopDevelop branch test coverage (Linux)Linux Develop branch tests statusWindows Develop branch tests status

快速启动

安装Python2.7,然后从 https://github.com/nexB/scancode-toolkit/releases/

然后运行./scancode -h获得帮助。

安装

先决条件:

接下来,从 https://github.com/nexB/scancode-toolkit/releases/

打开终端窗口,然后cd到提取的scancode目录并运行 显示帮助的命令。scancode将根据需要进行自我配置:

./scancode --help

您可以运行一个在屏幕上打印为json的示例扫描:

./scancode -clip --json-pp - samples

查看更多命令示例:

./scancode --examples

存档文件提取

<>文件库中存在的文件必须在运行扫描之前提取: scancode不会从tarball、zip文件等中提取文件,作为 扫描。捆绑实用程序extractcode是一个基本上通用的存档提取器。 例如,此命令将在中递归提取mytar.tar.bz2 tarball mytar.tar.bz2-extract目录:

./extractcode mytar.tar.bz2

文档和常见问题解答

https://github.com/nexB/scancode-toolkit/wiki

有关相关的配套项目和工具,请参见https://aboutcode.org

支架

如果您有问题、建议或发现错误,请在以下位置输入票证: https://github.com/nexB/scancode-toolkit/issues

对于讨论和聊天,我们有:

许可证

  • apache-2.0,需要随扫描输出一起确认。
  • 引用数据集的公共域cc-0。
  • 第三方组件的多个许可证(gpl2/3、lgpl、mit、bsd等)。

请参阅通知文件和.about文件,这些文件记录了 scancode中使用的第三方代码以获取更多详细信息。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓工作室组织。json。JSONException:类型为java。无法将lang.String转换为JSONObject   java将数据从Jenkins参数化构建传递到testng。运行时的xml   java关注使用所有者框架异步打开JDialog   Android java:broadcastReceiver上的蓝牙连接事件未触发   在java中同时处理写入和读取的文件io   javascript如何替换目标数组字符串并将其更改为用户输入字符串   如何终止或停止java小程序中的其他线程   如何通过SeleniumJava连接到putty以执行一组命令并在putty窗口中验证输出   java为什么空列表上的循环会挂起?   java当我单击run时,什么也没有发生   swing Java多监视器问题   proguard java模块版本不匹配   java在facebook sdk 4.0上获取可标记好友+   java Android Fragmens和滑动示例   java导入。VS代码中的jar库   存储在SQL表中的java下载/显示文件   java项目Euler(第14页):递归问题   java如何在springboot中跳过失败的bean以避免报告失败:771>>应用程序启动失败