gpt4 book ai didi

maven - Maven Golang构建不扫描Go

转载 作者:行者123 更新时间:2023-12-01 22:28:09 29 4
gpt4 key购买 nike

我们正在使用maven来构建Golang项目,因为我们是一家混合语言商店,而maven是当前的构建标准。

我们的第一个Go应用程序是为Vue项目提供服务的一组服务。

jenkins文件像这样调用mvn sonar:sonar:

    stage('Sonar') {
steps {
echo 'Building Sonar'
withSonarQubeEnv('Sonar') {
// requires SonarQube Scanner for Maven 3.2+
withMaven(
maven: 'Maven 3.5.3',
globalMavenSettingsConfig: 'GlobalSettingsRepo',
jdk: 'Java 8 Oracle',
options: [
artifactsPublisher(disabled: true),
jacocoPublisher(disabled: true)]) {
sh 'mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905:sonar -U'
}
}
}
}

我已经将父pom和Go文件夹内的pom更新为包括:
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.4.0.905</version>
</dependency>
<dependency>
<groupId>org.sonarsource.go</groupId>
<artifactId>sonar-go-plugin</artifactId>
<version>1.0.0.1404</version>
</dependency>
</dependencies>

我还已将GOPATH硬编码到环境变量中的Go文件夹中。
但是,当我运行构建时,声纳扫描仪仅扫描项目中的xml文件。如果我从命令行运行声纳扫描仪,它将同时分析Go代码和Vue代码。

有什么建议么?

最佳答案

显然,声纳扫描仪默认情况下会分析您的整个项目结构,并且需要显式排除项以跳过显然不应该分析的目录,例如node_modules。

Maven声纳插件希望您明确枚举您的源目录。我将以下行放在子pom.xml文件中,它按我期望的方式工作。

Golang pom.xml:

<properties>
<sonar.sources>src/go</sonar.sources>
</properties>

Vue pom.xml:
<properties>
<sonar.sources>src/views,src/components,src/assets/js,src/assets/css</sonar.sources>
</properties>

关于maven - Maven Golang构建不扫描Go,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58453187/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com