根据Java目标禁用Gradle插件

5q4ezhmt  于 5个月前  发布在  Java
关注(0)|答案(1)|浏览(75)

我正在一个Java7项目中使用Gradle 3和Sonarqube:https://github.com/cbeust/testng/blob/master/build.gradle
我的CI是Travis with 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的重复,可以吗?

acruukt9

acruukt91#

使插件DSL不自动应用插件,并手动应用它,如

plugins {
    id "org.sonarqube" version "2.2.1"
}

apply plugin: 'org.sonarqube'

字符串
那么你应该能够将应用放到一个单独的Gradle文件中,或者只根据你可以用Groovy制定的任何条件来应用它。

相关问题