Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import org.jetbrains.intellij.platform.gradle.IntelliJPlatformType
import org.jetbrains.intellij.platform.gradle.TestFrameworkType
import org.jetbrains.intellij.platform.gradle.models.ProductRelease
import org.jetbrains.intellij.platform.gradle.tasks.VerifyPluginTask

plugins {
id("java") // Java support
Expand Down Expand Up @@ -99,6 +100,10 @@ val runIdeForUiTests by intellijPlatformTesting.runIde.registering {

intellijPlatform {
pluginVerification {
failureLevel = listOf(
VerifyPluginTask.FailureLevel.COMPATIBILITY_PROBLEMS,
VerifyPluginTask.FailureLevel.INTERNAL_API_USAGES
)
ides {
select {
types = listOf(IntelliJPlatformType.IntellijIdeaCommunity)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import org.jboss.tools.intellij.componentanalysis.gradle.build.psi.BuildGradleFile;
import org.jboss.tools.intellij.componentanalysis.gradle.build.psi.BuildGradleTypes;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.Arrays;

Expand All @@ -28,6 +29,9 @@ public GradleCAUpdateManifestIntentionAction(PsiElement element, DependencyRepor
@Override
protected void updateManifest(Project project, Editor editor, PsiFile file, DependencyReport dependency) {
PsiElement repositories = getRepositoriesFromBuildGradle(file);
if (repositories == null) {
return;
}
String repositoriesBlock = repositories.getText();
int lastRightCurlyBracket = repositoriesBlock.lastIndexOf("}");
repositoriesBlock = repositoriesBlock.substring(0,lastRightCurlyBracket);
Expand All @@ -44,10 +48,9 @@ protected void updateManifest(Project project, Editor editor, PsiFile file, Depe

}

private static @NotNull PsiElement getRepositoriesFromBuildGradle(PsiFile file) {
PsiElement repositories = Arrays.stream(file.getChildren()).filter(psi -> psi instanceof LeafPsiElement)
.filter(psi -> ((LeafPsiElement) psi).getElementType().getDebugName().equals(BuildGradleTypes.REPOSITORIES.getDebugName())).findFirst().get();
return repositories;
private static @Nullable PsiElement getRepositoriesFromBuildGradle(PsiFile file) {
return Arrays.stream(file.getChildren()).filter(psi -> psi instanceof LeafPsiElement)
.filter(psi -> ((LeafPsiElement) psi).getElementType() == BuildGradleTypes.REPOSITORIES).findFirst().orElse(null);
}

private static @NotNull String formatArtifactsRepository(String repositoryUrl) {
Expand All @@ -56,9 +59,12 @@ protected void updateManifest(Project project, Editor editor, PsiFile file, Depe

@Override
public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) {
PsiElement repositoriesFromBuildGradle = getRepositoriesFromBuildGradle(file);
if (repositoriesFromBuildGradle == null) {
return false;
}
final String mavenRhGa = "https://maven.repository.redhat.com/ga/";
String mavenGaRepo = formatArtifactsRepository(mavenRhGa);
PsiElement repositoriesFromBuildGradle = getRepositoriesFromBuildGradle(file);
return !(repositoriesFromBuildGradle.getText().contains(mavenGaRepo) || repositoriesFromBuildGradle.getText().contains(mavenRhGa));
}
}
Loading