diff --git a/src/main/java/org/jboss/tools/intellij/exhort/ApiService.java b/src/main/java/org/jboss/tools/intellij/exhort/ApiService.java index abe6d97..3817f5e 100644 --- a/src/main/java/org/jboss/tools/intellij/exhort/ApiService.java +++ b/src/main/java/org/jboss/tools/intellij/exhort/ApiService.java @@ -147,6 +147,20 @@ private void setRequestProperties(final String manifestName) { System.clearProperty("EXHORT_PREFER_MVNW"); } + String userSettingsFile = MavenSettingsUtil.getUserSettingsFile(); + if (!userSettingsFile.isBlank()) { + System.setProperty("EXHORT_MVN_USER_SETTINGS_FILE", userSettingsFile); + } else { + System.clearProperty("EXHORT_MVN_USER_SETTINGS_FILE"); + } + + String localRepository = MavenSettingsUtil.getLocalRepository(); + if (!localRepository.isBlank()) { + System.setProperty("EXHORT_MVN_LOCAL_REPOSITORY", localRepository); + } else { + System.clearProperty("EXHORT_MVN_LOCAL_REPOSITORY"); + } + if (settings.gradlePath != null && !settings.gradlePath.isBlank()) { System.setProperty("EXHORT_GRADLE_PATH", settings.gradlePath); } else { diff --git a/src/main/java/org/jboss/tools/intellij/settings/MavenSettingsUtil.java b/src/main/java/org/jboss/tools/intellij/settings/MavenSettingsUtil.java index fb2ae16..4f5f7b0 100644 --- a/src/main/java/org/jboss/tools/intellij/settings/MavenSettingsUtil.java +++ b/src/main/java/org/jboss/tools/intellij/settings/MavenSettingsUtil.java @@ -2,7 +2,6 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectManager; -import org.jetbrains.annotations.Nullable; import org.jetbrains.idea.maven.project.MavenGeneralSettings; import org.jetbrains.idea.maven.project.MavenHomeType; import org.jetbrains.idea.maven.project.MavenWorkspaceSettingsComponent; @@ -10,21 +9,39 @@ public final class MavenSettingsUtil { + private static MavenGeneralSettings mavenGeneralSettings; + private MavenSettingsUtil() { // no‑op } - @Nullable - public static boolean isMavenWrapperSelected() { - Project project; - Project[] openProjects = ProjectManager.getInstance().getOpenProjects(); - if (openProjects.length > 0) { - project = openProjects[0]; - } else { - project = ProjectManager.getInstance().getDefaultProject(); + private static MavenGeneralSettings getMavenGeneralSettings() { + if (mavenGeneralSettings == null) { + Project project; + Project[] openProjects = ProjectManager.getInstance().getOpenProjects(); + if (openProjects.length > 0) { + project = openProjects[0]; + } else { + project = ProjectManager.getInstance().getDefaultProject(); + } + mavenGeneralSettings = MavenWorkspaceSettingsComponent.getInstance(project).getSettings().getGeneralSettings(); } - MavenGeneralSettings settings = MavenWorkspaceSettingsComponent.getInstance(project).getSettings().getGeneralSettings(); + return mavenGeneralSettings; + } + + public static boolean isMavenWrapperSelected() { + MavenGeneralSettings settings = getMavenGeneralSettings(); MavenHomeType mavenHomeType = settings.getMavenHomeType(); return mavenHomeType instanceof MavenWrapper; } + + public static String getUserSettingsFile() { + MavenGeneralSettings settings = getMavenGeneralSettings(); + return settings.getUserSettingsFile(); + } + + public static String getLocalRepository() { + MavenGeneralSettings settings = getMavenGeneralSettings(); + return settings.getLocalRepository(); + } }