根据 java 目标禁用 gradle 插件
Disable a gradle plugin depending on the java target
我在 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 运行 时间。
当我 运行 Gradle 使用 Java7 构建时,它会失败 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
的重复。
可能吗?
使插件 DSL 不自动应用插件并像
一样手动应用它
plugins {
id "org.sonarqube" version "2.2.1"
}
apply plugin: 'org.sonarqube'
那么您应该能够将应用程序放入单独的 Gradle 文件中,或者仅根据您可以用 Groovy 制定的任何条件应用它。
我在 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 运行 时间。
当我 运行 Gradle 使用 Java7 构建时,它会失败 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
的重复。
可能吗?
使插件 DSL 不自动应用插件并像
一样手动应用它plugins {
id "org.sonarqube" version "2.2.1"
}
apply plugin: 'org.sonarqube'
那么您应该能够将应用程序放入单独的 Gradle 文件中,或者仅根据您可以用 Groovy 制定的任何条件应用它。