diff --git a/platform/lang-impl/src/com/intellij/webcore/packaging/RepoPackage.java b/platform/lang-impl/src/com/intellij/webcore/packaging/RepoPackage.java index 444c205729ce..e91c960e3de8 100644 --- a/platform/lang-impl/src/com/intellij/webcore/packaging/RepoPackage.java +++ b/platform/lang-impl/src/com/intellij/webcore/packaging/RepoPackage.java @@ -10,7 +10,7 @@ import java.util.Collections; */ public class RepoPackage implements Comparable { private final String myName; - private final String myRepoUrl; + @Nullable final String myRepoUrl; @Nullable final String myLatestVersion; private final Collection myKeywords; @@ -18,11 +18,11 @@ public class RepoPackage implements Comparable { this(name, repoUrl, null); } - public RepoPackage(String name, String repoUrl, @Nullable String latestVersion) { - this(name, repoUrl, latestVersion, Collections.emptyList()); + public RepoPackage(String name, @Nullable final String repoUrl, @Nullable String latestVersion) { + this(name, repoUrl, latestVersion, Collections.emptyList()); } - public RepoPackage(String name, String repoUrl, @Nullable String latestVersion, Collection keywords) { + public RepoPackage(String name, @Nullable final String repoUrl, @Nullable String latestVersion, Collection keywords) { myName = name; myRepoUrl = repoUrl; myLatestVersion = latestVersion; @@ -33,6 +33,7 @@ public class RepoPackage implements Comparable { return myName; } + @Nullable public String getRepoUrl() { return myRepoUrl; } diff --git a/python/src/com/jetbrains/python/packaging/PyPIPackageUtil.java b/python/src/com/jetbrains/python/packaging/PyPIPackageUtil.java index 73cb24a71f5e..531e56b60cc5 100644 --- a/python/src/com/jetbrains/python/packaging/PyPIPackageUtil.java +++ b/python/src/com/jetbrains/python/packaging/PyPIPackageUtil.java @@ -109,6 +109,10 @@ public class PyPIPackageUtil { return Pair.create(pyPackage, null); } + public static boolean isPyPIRepository(@Nullable final String repository) { + return repository != null && repository.startsWith(PYPI_HOST); + } + public void fillAdditionalPackages(@NotNull final String url) { final boolean simpleIndex = url.endsWith("simple/"); final List packagesList = parsePyPIListFromWeb(url, simpleIndex); diff --git a/python/src/com/jetbrains/python/packaging/PyPackageService.java b/python/src/com/jetbrains/python/packaging/PyPackageService.java index b69bfcaf9609..9b3c7d99df5e 100644 --- a/python/src/com/jetbrains/python/packaging/PyPackageService.java +++ b/python/src/com/jetbrains/python/packaging/PyPackageService.java @@ -55,7 +55,7 @@ public class PyPackageService implements public void addRepository(String repository) { if (repository == null) return; - if (repository.startsWith(PyPIPackageUtil.PYPI_HOST)) { + if (PyPIPackageUtil.isPyPIRepository(repository)) { PYPI_REMOVED = false; } else { @@ -67,7 +67,7 @@ public class PyPackageService implements public void removeRepository(final String repository) { if (additionalRepositories.contains(repository)) additionalRepositories.remove(repository); - else if (repository.startsWith(PyPIPackageUtil.PYPI_HOST)) { + else if (PyPIPackageUtil.isPyPIRepository(repository)) { PYPI_REMOVED = true; } } diff --git a/python/src/com/jetbrains/python/packaging/ui/PyPackageManagementService.java b/python/src/com/jetbrains/python/packaging/ui/PyPackageManagementService.java index 23604ef2f3d8..25d878a42fa0 100644 --- a/python/src/com/jetbrains/python/packaging/ui/PyPackageManagementService.java +++ b/python/src/com/jetbrains/python/packaging/ui/PyPackageManagementService.java @@ -161,7 +161,7 @@ public class PyPackageManagementService extends PackageManagementServiceEx { public void installPackage(final RepoPackage repoPackage, String version, boolean forceUpgrade, String extraOptions, final Listener listener, boolean installToUser) { final String packageName = repoPackage.getName(); - final String repository = PyPIPackageUtil.PYPI_URL.equals(repoPackage.getRepoUrl()) ? null : repoPackage.getRepoUrl(); + final String repository = PyPIPackageUtil.isPyPIRepository(repoPackage.getRepoUrl()) ? null : repoPackage.getRepoUrl(); final List extraArgs = new ArrayList(); if (installToUser) { extraArgs.add(PyPackageManager.USE_USER_SITE); @@ -171,7 +171,7 @@ public class PyPackageManagementService extends PackageManagementServiceEx { Collections.addAll(extraArgs, extraOptions.split(" +")); } if (!StringUtil.isEmptyOrSpaces(repository)) { - extraArgs.add("--extra-index-url"); + extraArgs.add("--index-url"); extraArgs.add(repository); } if (forceUpgrade) {