Search code examples
gradledependency-graphdependency-treesonar-plugin

Gradle does not display all plugins in dependency tree


Use Case

I am trying to generate a dependency tree containing all plugins and dependencies for all configurations, but org.sonarqube is not included in the tree. I am working with a basic, single-module project and am using Gradle v7.5.1.

Examples

Running the following command outputs most (but not all) dependencies and plugins.

gradlew dependencies > dependency-tree.txt

Specify SonarQube plugin within build.gradle

plugins {
  id 'org.sonarqube' version '3.2.0'
}

Specify SonarQube plugin within settings.gradle

buildscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.2.0"
  }
}

apply plugin: "org.sonarqube" // set in build.gradle, not in settings.gradle

Results

Neither approach includes the org.sonarqube plugin in the dependency graph. Is there a way to get this plugin to show up in the generated dependency tree? If yes, what changes need to be made?


Solution

  • The dependencies task provides the projet dependencies in each configuration, this does not include the projet script classpath (plugins).

    You have another similar task available, buildEnvironment (see BuildEnvironmentReportTask) which will list the project build script dependencies. you could combine both tasks outputs if you need a aggredated report of all project/plugin dependencies

    > Task :buildEnvironment
    
    ------------------------------------------------------------
    Root project 'demo'
    ------------------------------------------------------------
    
    classpath
    \--- org.sonarqube:org.sonarqube.gradle.plugin:3.2.0
         \--- org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.2.0
              \--- org.sonarsource.scanner.api:sonar-scanner-api:2.16.1.361
    
    A web-based, searchable dependency report is available by adding the --scan option.
    
    BUILD SUCCESSFUL in 452ms