根据 java 目标禁用 gradle 插件

问题描述 投票:0回答:2

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

我的 ci 是 Travis,使用 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
。 可以吗?

java gradle sonarqube gradle-plugin sonarqube-scan
2个回答
2
投票

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

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

apply plugin: 'org.sonarqube'

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


0
投票

提出 https://discuss.gradle.org/t/how-to-skip-disable-plugin-execution-based-on-java-version/47274 询问有关如何执行此操作的更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.