java - 根据 java 目标禁用 gradle 插件

标签 java gradle sonarqube gradle-plugin sonarqube-scan

我在 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。 可能吗?

最佳答案

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

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

apply plugin: 'org.sonarqube'

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

关于java - 根据 java 目标禁用 gradle 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41164424/

相关文章:

MSBuild SonarQube Runner v1.0 在 "Generating the FxCop ruleset"之后返回代码 1

ant - 如何在gradle中复制隐藏的资源文件?

android - Gradle:找不到 DSL 方法:minSdkVersion/targetSdkVersion/compileSdkVersion/buildToolsVersion

jenkins - 如何在没有 Maven 和 Docker 的情况下在 Jenkins 声明性管道中执行 SonarQube 扫描器

java - 检查字符串是否由某些字符组成的方法

java - 为什么IntelliJ IDEA无法确定Java版本?

c# - SonarQube 规则似乎破坏了分析

Java 动画程序在 Linux 中运行不流畅

java - 使进程等待

java - 如何在java中向日期变量添加分钟