diff --git a/java-frontend/src/main/java/org/sonar/java/DefaultModuleMetadata.java b/java-frontend/src/main/java/org/sonar/java/DefaultModuleMetadata.java index c2b4a0c719..a0b1fca4b7 100644 --- a/java-frontend/src/main/java/org/sonar/java/DefaultModuleMetadata.java +++ b/java-frontend/src/main/java/org/sonar/java/DefaultModuleMetadata.java @@ -19,6 +19,7 @@ import javax.annotation.CheckForNull; import org.sonar.api.batch.bootstrap.ProjectDefinition; import org.sonar.api.config.Configuration; +import org.sonar.java.classpath.ClasspathProperties; import org.sonar.java.model.JavaVersionImpl; import org.sonar.plugins.java.api.JavaVersion; import org.sonar.plugins.java.api.internal.ModuleMetadata; @@ -30,11 +31,13 @@ public class DefaultModuleMetadata implements ModuleMetadata { private final JavaVersion javaVersion; private final ProjectDefinition projectDefinition; private final boolean ignoreUnnamedModuleForSplitPackage; + private final String jdkHome; public DefaultModuleMetadata(ProjectDefinition projectDefinition, Configuration configuration) { this.javaVersion = JavaVersionImpl.readFromConfiguration(configuration); this.projectDefinition = projectDefinition; this.ignoreUnnamedModuleForSplitPackage = configuration.getBoolean(SONAR_IGNORE_UNNAMED_MODULE_FOR_SPLIT_PACKAGE).orElse(false); + this.jdkHome = configuration.get(ClasspathProperties.SONAR_JAVA_JDK_HOME).orElse(""); } @Override @@ -42,6 +45,11 @@ public JavaVersion javaVersion() { return javaVersion; } + @Override + public String jdkHome() { + return jdkHome; + } + @Override public String moduleKey() { var root = getRootProject(); diff --git a/java-frontend/src/main/java/org/sonar/plugins/java/api/internal/ModuleMetadata.java b/java-frontend/src/main/java/org/sonar/plugins/java/api/internal/ModuleMetadata.java index fc544559b2..6d6f48ad5c 100644 --- a/java-frontend/src/main/java/org/sonar/plugins/java/api/internal/ModuleMetadata.java +++ b/java-frontend/src/main/java/org/sonar/plugins/java/api/internal/ModuleMetadata.java @@ -34,6 +34,11 @@ public interface ModuleMetadata { */ JavaVersion javaVersion(); + /** + * Returns the JDK home path of the module being analyzed. + */ + String jdkHome(); + /** * Returns the module key of the module being analyzed. */