根据java目标

时间:2016-12-15 12:40:21

标签: java gradle sonarqube gradle-plugin sonarqube-scan

我在Java7项目中使用Gradle 3和Sonarqube:https://github.com/cbeust/testng/blob/master/build.gradle

我的ci是特拉维斯与Java7& Java8:https://travis-ci.org/cbeust/testng/

只有最新版本的Sonarqube插件支持Gradle 3,它们只能在Java8运行时上运行。 当我使用Java7运行Gradle构建时,它失败并显示java.lang.UnsupportedClassVersionError: org/sonarqube/gradle/SonarQubePlugin : Unsupported major.minor version 52.0

我尝试仅使用Java8启用SonarQube插件,但它也失败了: https://github.com/cbeust/testng/blob/update-gradle-plugins/build.gradle

我尝试在外部gradle文件中定义SonarQube插件,但Gradle只允许在主文件中定义插件。

我想避免重复build.gradle。 有可能吗?

1 个答案:

答案 0 :(得分:2)

使插件DSL不会自动应用插件并像

一样手动应用
plugins {
    id "org.sonarqube" version "2.2.1"
}

apply plugin: 'org.sonarqube'

然后您应该能够将应用程序放入单独的Gradle文件中,或者仅根据您可以使用Groovy制定的任何条件来应用它。