SonarQube规则squid:S1451应定义版权和许可证标题

时间:2015-07-16 19:26:51

标签: sonarqube sonarqube5.1

我的所有SonarQube代码分析Java项目都失败了。

每个源文件都应以标题文件所有权和必须用于分发应用程序的许可证开头。 必须使用每个文件开头所需的标题文本来提供此规则。

有一个参数:

headerFormat预期的版权和许可标题(纯文本)

但是没有关于如何配置它的例子。默认情况下,headerFormat为空,我找不到有关配置此规则的文档。

我猜应该有某种正则表达式或模板语言可以使用吗?

2 个答案:

答案 0 :(得分:3)

squid:S1451 "Copyright and license headers should be defined"有两个参数:

  1. headerFormat
  2. isRegularExpression
  3. headerFormat 中,您可以定义预期的文字。如果将 isRegularExpression 设置为true,则该文本将被视为正则表达式。

    如果您使用普通文本,则需要输入完整许可证,例如:

    /*
     * Maven Plugin Utils
     * http://www.gabrys.biz/projects/maven-plugin-utils/
     *
     * Copyright (c) 2015 Adam Gabryś
     *
     * This file is licensed under the BSD 3-Clause (the "License").
     * You may not use this file except in compliance with the License.
     * You may obtain a copy of the License at:
     *
     *      https://raw.githubusercontent.com/gabrysbiz/maven-plugin-utils/master/src/main/resources/license.txt
     */
    

    如果使用正则表达式,则可以省略某些部分,例如:

    ^\/\*.+www\.gabrys\.biz\/projects\/.+Copyright \(c\) [0-9]{4}.+This file is licensed under the.+\(the "License"\)\..+You may not use this file except in compliance with the License\..+You may obtain a copy of the License at:.+$
    

答案 1 :(得分:1)

仅更改SonarQube服务器上“ headerFormat”的默认文本:

quality profile example