From ef188e384855c6325e721fa83e38f5fda3ff1c02 Mon Sep 17 00:00:00 2001 From: Alexander Bubenchikov Date: Tue, 20 Oct 2020 20:51:06 +0300 Subject: [PATCH] Revert "IDEA-253347 add method remove repository by url to gradle-dsl" This reverts commit 845e5674 GitOrigin-RevId: a6e8a5d8713913e01c1472da6eb8fa9bbaa5dd8d --- .../repositories/RepositoriesModelImpl.java | 67 ++++++++----------- .../api/repositories/RepositoriesModel.java | 5 +- 2 files changed, 29 insertions(+), 43 deletions(-) diff --git a/plugins/gradle-dsl-impl/src/com/android/tools/idea/gradle/dsl/model/repositories/RepositoriesModelImpl.java b/plugins/gradle-dsl-impl/src/com/android/tools/idea/gradle/dsl/model/repositories/RepositoriesModelImpl.java index e2937ef0b874..6ead87da96ad 100644 --- a/plugins/gradle-dsl-impl/src/com/android/tools/idea/gradle/dsl/model/repositories/RepositoriesModelImpl.java +++ b/plugins/gradle-dsl-impl/src/com/android/tools/idea/gradle/dsl/model/repositories/RepositoriesModelImpl.java @@ -15,28 +15,36 @@ */ package com.android.tools.idea.gradle.dsl.model.repositories; -import com.android.tools.idea.gradle.dsl.api.repositories.RepositoriesModel; -import com.android.tools.idea.gradle.dsl.api.repositories.RepositoryModel; -import com.android.tools.idea.gradle.dsl.model.GradleDslBlockModel; -import com.android.tools.idea.gradle.dsl.parser.elements.*; -import com.android.tools.idea.gradle.dsl.parser.repositories.FlatDirRepositoryDslElement; -import com.android.tools.idea.gradle.dsl.parser.repositories.MavenRepositoryDslElement; -import com.android.tools.idea.gradle.dsl.parser.repositories.RepositoriesDslElement; -import com.intellij.psi.PsiElement; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import java.util.ArrayList; -import java.util.List; - +import static com.android.tools.idea.gradle.dsl.api.repositories.GoogleDefaultRepositoryModel.GOOGLE_DEFAULT_REPO_NAME; import static com.android.tools.idea.gradle.dsl.model.repositories.FlatDirRepositoryModel.FLAT_DIR_ATTRIBUTE_NAME; -import static com.android.tools.idea.gradle.dsl.model.repositories.GoogleDefaultRepositoryModelImpl.*; +import static com.android.tools.idea.gradle.dsl.model.repositories.GoogleDefaultRepositoryModelImpl.GOOGLE_DEFAULT_REPO_URL; +import static com.android.tools.idea.gradle.dsl.model.repositories.GoogleDefaultRepositoryModelImpl.GOOGLE_METHOD_NAME; +import static com.android.tools.idea.gradle.dsl.model.repositories.GoogleDefaultRepositoryModelImpl.URL; import static com.android.tools.idea.gradle.dsl.model.repositories.JCenterDefaultRepositoryModel.JCENTER_METHOD_NAME; import static com.android.tools.idea.gradle.dsl.model.repositories.MavenCentralRepositoryModel.MAVEN_CENTRAL_METHOD_NAME; import static com.android.tools.idea.gradle.dsl.parser.repositories.FlatDirRepositoryDslElement.FLAT_DIR; import static com.android.tools.idea.gradle.dsl.parser.repositories.MavenRepositoryDslElement.JCENTER; import static com.android.tools.idea.gradle.dsl.parser.repositories.MavenRepositoryDslElement.MAVEN; +import com.android.tools.idea.gradle.dsl.api.repositories.RepositoriesModel; +import com.android.tools.idea.gradle.dsl.api.repositories.RepositoryModel; +import com.android.tools.idea.gradle.dsl.model.GradleDslBlockModel; +import com.android.tools.idea.gradle.dsl.parser.elements.GradleDslElement; +import com.android.tools.idea.gradle.dsl.parser.elements.GradleDslExpressionMap; +import com.android.tools.idea.gradle.dsl.parser.elements.GradleDslMethodCall; +import com.android.tools.idea.gradle.dsl.parser.elements.GradleNameElement; +import com.android.tools.idea.gradle.dsl.parser.elements.GradlePropertiesDslElement; +import com.android.tools.idea.gradle.dsl.parser.repositories.FlatDirRepositoryDslElement; +import com.android.tools.idea.gradle.dsl.parser.repositories.MavenRepositoryDslElement; +import com.android.tools.idea.gradle.dsl.parser.repositories.RepositoriesDslElement; +import com.intellij.openapi.project.Project; +import com.intellij.psi.PsiElement; +import java.util.ArrayList; +import java.util.List; + +import com.intellij.util.text.VersionComparatorUtil; +import org.jetbrains.annotations.NotNull; + public class RepositoriesModelImpl extends GradleDslBlockModel implements RepositoriesModel { public RepositoriesModelImpl(@NotNull RepositoriesDslElement dslElement) { @@ -140,7 +148,7 @@ public class RepositoriesModelImpl extends GradleDslBlockModel implements Reposi * @param url address to use. */ @Override - public void addMavenRepositoryByUrl(@NotNull String url, @Nullable String name) { + public void addMavenRepositoryByUrl(@NotNull String url, @NotNull String name) { // Check if it is already there if (containsMavenRepositoryByUrl(url)) { return; @@ -148,9 +156,8 @@ public class RepositoriesModelImpl extends GradleDslBlockModel implements Reposi GradleNameElement nameElement = GradleNameElement.fake(MAVEN.name); MavenRepositoryDslElement newElement = new MavenRepositoryDslElement(myDslElement, nameElement); newElement.setNewLiteral("url", url); - if (name != null) { - newElement.setNewLiteral("name", name); - } + // name is an optional property, it can be nullable but at this point only non null values are used. + newElement.setNewLiteral("name", name); myDslElement.setNewElement(newElement); } @@ -165,32 +172,13 @@ public class RepositoriesModelImpl extends GradleDslBlockModel implements Reposi List elements = myDslElement.getPropertyElements(MavenRepositoryDslElement.class); for (MavenRepositoryDslElement element : elements) { String urlElement = element.getLiteral(URL, String.class); - if (repositoryUrl.equalsIgnoreCase(urlElement)) { + if (repositoryUrl.equals(urlElement)) { return true; } } return false; } - /** - * removes repository by URL - * @param repositoryUrl the URL of the repository to be removed. - * @return {@code true} if there is a repository using {@code repositoryUrl} as URL, {@code false} otherwise. - */ - @Override - public boolean removeRepositoryByUrl(@NotNull String repositoryUrl) { - List elements = myDslElement.getPropertyElements(MavenRepositoryDslElement.class); - for (MavenRepositoryDslElement element : elements) { - String urlElement = element.getLiteral(URL, String.class); - if (repositoryUrl.equalsIgnoreCase(urlElement)) { - myDslElement.removeProperty(element); - return true; - } - } - return false; - } - - /** * Look for Google Maven repository. If Gradle version is 4 or newer, look for it by method call and url. * If it is lower than 4, look only by url. @@ -210,4 +198,5 @@ public class RepositoriesModelImpl extends GradleDslBlockModel implements Reposi } return containsMavenRepositoryByUrl(GOOGLE_DEFAULT_REPO_URL); } + } diff --git a/plugins/gradle-dsl/src/com/android/tools/idea/gradle/dsl/api/repositories/RepositoriesModel.java b/plugins/gradle-dsl/src/com/android/tools/idea/gradle/dsl/api/repositories/RepositoriesModel.java index a277cc88a368..63dd78a492d8 100644 --- a/plugins/gradle-dsl/src/com/android/tools/idea/gradle/dsl/api/repositories/RepositoriesModel.java +++ b/plugins/gradle-dsl/src/com/android/tools/idea/gradle/dsl/api/repositories/RepositoriesModel.java @@ -18,7 +18,6 @@ package com.android.tools.idea.gradle.dsl.api.repositories; import com.android.tools.idea.gradle.dsl.api.util.GradleDslModel; import com.intellij.openapi.project.Project; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import java.util.List; @@ -32,12 +31,10 @@ public interface RepositoriesModel extends GradleDslModel { boolean containsMethodCall(@NotNull String methodName); - void addMavenRepositoryByUrl(@NotNull String url, @Nullable String name); + void addMavenRepositoryByUrl(@NotNull String url, @NotNull String name); boolean containsMavenRepositoryByUrl(@NotNull String repositoryUrl); - boolean removeRepositoryByUrl(@NotNull String repositoryUrl); - boolean hasGoogleMavenRepository(); }